/*
Theme Name: myNEURELIS
Description: A subtheme based on Bootstrap 3 for myNEURELIS website
Author: Steph Warsh
Client: Neurelis
*/

body,
html {
    margin-top: 0;
}

body {
    font-family: 'Ubuntu', sans-serif;
    color: #333;
    font-size: 17px;
    line-height: 1.67;
	overflow-x: hidden;
}

.container,
.navbar.container {
    padding: 0;
    width: 100%;
    max-width: 100%;
}

/* hide status messages */
.messages__wrapper {
    display: none;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
    margin-top: 0;
    margin-bottom: 0;
}

p {
    margin-bottom: 0;
}

.row,
.container > .navbar-header,
.container > .navbar-collapse {
    margin-right: 0;
    margin-left: 0;
}

.col-sm-12 {
    padding: 0;
}

.bold {
    font-weight: bold;
}

.italic {
    font-style: italic;
}

.underline {
    text-decoration: underline;
}

.blue {
    color: #001e61;
}

.orange {
    color: #f47e4d;
}

.mb-10 {
    margin-bottom: 10px;
}

/* registered trademark */
sup {
    font-size: 50%;
    top: -0.7em;
    font-weight: normal;
}

.container > .navbar-header,
.home-page-content,
.blue-band-section,
#block-aboutneurelis .about-content,
.ISI-block,
.region-footer {
    padding: 0 25px;
}


/* keep the logos from breaking the mobile view until I get the designs */
.logo img {
    max-width: 100%;
}


/**************************** ANIMATION ****************************/
/* css taken from https://github.com/daneden/animate.css */
.animated {
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    opacity: 0;
    position: relative; /* added by Steph Warsh */
}

@-webkit-keyframes fadeInUp {
    from {
      opacity: 0;
      -webkit-transform: translate3d(0, 25%, 0);
      transform: translate3d(0, 25%, 0);
    }
  
    to {
      opacity: 1;
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
  }
  
  @keyframes fadeInUp {
    from {
      opacity: 0;
      -webkit-transform: translate3d(0, 25%, 0);
      transform: translate3d(0, 25%, 0);
    }
  
    to {
      opacity: 1;
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
  }
  
  .fadeInUp {
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp;
  }

  /* media query for users who have selected the accessibility option to reduce motion */
  @media (print), (prefers-reduced-motion: reduce) {
    .animated {
      -webkit-animation-duration: 1ms !important;
      animation-duration: 1ms !important;
      -webkit-transition-duration: 1ms !important;
      transition-duration: 1ms !important;
      -webkit-animation-iteration-count: 1 !important;
      animation-iteration-count: 1 !important;
    }
  }


/**************************** ORANGE BUTTON ****************************/
.orange-button {
    background-color: transparent;
    border: 3px solid #f47e4d;
    border-radius: 33px;
    font-size: 17px;
    font-weight: bold;
    text-align: center;
    height: 55px;
    line-height: 55px;
    padding: 15px 30px;
}

#block-homepagehero .orange-button {
    padding: 15px 70.5px;
}

.orange-button:focus {
    text-decoration: none;
}

.orange-button.white-text,
.orange-button.white-text:focus {
    color: #fff;
}

.orange-button.orange-text {
    color: #f47e4d;
}

.orange-button.blue-text {
    color: #001e61;
}

.orange-button.solid-orange {
    background-color: #f47e4d;
}

.orange-button:hover,
.orange-button:active,
.orange-button:active:focus {
    text-decoration: none;
    color: #fff;
    background-color: #f47e4d;
}


/**************************** NAVBAR/HERO ****************************/
.container > .navbar-header {
    margin-top: 17px;
    height: 40px;
}

.navbar-default {
    background-color: transparent;
    background-image: url('../images/hero-mobile.png');
    background-repeat: no-repeat;
    background-position: 50% 100%;
    border: none;
    border: 0;
    border-radius: 0;
}

#block-homepagehero .hero-space {
    height: 75px;
}

/* logo */
.navbar .logo {
    /* overwrite styles from bootstrap */
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
}

.navbar .logo img {
    width: 340px;
    min-width: 100%;
}

.navbar-header {
    float: none;
    display: flex;
}

.region-logo,
.region-navigation {
    display: flex;
    align-self: center;
    width: 50%;
}

.region-navigation > nav {
    width: 100%;
    display: flex;
    justify-content: flex-end;
}

/* navigation links */
.navbar-nav {
    display: flex;
    margin: 0;
    justify-content: flex-end;
}

.region-navigation .nav > li {
    width: 65px;
    display: flex;
    justify-content: flex-end;
}

.navbar-default .navbar-nav > li > a {
    padding: 0;
    text-align: center;
    line-height: 22px;
    color: #fff;
}

.navbar-default .navbar-nav > li > a:focus,
.navbar-default .navbar-nav > li > a:hover {
    color: #fff;
    font-weight: bold;
}

/* overwrite less styles */
.nav > li > a:focus,
.nav > li > a:hover {
    background-color: transparent;
}

.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:focus,
.navbar-default .navbar-nav > .active > a:hover {
    background-color: transparent;
    color: #fff;
    font-weight: bold;
    border-bottom: 2px solid #0082ba;
}

/* phone number links */
a.phone {
    color: inherit;
    cursor: text;
    text-decoration: none;
}

a.phone:hover,
a.phone:focus {
    color: inherit;
    text-decoration: none;
}

/* hero */
.hero-content {
    padding: 0 25px;
    margin-top: 32px;
}

.region-header h1 {
    font-size: 44px;
    line-height: 50px;
    color: #f47e4d;
    font-weight: bold;
    margin-bottom: 24px;
}

#block-enrollhero .hero-content a {
    color: inherit;
    text-decoration: underline;
}

.hero-content p {
    color: #fff;
    margin-bottom: 25px;
}

.hero-content h3 {
    margin: 34px 0;
}

/* adding the hero image */
.hero-desktop {
    display: none;
}

.navbar-default {
    margin-bottom: 200px;
}

.subpage .navbar-default {
    margin-bottom: 160px;
}

.hero-content {
    position: relative;
}

.hero-image {
    position: absolute;
}

#block-homepagehero .hero-mobile {
    right: 0px; /* was -50px, but this broke the page on mobile devices */
    bottom: -170px;
    background-image: url(../images/hero-home.png);
    background-repeat: no-repeat; /* just in case */
    width: 215px; /* cuts off the right 50px of the image */
    height: 263px; /* manually set width and height based on size of image */
}

#block-enrollhero .hero-mobile {
    right: 0;
    bottom: -150px;
    background-image: url(../images/hero-enroll.png);
    background-repeat: no-repeat; /* just in case */
    width: 235px; /* cuts off the right 30px of the image */
    height: 268px; /* manually set width and height based on size of image */
}

#block-benefitshero .hero-mobile {
    right: 0;
    bottom: -120px;
    background-image: url(../images/hero-benefits.png);
    background-repeat: no-repeat; /* just in case */
    width: 235px; /* cuts off the right 30px of the image */
    height: 263px; /* manually set width and height based on size of image */
}

#block-benefitshero .hero-space {
    height: 100px;
}

#block-enrollhero .hero-space {
    height: 100px;
}

#block-notfoundhero .hero-space {
    height: 100px;
}


/**************************** HOME PAGE CONTENT ****************************/
.home-page-content h2 {
    font-size: 26px;
    line-height: 36px;
    color: #001e61;
    font-weight: bold;
    margin-bottom: 20px;
}

.home-page-content h3 {
    margin-top: 34px;
}

.home-page-content .page-section {
    margin-bottom: 75px;
}


/**************************** BLUE BAND SECTION ****************************/
.blue-band-container {
    background-color: #001e61;
    color: #fff;
}

.blue-band-section {
    padding-top: 43px;
    padding-bottom: 66px;
}

.blue-band-section .first-half {
    padding-bottom: 35px;
    border-bottom: 3px solid #0082ba;
}

.blue-band-section .first-half p,
.blue-band-section .first-half h2 {
    margin-bottom: 10px;
}

.blue-band-section .first-half img {
    margin-top: 30px;
}

.blue-band-section .second-half {
    padding-top: 46px;
}

.blue-band-section .second-half p {
    margin-bottom: 5px;
}

.blue-band-section .second-half h2 {
    margin-bottom: 40px;
}

.blue-band-section h2 {
    font-size: 26px;
    line-height: 36px;
    font-weight: bold;
}

div.border {
    height: 0px; /* hide on mobile */
}


/**************************** ABOUT NEURELIS ****************************/
#block-aboutneurelis {
    background-color: #f3f3f3;
    padding-top: 70px;
    padding-bottom: 70px;
    margin-bottom: 100px; /* for most of the space between this section and the ISI */
}

.about-content .logo {
    margin-bottom: 47px;
}

.about-content .logo img {
    width: 100%;
    max-width: 320px;
}


/**************************** INTERSTITIALS ****************************/
.modal-dialog {
    padding-right: 20px;
    padding-left: 20px;
    margin: 20px auto;
    max-width: 574px;
    text-align: center;
}

.modal-dialog .modal-content {
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.modal-dialog .modal-header {
    border: 0;
    padding-bottom: 8px;
}

.modal-dialog .close {
    color: #001e61;
    opacity: 1;
    text-shadow: none;
}

.modal-dialog .modal-body {
    padding: 0 20px 38px;
}

.modal-dialog h3 {
    font-size: 26px;
    line-height: 36px;
    font-weight: bold;
    color: #001e61;
}

.modal-dialog p {
    margin-top: 20px;
    font-size: 16px;
    line-height: 26px;
    color: #333;
}

/* div that contains the button(s) */
.modal-dialog .popup_cta {
    margin-top: 27px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.modal-dialog .popup_cta .orange-button {
    padding: 15px 60px;
    line-height: normal;
}

.modal-dialog .popup_cta.double-cta .orange-button:first-of-type {
    margin-bottom: 25px;
}

/* .modal-dialog .popup_cta a:nth-child(1) {
    margin-right: 12px;
}

.modal-dialog .popup_cta a:nth-child(2) {
    margin-left: 12px;
}

.modal-dialog .popup_cta.single-cta a:nth-child(1) {
    margin-right: 0;
} */

.modal-backdrop {
    background-color: #001e61;
    opacity: 0.6 !important;
}

/* #email-in-use .modal-dialog .popup_cta a:nth-child(1) {
    background-color: #fff;
    color: #004e59;
    border: solid 1px #004e59;
} */

/* @media only screen and (max-width: 375px) {
    .modal-dialog h4 {
        max-width: 264px;
    }

    .modal-dialog .popup_cta a:nth-child(1) {
        margin-right: 0;
        margin-bottom: 24px;
    }

    .modal-dialog .popup_cta.single-cta a:nth-child(1) {
        margin-bottom: 0;
    }
}

@media only screen and (max-width: 576px) {
    .modal-dialog {
        margin: 30px auto;
    }
}

@media only screen and (min-width: 376px) and (max-width: 767px) {
    .modal-dialog .popup_cta a:nth-child(1) {
        margin-right: 0;
        margin-bottom: 24px;
    }

    .modal-dialog .popup_cta.single-cta a:nth-child(1) {
        margin-bottom: 0;
    }
} */



















/**************************** FOOTER ****************************/
.footer {
    border-top: none;
    margin-top: 0;
    background-color: #f3f3f3;
}

#block-footerlogo {
    margin-bottom: 24px;
}

#block-footerlogo .logo img {
    width: 75%;
    max-width: 320px;
}

.region-footer {
    font-size: 12px;
    line-height: 20px;
    color: #001e61;
    padding-top: 32px;
    padding-bottom: 22px;
    position: relative; /* add this so chat module stays in the right place, right aligned with the container */
}

#block-myneurelis-footer {
    margin-bottom: 17px;
}

.region-footer .nav {
    display: flex;
    flex-wrap: wrap;
}

.region-footer .nav > li {
    padding-right: 7px;
}

.region-footer .nav > li.last {
    padding-right: 0;
}

.region-footer .nav > li > a {
    padding: 0;
    color: #001e61;
}

/* .region-footer .nav > li > a:focus,
.region-footer .nav > li > a:hover {
    color: #001e61;
} */

.region-footer p {
    margin-bottom: 10px;
}

.region-footer .footer-text p:last-of-type {
    margin-bottom: 0;
}

/* deal with wrapping menu */
/* no longer needed with recent updates */
/* .region-footer .nav > li:nth-of-type(4) {
    display: none;
} */


/**************************** ISI Block *********************/
.ISI-block {
    padding-top: 16px;
    margin-bottom: 97px;
}

.ISI-block h2,
.ISI-tray h2 {
    font-size: 17px;
    line-height: 25px;
    color: #001e61;
}

.ISI-block h2 {
    font-weight: 800;
    margin: 8px 0;
}

.ISI-block h2:first-of-type {
    margin: 0 0 5px;
}

.ISI-block ul {
    margin-left: 5px;
    padding-left: 1em;
}

.ISI-block li {
    padding-left: 15px;
}

.ISI-block a {
    text-decoration: underline;
    color: #333;
}

.ISI-block p {
    padding-bottom: 10px;
}


/**************************** ISI Tray *********************/
section.ISI-tray {
    background-color: #fff;
    position: fixed;
    z-index: 500;
    left: 0;
    bottom: 0;
    width: 100%;
    transform: translateY(100%) translateY(20px);
    transition: transform .5s;
    height: 25%;
    min-height: 150px;
    overflow-y: hidden;
}

section.ISI-tray.active {
    transform: translateY(0);
}

section.ISI-tray {
    background-color: #fff;
    box-shadow: 0 -1px 6px 0 #e6e6e6;
}

/********** links at top of ISI tray **********/
section.ISI-tray .quicklinks ul {
    list-style-type: none;
    line-height: normal;
    padding-left: 0;
}

section.ISI-tray .quicklinks ul li {
    display: inline-block;
    width: auto;
    left: inherit;
    text-align: left;
    padding-right: 4px;
}

section.ISI-tray .quicklinks ul li a {
    color: #001e61;
    text-decoration: underline;
}

/********** ISI tray content **********/
.isi-tray-arrow::after {
    position: absolute;
    content: "\f077";
    font-family: "Font Awesome 5 Free";
    right: 15px;
    color: #001e61;
    font-weight: bold;
    font-size: 25px;
}

section.ISI-tray .isi-tray-content {
    padding: 15px;
}

section.ISI-tray .isi-tray-content h2 {
    margin-top: 0;
    font-weight: bold;
    color: #001e61;
}

section.ISI-tray .isi-tray-content h2 a {
    color: #001e61;
}

section.ISI-tray .isi-tray-content h2 a:focus,
section.ISI-tray .isi-tray-content h2 a:hover {
    text-decoration: none;
}

section.ISI-tray .isi-tray-content h2 a:hover,
section.ISI-tray .isi-tray-content h2.title {
    cursor: pointer;
}

section.ISI-tray .isi-tray-content h2.title {
    margin-bottom: 10px;
}

section.ISI-tray .isi-tray-content p,
section.ISI-tray .isi-tray-content .isi-text ul {
    line-height: 25px;
    margin: 0;
}


/* CHAT MODULE */
#block-chatmodule .chat-module-container {
    position: fixed;
    bottom: 2%;
    right: 5px; /* to match the padding-right on the ISI and page in general */
    z-index: 1111111;
    line-height: 0;
    transition: none;
}

#block-chatmodule-2 {
    width: 100%;
    bottom: -20px; /* to get to the bottom of the footer past the 20px of padding-bottom on the region */
}

#block-chatmodule-2 .chat-module-container {
    position: absolute;
    right: 0;
    z-index: 1;
}

#block-chatmodule-2 .chat-module-container.closed {
    top: -55px;
}

/* keep the chat module about the ISI when the ISI is visible. active class added in script.js */
#block-chatmodule .chat-module-container.active {
    bottom: 27%;
}

/* make the chat button disappear once the page hits the ISI. remove class added in script.js */
#block-chatmodule .chat-module-container.remove {
    display: none;
}

/* keep the chat from disappearing when the ISI tray disappears, but only if it is open when you hit that point */
#block-chatmodule .chat-module-container.open.remove,
#block-chatmodule .chat-module-container.open.active,
#block-chatmodule-2 .chat-module-container.open {
    bottom: 0;
    display: block;
}

#block-chatmodule-2 .chat-module-container.open {
    top: auto;
}

/* keep the chat icon from disappearing if the chat module was open when the ISI tray disappeared but later the user minimizes it. stay class added in script.js */
#block-chatmodule .chat-module-container.remove.stay {
    display: block;
}

/* default state of chat module is to not show the chat box */
.chat-module-container iframe {
    display: none;
    border: 2px solid #ccc;
    border-width: 0 2px;
}

/* show the chat box when the button is clicked. open class added in script.js */
.chat-module-container.open iframe {
    display: block;
}

.chat-module-container .btn {
    background-color: transparent;
    border: 0;
    border-radius: 50%;
    display: block;
    outline: none;
    right: 0;
    position: relative;
    padding: 0;
    color: #fff;
}

.chat-module-container.open .btn {
    width: 300px;
    background-color: #f47e4d;
    border-radius: 6px 6px 0 0;
    padding: 6px 12px;
}

.chat-module-container .text.open {
    display: inline;
}

.chat-module-container.open .text.open {
    display: none;
}

.chat-module-container .text.chat-close {
    display: none;
}

.chat-module-container.open .text.chat-close {
    display: inline;
}

.chat-module-container .btn span.chat-hover {
    display: none;
}

/* hide icon that says "Live Chat"... */
.chat-module-container .btn span.chat-hover, /* ...when not hovering on minimized chat icon */
.chat-module-container .btn:focus span.chat-hover, /* ...when minimized chat icon is focused */
.chat-module-container.open .btn:hover span.chat-hover /* ...when chat box is open  */ {
    display: none;
}

.chat-module-container .btn:hover span.chat-hover { /* on hover of minimized chat icon, show icon that says "Live Chat" */
    display: block;
}

.chat-module-container .btn:hover span.text.open { /* on hover of minimized chat icon, hide icon with chat bubbles */
    display: none;
}




/* This media query doesn't work in the IE browser, so I had to set the default to be the regular hover states
 * that are unfortunately sticky/remain on touch devices. Because IE has discontinued its mobile browser, I can use
 * this media query to identify all the times a user is on a device that does not have hover (aka, this is only
 * relevant on mobile, which are all the browsers that support it). Then I overwrite the hover styles from above
 * so that the button doesn't change for a hover state on touch devices. */
@media (hover: none) {
    .chat-module-container.open .btn:hover span.chat-hover { /* on hover of opened chat icon, hide icon that says "Live Chat" */
        display: none;
    }
    
    .chat-module-container .btn:hover span.chat-hover { /* on hover of minimized chat icon, don't show icon that says "Live Chat" */
        display: none;
    }
    
    .chat-module-container .btn:hover span.text.open { /* on hover of minimized chat icon, keep showing icon with chat bubbles */
        display: block;
    }
    
    .chat-module-container.open .btn span.text.open { /* on hover of opened chat icon, hide icon with chat bubbles */
        display: none;
    }
}


/* Media queries run small to large. */
@media only screen and (min-width: 375px) {
    section.ISI-tray .isi-tray-content {
        padding: 15px 25px; /* more left and right padding on devices 375px wide and larger */
    }

    .isi-tray-arrow::after {
        right: 25px;
    }

    /* with more space on the screen, add more spacing to the ISI */
    section.ISI-tray .isi-tray-content h2,
    section.ISI-tray .isi-tray-content p {
        margin-bottom: 10px;
    }

    /**************************** ISI Tray *********************/
    /********** links at top of ISI tray **********/
    section.ISI-tray .quicklinks ul li {
        padding-right: 15px;
    }
}



/* this is when the last link in the footer menu gets on the same line as everything else */
@media only screen and (min-width: 377px) {
    /* push last li onto the next line by making it grow to 100% width */
    .region-footer .nav > li:nth-of-type(5) {
        flex: 1 1 100%;
    }
}



/* this is when the footer menu starts to be all on one line */
@media only screen and (min-width: 387px) {
    /* add the pipe character when all the items are on the same line */
    .region-footer .nav > li:nth-of-type(4) {
        display: block;
    }

    /* bring last li back onto same line by setting flex values back to default */
    .region-footer .nav > li:nth-of-type(5) {
        flex: 0 1 auto;
    }
}



@media only screen and (min-width: 400px) {
    #block-benefitshero .hero-mobile {
        bottom: -150px;
    }
}



@media only screen and (min-width: 465px) {
    .navbar-default {
        margin-bottom: 120px;
    }

    .enroll-page .navbar-default {
        margin-bottom: 100px;
    }

    .services-page .navbar-default {
        margin-bottom: 125px;
    }

    #block-homepagehero .hero-mobile {
        bottom: -100px;
    }

    #block-enrollhero .hero-mobile {
        bottom: -100px;
    }

    #block-benefitshero .hero-mobile {
        bottom: -100px;
    }

    #block-benefitshero .hero-text,
    #block-enrollhero .hero-text {
        width: 67%;
    }
}



@media only screen and (min-width: 576px) {
    /**************************** NAVBAR/HERO ****************************/
    .container > .navbar-header {
        margin-top: 36px;
    }

    .navbar-default {
        background-image: url('../images/hero-desktop.png');
    }

    #block-homepagehero .hero-mobile {
        right: 20px;
        width: 265px; /* reveal full image now that it's not supposed to appear to go off the edge of the page */
        bottom: -75px;
    }

    #block-benefitshero .hero-mobile {
        right: 20px;
        width: 265px;
    }

    #block-enrollhero .hero-mobile {
        right: 0;
        width: 245px;
    }

    /********** links at top of ISI tray **********/
    section.ISI-tray .quicklinks br {
        display: none;
    }
}



/* The smallest tablet width that QA tests at is 728px and the largest is 1024px (in portrait mode). */
/********** TABLET **********/
@media only screen and (min-width: 768px) {
    /**************************** NAVBAR/HERO ****************************/
    .region-navigation .nav > li.last {
        margin-left: 40px;
    }
    
    .navbar-default {
        margin-bottom: 80px;
    }

    .enroll-page .navbar-default {
        margin-bottom: 75px;
    }

    .services-page .navbar-default {
        margin-bottom: 100px;
    }

    #block-homepagehero .hero-space {
        height: 100px;
    }

    #block-homepagehero .hero-mobile {
        right: 50px;
    }

    #block-enrollhero .hero-mobile {
        right: 20px;
        bottom: -75px;
        width: 265px;
    }

    #block-benefitshero .hero-mobile {
        right: 10px;
        bottom: -75px;
    }


    /**************************** INTERSTITIALS ****************************/
    .modal-dialog {
        margin: 166px auto; /* move the interstitial down from the top of the screen */
    }

    /* div that contains the button(s) */
    .modal-dialog .popup_cta {
        flex-direction: row; /* put the buttons next to each other instead of stacked vertically */
        justify-content: center;
    }

    .modal-dialog .popup_cta.double-cta .orange-button {
        padding: 15px 50px;
    }

    .modal-dialog .popup_cta.single-cta .orange-button {
        padding: 15px 30px;
    }

    /* space between the buttons when they are next to each other */
    .modal-dialog .popup_cta.double-cta .orange-button:first-of-type {
        margin-bottom: 0;
        margin-right: 12px;
    }

    .modal-dialog .popup_cta.double-cta .orange-button:last-of-type {
        margin-left: 12px;
    }


    /**************************** FOOTER ****************************/
    /* overwrite styles on a class added automatically by the bootstrap theme to menu items with link <nolink> */
    .navbar-text {
        float: none;
    }


    /**************************** ISI *********************/
    ul.two-col {
        column-count: 2;
    }

    ul.three-col {
        column-count: 3;
    }


    /**************************** ISI Tray *********************/
    /********** links at top of ISI tray **********/
    section.ISI-tray .quicklinks ul li {
        padding-right: 62px;
    }

}



/********** DESKTOP **********/
@media only screen and (min-width: 992px) {
    .container > .navbar-header,
    .hero-content,
    .home-page-content,
    #block-aboutneurelis .about-content,
    section.ISI-tray .isi-tray-content,
    .ISI-block,
    .region-footer,
    .blue-band-section {
        width: 80%;
        margin: 0 auto;
        max-width: 1000px;
        padding-left: 0;
        padding-right: 0;
    }

    .isi-tray-arrow::after {
        right: 0;
        position: relative;
        float: right;
    }


    /**************************** NAVBAR/HERO ****************************/
    .container > .navbar-header {
        margin-top: 36px;
    }

    /* because of hero image */
    .hero-mobile {
        display: none;
    }

    .hero-desktop {
        display: block;
    }

    .navbar-default {
        background-position: calc(50% - 300px) 100%;
        margin-bottom: 0;
    }

    .subpage .navbar-default {
        background-position: calc(50% - 150px) 100%;
        margin-bottom: 30px;
    }

    .hero-text {
        width: 50%;
        padding-top: 59px;
    }

    #block-benefitshero .hero-text,
    #block-enrollhero .hero-text {
        padding-top: 85px;
    }

    #block-benefitshero .hero-text {
        width: 50%;
    }

    #block-enrollhero .hero-text {
        width: 60%;
    }

    #block-homepagehero .hero-space {
        height: 90px;
    }

    #block-benefitshero .hero-space,
    #block-enrollhero .hero-space {
        height: 122px;
    }

    #block-homepagehero .hero-desktop {
        right: 0;
        top: 14px;
        background-image: url(../images/hero-home-desktop.png);
        background-repeat: no-repeat;
        width: 462px;
        height: 460px;
    }

    #block-benefitshero .hero-desktop {
        left: 65%;
        top: 35px;
        background-image: url(../images/hero-benefits-desktop.png);
        background-repeat: no-repeat;
        width: 314px;
        height: 313px;
    }

    #block-enrollhero .hero-desktop {
        left: 65%;
        top: 310px; /* this value changes when there are drastic changes to the amount of content in the hero */
        background-image: url(../images/hero-enroll-desktop.png);
        background-repeat: no-repeat;
        width: 314px;
        height: 319px;
    }


    /**************************** HOME PAGE CONTENT ****************************/
    .home-page-content {
        display: flex;
        margin-top: 50px;
        margin-bottom: 135px;
    }
    
    .home-page-content .page-section {
        width: 50%;
        margin-bottom: 0;
        display: flex;
        flex-direction: column;
    }

    .home-page-content .page-section:first-of-type {
        padding-right: 34px;
    }

    .home-page-content .page-section:last-of-type {
        padding-left: 34px;
    }

    .home-page-content .page-section p {
        flex: 1 0 auto;
    }

    .home-page-content .page-section p a[href^="tel"]:hover,
    .home-page-content .page-section p a[href^="tel"]:focus,
    .home-page-content .page-section p a[href^="tel"]:visited,
    .home-page-content .page-section p a[href^="tel"]:active,
    .home-page-content .page-section p a[href^="tel"] {
        color: #333;
        text-decoration: none;
        cursor: auto;
    }


    /**************************** BLUE BAND SECTION ****************************/
    .blue-band-section {
        padding-top: 34px;
        padding-bottom: 34px;
        display: flex;
    }

    .blue-band-section .first-half,
    .blue-band-section .second-half {
        width: 50%;
        display: flex;
        align-items: center;
    }
    
    .blue-band-section .first-half {
        border-bottom: none;
        padding-bottom: 0;
        padding-right: 30px;
        align-self: center;
        justify-content: flex-end;
    }

    .call-text {
        max-width: 244px;
    }

    .blue-band-section .first-half h2 {
        white-space: nowrap;
    }

    .call-img {
        padding-left: 22px;
    }

    .blue-band-section .first-half img {
        margin-top: 0;
    }

    .blue-band-section .second-half {
        padding-top: 0;
        padding-left: 30px;
        justify-content: flex-start;
    }

    .blue-band-section .second-half h2 {
        margin-bottom: 0;
    }

    .enroll-text {
        max-width: 242px;
    }

    .enroll-button h3 a  {
        white-space: nowrap;
    }

    div.border {
        height: 167px;
        align-self: center;
        border-right: 3px solid #0082ba;
    }


    /**************************** ABOUT NEURELIS ****************************/
    .about-content {
        display: flex;
        align-items: center;
    }

    .about-content .logo,
    .about-content .text {
        width: 50%;
    }

    .about-content .logo {
        padding-right: 50px;
        margin-bottom: 0;
    }

    .about-content .logo img {
        max-width: 405px;
    }


    /**************************** INTERSTITIALS ****************************/
    .modal-dialog .modal-body {
        padding: 0 42px 38px;
    }


    /**************************** FOOTER ****************************/
    .region-footer {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
        height: 258px;
    }

    .region-footer .nav {
        margin-top: 27px;
    }

    #block-footerlogo,
    #block-myneurelis-footer,
    #block-footercontent {
        width: 50%;
    }

    #block-myneurelis-footer {
        display: flex;
        justify-content: flex-end;
        margin-bottom: 0;
    }

    #block-footercontent {
        text-align: right;
    }

    #block-footerlogo {
        position: relative;
        top: 75px;
    }


    /**************************** ISI Block *********************/
    .ISI-block  {
        padding: 0;
        margin-bottom: 120px;
    }

    .ISI-block p,
    .ISI-block li {
        margin-bottom:4px;
    }

    .ISI-block p:last-child {
        margin-bottom: 0;
    }


    /**************************** ISI Tray *********************/
    section.ISI-tray .isi-tray-content {
        padding: 8px 0;
    }

    section.ISI-tray .isi-tray-content p,
    section.ISI-tray .isi-tray-content .isi-text ul {
        margin-bottom: 10px;
    }


    /**************************** CHAT MODULE ****************************/
    #block-chatmodule .chat-module-container.closed {
        right: inherit; /* to match the right side spacing on the page */
    }


    #block-chatmodule .chat-module-container.open {
        right: 5px;
    }

    #block-chatmodule-2 .chat-module-container.closed {
        right: -15px;
    }
}



/* this is the point at which the hero h1 on the enroll page changes from 3 lines to 2, and the position of the hero image has to adjust accordingly */
@media only screen and (min-width: 1154px) {
    #block-enrollhero .hero-desktop {
        top: 260px;
    }
}



@media only screen and (min-width: 1200px) {

}



/* this is the point at which the side-by-side elements in each half break */
@media only screen and (min-width: 1213px) {
    
    .blue-band-section .first-half {
        padding-right: 79px;
    }

    .blue-band-section .second-half {
        padding-left: 66px;
    }

    .call-img {
        padding-left: 76px;
    }

    .enroll-button {
        padding-left: 22px;
    }

}



@media only screen and (min-width: 1250px) {
    #block-homepagehero .hero-desktop {
        left: 57%;
    }

    #block-homepagehero .hero-space {
        height: 90px;
    }

    #block-enrollhero .hero-desktop {
        top: 230px;
    }
}



/* point at which chat module goes off the edge of the screen */
@media only screen and (min-width: 1615px) {
    /**************************** CHAT MODULE ****************************/
    #block-chatmodule .chat-module-container {
        right: inherit; /* to match the right side spacing on the page */
    }
}