  body{
    margin:0;
    padding:0;
    min-width:320px;
    background-color:#fff;
}
body.modal{
    overflow:hidden;
}
img{
    max-width:100%;
}
h1, h2 {
    font-size: 26px;
    font-family: "Open Sans";
    font-weight:300;
    margin: 0;
    margin-bottom:0.5em;
}
h3{
    font-size: 24px;
    font-family: "Open Sans";
    font-weight: 300;
    margin:0;
    margin-bottom:0.5em;
}
p {
    font-size: 16px;
    font-family: "Open Sans";
    font-weight: 400;
    margin: 0;
    line-height: 1.429;
}
section{
    padding-top:1em;
    padding-bottom:2em;
}
a{
    color:#90f6ff;
}
.container{
    width:85%;
    margin:0 auto;
}
.sr-only{
    position:absolute;
    left:-10000px;
    top:auto;
    width:1px;
    height: 1px;
    overflow:hidden;
}
.mobile-none{
    display:none;
}
.mobile-full{
    width:100%;
}
.inverse-text{
    color:#fff;
}
.no-pad{
    padding:0;
}
.clear:after{
    content:" ";
    visibility: hidden;
    display:block;
    height:0;
    clear:both;
}
.centered{
    text-align: center;
}
#hero{
    margin:0;
    padding:0;
    margin-bottom:-4px;
    position:relative;
}
#hero img{
    width: 100%;
}
.hero-text{
    position:absolute;
    left: 47%;
    top: 35%;
    width:50%;
    font-family: "Open Sans";
    color:#000;
}
.hero-text h1{
    font-size: 20px;
    max-width: 165px;
}
.hero-text p{
    font-weight: 300;
}
#lead-in, #journey-start{
    min-height: 250px;
}
#lead-in{
    background-color:#fff;
    float:left;
}
#lead-in img{
    margin:0 auto;
    margin-top:1.5em;
}
#journey-start{
    background-color:#303030;
    float:right;
}
#programs{
    background-color:#910039;
    padding-bottom:4em;
    padding-top:4em;
}
#program-icons{
    display:flex;
    justify-content: space-between;
    align-items:center;
    flex-wrap:wrap;
    width:100%;
    max-width:1250px;
    margin:0 auto;
    margin-top:3em;
}
#program-icons>.col{
    width:50%;
    margin-top:1em;
}
#program-icons>.col:last-of-type{
    width:100%;
}
#program-icons .icon-text{
    font-size:14px;
}
#program-icons img,
#program-icons svg{
    width: 66px;
    height: 66px;
}
#student-life{
    background-color:#f9f9f9;
    padding-top:4em;
    padding-bottom:4em;
}
#student-life>.container{
    max-width:1250px;
}
.student-life-copy{
    max-width:85%;
    margin:0 auto;
}
#accolades{
    background-color:#fff;
    padding-top:4em;
    padding-bottom: 4em;
}
#foot-form-container{
    background-color:#303030;
    border-bottom:7px solid black;
}
.quote{
    line-height: 1;
    max-width:400px;
    font-weight:300;
    margin:0 auto;
}
.quote:before,
.quote:after{
    color:#d2d2d2;
    font-size:70px;
    position:relative;
    font-weight:1000;
    font-family: "Open Sans"
}
.quote:before{
    left:-53%;
    top:60px;
    content:"\201c";
}
.quote:after{
    left:53%;
    top:-35px;
    content:"\201d";
}
#student-life-videos-container{
    margin:0 auto;
    margin-top:1em;
    width: 100%;
    display:flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1em;
}
.student-life-video{
    width:100%;
    margin-top:1em;
    position:relative;
    text-align: center;
    align-items: center;
}
.student-life-video-cover{
    width:280px;
    height: 157px;
    position:relative;
}
.cover-container{
    position: relative;
    margin:0 auto;
    width:280px;
    z-index:15;
}
.hover-container{
    width:100%;
    z-index:20;
}
.hover-container:hover{
    cursor: pointer;
}
.hover-container:focus{
    height:105%;
    width:104%;
    text-align:left;
}
.play-button,
.focus-button{
    position:absolute;
    right: 20px;
    bottom: 15px;
    width: 35px;
}
.hover-container:hover svg circle.outline{
    fill: #910039;
    /*this and the style below are for play/focus button highlighting on hover*/
}
.hover-container:hover svg path{
    stroke:#910039;
}
.accolade-imgs-container{
    display:flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width:100%;
    max-width: 1150px;
    margin:0 auto;
    margin-top:2em;
}
.accolade-img{
    width: 100%;
    text-align: center;
}
.disclaimer{
    margin-top: 1em;
    font-size: 12px;
}
form{
    width:95%;
    margin-top:1em;
    text-align:center;
}
.form-group{
    display:flex;
    justify-content: space-between;
    flex-wrap:wrap;
    width:100%;
}
input{
    padding:1em;
    padding-right:0;
    padding-left:10px;
    width:calc(100% - 10px);
    margin:1em 0;
    display:block;
    border:0;
    font-family: "Open Sans";
    font-weight: bold;
    background-color: #f0f0f0;
}
.legal-agree{
    position:relative;
    margin-top:1em;
}
.legal-agree>label{
    display:block;
    width:87%;
    font-family: "Open Sans";
    font-size: 14px;
    text-align: left;
    float:right;
}
.legal-agree>input[type="checkbox"]{
    visibility: hidden;
    height:0;
    position:absolute;
    left:-900px;
}
.legal-agree-box{
    width:25px;
    height:25px;
    position:absolute;
    background-color:#f0f0f0;
}
.legal-agree-box:hover{
    cursor:pointer;
}
.legal-agree-input:checked ~ .legal-agree-box:after{
    content:"\2717";
    color:#000;
    font-size:22px;
    position:relative;
    top:-6px;
}
form>button{
    margin:0 auto;
    margin-top:2em;
    border-radius:20px;
    border:0;
    padding:1em 2em;
    font-weight: bold;
    background-color: #fff;
    color:#565656;
    box-shadow: 5px 5px 5px #000;
}
form>button:hover{
    cursor: pointer;
    box-shadow: 3px 3px 3px #000;
    position:relative;
    top:2px;
    left:2px;
}
.zip-code-input{
    width: calc(50% - 20px);
}
.age-input{
    width: calc(50% - 10px);
    margin-right:0;
}
.mt-1{
    margin-top:1em;
}
#modals{
   /* display:none; */
   width:100%;
   background-color: rgb(0,0,0); /* Fallback color */
   background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
   z-index:999;
   position:fixed;
   top:0px;
   padding-top:75px;
   padding-bottom:75px;
   height: 90vh;
   overflow:scroll;
}
#modals.closed{
    display:none;
}
.modal-container{
    width: 100%;
    background-color:#fff;
    padding-bottom: 25px;
}
.internal-modal-container{
    display:none;
}
.internal-modal-container.active{
    display:block;
}
.internal-modal-container img,
.internal-modal-container iframe{
    width:100%;
}
.internal-modal-container iframe{
    min-height:245px;
    border: none;
}
.modal-caption-header,
.modal-caption{
    margin: 20px;
}
.modal-caption-header{
    font-weight: 400;
}
.modal-caption a{
    color: #0000EE;
}
.modal-caption a:visited{
    color: #551A8B;
}
#modal-close:before{
    content:"\2716";
    position:absolute;
    top:1em;
    right: 0.5em;
    font-size:32px;
    color:#000;
}
.modal-controls{
    position:fixed;
    top:50vh;
}
#modal-back:hover,
#modal-forward:hover,
#modal-close:hover{
    cursor:pointer;
}
#modal-back:hover:before,
#modal-forward:hover:before,
#modal-close:hover:before{
    color:#000;
}
#modal-back:before,
#modal-forward:before{
    color:#000;
    font-size:42px;
    position:absolute;
    top: 0em;
    z-index:1000;
}
#modal-back:before{
    content:"❮";
    left:0em;
}
#modal-forward:before{
    content:"❯";
    width: 21.56px;
    left: calc(100vw - 21.56px);
}
.quote-author{
    margin-top: -2.5em;
}
.form-lead-in{
    margin-bottom:1em !important;
    margin-top: -0.5em !important;
}
/*FormStack Style Updates*/
.fsBody{
    max-width: 100%;
    padding:0;
}
.fsForm.fsMaxCol3{
    width:auto;
}
.fsBody .fsPage{
    min-width:0;
    max-width: 100%;
}
.fsBody .fsForm{
    padding:0;
    margin:0;
    float: none;
}
label#label64908434, label#label64908434-2{
    margin-bottom:14px;
}
label{
    font-family: "Open Sans";
}
/*FormStack Edge fix*/
@media only screen and (min-width:700px){
    .fsFieldRow .fsFieldCell.fsSpan33{
        width: calc((92% / 3) - 2%);
    }
}
/*Large Phone fonts*/
@media only screen and (min-width:576px){
    .hero-text h1{
        font-size:30px;
        max-width:180px;
    }
}
/*Tablet Size*/
@media only screen and (min-width:751px){
    h1, h2{
        font-size:40px;
    }
    p{
        font-size:20px;
    }
    .mobile-none{
        display:block;
    }
    .tablet-half{
        width:50%;
    }
    .hero-text{
        top: 32.5%;
    }
    .hero-text h1{
        font-size: 32px;
        width: 90%;
        max-width:380px;
        margin:0;
    }
    .hero-text p{
        font-size: 20px;
        margin-top:0.5em;
        max-width: 500px;
    }
    #lead-in, #journey-start{
        min-height:785px;
    }
    #program-icons>.col{
        width:33%;
    }
    #program-icons>.col:last-of-type,
    #program-icons>.col:nth-last-child(2){
        width:50%;
    }
    .quote{
        max-width:75%;
    }
    .student-life-video{
        width: 50%;
    }
    #accolades>container{
        max-width:1000px;
    }
    .accolade-img{
        width:25%;
    }
    .disclaimer{
        margin-top: 2em;
        font-size: 14px;
    }
    .modal-container{
        max-width:800px;
        width:75%;
        margin:0 auto;
    }
    .modal-controls{
        position:relative;
        top:0;
    }
    #modal-close:before{
        color:#fff;
    }
    #modal-back:before,
    #modal-forward:before{
        color:#fff;
        top: -12em;
    }
    .internal-modal-container{
        margin:0 auto;
        text-align: center;
    }
    .internal-modal-container img,
    .internal-modal-container iframe{
        width:calc(100% - 2em);
        margin:1em;
    }
    .internal-modal-container iframe{
        min-height:375px;
    }
    .modal-text{
        text-align: left;
    }
    #modal-back:before{
        left: -1.5em;
    }
    #modal-forward:before{
        right:-1.5em;
        left:auto;
    }
    #foot-form-container{
        text-align:center;
    }
    #foot-form-container>.container{
        max-width:75%;
    }
    #foot-form-container input{
        margin-right:0px;
    }
    #foot-form-container input.first-name-input{
        width: calc(50% - 20px);
    }
    #foot-form-container input.last-name-input{
        width: calc(50% - 10px);
    }
    #foot-form-container input.email-input{
        width: 55%;
    }
    #foot-form-container input.zip-code-input{
        width: calc(25% - 20px);
    }
    #foot-form-container input.age-input{
        width: calc(20% - 30px);
    }
}
/*Tablet (ONLY) Size*/
@media only screen and (min-width:751px) and (max-width:1250px){
    #student-life-videos-container{
        max-width:630px;
    }
    .student-life-video{
        margin-top:2em;
    }
    .fsLabel{
        position:relative;
    }
    .fsLabel .fsRequiredMarker{
        position:absolute;
    }
}
/*small-fix: form heights & FormStack*/
@media only screen and (min-width:1026px){
    #lead-in, #journey-start{
        min-height:520px;
    }
    fieldset#label64952670-2{
        width: 65%;
        max-width: 825px;
        margin: 0 auto;
    }
    fieldset#label64952670-2 input{
        margin-left: 1em;
    }
}
/*Desktop Size*/
@media only screen and (min-width:1251px){
    h1, h2{
        font-size:40px;
    }
    p{
        font-size: 20px;
    }
    .desktop-half{
        width:50%;
    }
    .desktop-fortyfive{
        width: 45%;
    }
    .hero-text{
        top: 40%;
        left: 45%;
    }
    .hero-text h1{
        max-width: 500px;
    }
    .hero-text p{
        font-size: 19px;
        max-width: 100%;
    }
    #program-icons>.col{
        width:auto !important;
    }
    .desktop-left{
        float:left;
    }
    .desktop-right{
        float:right;
    }
    #lead-in, #journey-start{
        min-height:600px;
    }
    .student-life-video{
        width: 25%;
    }
    .quote{
        max-width:590px;
    }
    .legal-agree>label{
        width: 94%;
    }
    input{
        margin-right: 0;
        margin-left: 0;
    }
    #foot-form-container input.first-name-input,
    #foot-form-container input.last-name-input,
    #foot-form-container input.email-input{
        width: calc((75% / 3) - 15px);
    }
    #foot-form-container input.zip-code-input,
    #foot-form-container input.age-input{
        width: calc((25% / 2) - 15px);
    }
    #journey-start>.container{
        max-width:85%;
        margin: 0 5%;
    }
    #journey-start input.first-name-input{
        width: calc(50% - 20px);
    }
    #journey-start input.last-name-input{
        width: calc(50% - 10px);
    }
    #journey-start input.email-input{
        width: calc(55% - 30px);
    }
    #journey-start input.zip-code-input{
        width: calc(25% - 20px);
    }
    #journey-start input.age-input{
        width: calc(20% - 10px);
    }
    #programs p{
        max-width:850px;
        margin:0 auto;
    }
}
/*small-fix: video cover max widths*/
@media only screen and (min-width:1251px) and (max-width:1370px){
    .student-life-video-cover{
        max-width:90%;
    }
}
/*Desktop Modals*/
@media only screen and (min-width:1501px){
    .modal-container{
        max-width:1500px;
        padding-bottom:0;
    }
    .internal-modal-container.active{
        display: flex;
        flex-wrap: wrap;
    }
    .internal-modal-container img,
    .internal-modal-container iframe{
        width: calc(100% - 1em);
    }
    .internal-modal-container iframe{
        min-height:500px;
    }
    .modal-embed{
        width: 55%;
    }
    .modal-text{
        width: 45%;
        height:100%;
        margin-top:1em;
    }
    #modal-back:before,
    #modal-forward:before{
        position:fixed;
        top:8.5em;
        font-size:50px;
    }
    #modal-back:before{
        left:2em;
    }
    #modal-forward:before{
        right:2em;
    }
}
/*small-fix:form heights & hero-text font resize*/
@media only screen and (min-width:1701px){
    #lead-in, #journey-start{
        min-height:601px;
    }
    .hero-text h1{
        font-size:36px;
    }
    .hero-text p{
        font-size:26px;
    }
}
/*Max Size*/
@media only screen and (min-width:2501px){
    main{
        width:2500px;
        border-left: 1px solid #000;
        border-right: 1px solid #000;
        margin:0 auto;
    }
    section, #hero, #modals{
        width:2500px;
        margin:0 auto;
    }
    .desktop-half{
        max-width:1250px;
        width:50%;
    }
    #hero{
        margin-bottom: -4px;
    }
    #modal-back:before,
    #modal-forward:before{
        position:absolute;
        top:-400px;
    }
    #modal-back:before{
        left:-200px;
    }
    #modal-forward:before{
        right:-200px;
    }
    .hero-text h1{
        font-size:45px;
        max-width: 600px;
    }
    .hero-text p{
        font-size: 35px;
    }
}