html {overflow-x:hidden;}

.row:before, .row:after {display: block;}

.hvr-sweep-to-right{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative;-webkit-transition-property:color;transition-property:color;-webkit-transition-duration:.3s;transition-duration:.3s}.hvr-sweep-to-right:before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;background:#D11342;border-radius:6px;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:0 50%;transform-origin:0 50%;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-sweep-to-right:active,.hvr-sweep-to-right:focus,.hvr-sweep-to-right:hover{color:#fff}.hvr-sweep-to-right:active:before,.hvr-sweep-to-right:focus:before,.hvr-sweep-to-right:hover:before{-webkit-transform:scaleX(1);transform:scaleX(1)}
.hvr-shutter-out-horizontal{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);position:relative;-webkit-transition-property:color;transition-property:color;-webkit-transition-duration:.3s;transition-duration:.3s}.hvr-shutter-out-horizontal:before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:0;right:0;background:#9c1b31;border:2px solid #9c1b31;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:50%;transform-origin:50%;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-shutter-out-horizontal:active,.hvr-shutter-out-horizontal:focus,.hvr-shutter-out-horizontal:hover{color:#fff}.hvr-shutter-out-horizontal:active:before,.hvr-shutter-out-horizontal:focus:before,.hvr-shutter-out-horizontal:hover:before{-webkit-transform:scaleX(1);transform:scaleX(1)}

.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; }
.embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

@media (min-width: 768px){
    .mobile-only {display:none;}
}
.display-none {display:none !important;}
.large-text {font-size: 1.4em;}
.center-text {text-align:center;}
.smaller-text {font-size: 0.9em;}
.reversed {color:#ffffff;}
.txt-wt-600 {font-weight: 600;}
.col-centered {
    float: none;
    margin-left: auto;
    margin-right: auto;
}
.row-flex-center {
	 display: -ms-flexbox;
	 display: flex;
	 flex-direction: row;
	 flex-wrap: wrap;
	 align-items: center;
	 justify-content: center;
}
h2.block-title {
    text-align: center;
    margin-bottom: 40px;
}

h2.block-title span {
    color: #ffffff;
    font-size: 4rem;
    font-weight: 900;
    line-height: 6.4rem;
    padding: 10px 28px;
    position: relative;
    text-align: center;
    text-transform: uppercase;
}
h2.block-title span.h2red-dark {background-color: #9c1b31; border: 1px solid #ffffff;}
h2.block-title span.h2red-light {background-color: #c72e47; z-index:100;}
h2.block-title span.h2gray {background-color: #838080;}

h2.block-title span.left2 {right:2rem;}
h2.block-title span.left4 {right:4rem;}
h2.block-title span.left6 {right:6rem;}
h2.block-title span.right2 {left:2rem;}
h2.block-title span.right4 {left:4rem;}
h2.block-title span.right6 {left:6rem;}

section.bg-red {background-color: #9c1b31; color:#ffffff;}
section.bg-blue {background-color: #8bb6b4; color:#ffffff;}
section.bg-gray {background-color: #eeeeee;}

.bg-gray {
	background-color: #eeeeee;
}

.rounded-corners {
    border-radius: 10px;
}

@media (min-width: 992px){
    .flex-md-row {
        display: -ms-flexbox!important;
        display: flex!important;
        align-items: center;
    }
    .text-md-left {
        text-align: left;
    }
}
.button-red {
    background-color: #9c1b31;
    border-radius: 6px;
    color: #ffffff;
    cursor: pointer;
    display: inline-block;
    font-weight: 600;
    padding: 13px 24px;
}
.button-red:hover, .button-red:active{
    color: #ffffff;
    text-decoration: none;
}
.button-teal {
    background-color: #8bb6b4;
    border-radius: 6px;
    color: #ffffff;
    cursor: pointer;
    display: inline-block;
    font-weight: 600;
    padding: 13px 24px;
    transition: all 0.35s ease-in-out 0s;
}
.button-teal:hover, .button-teal:active {
    background-color: #ffffff;
    color: #8bb6b4;
    text-decoration: none;
}
.button-reversed-border {
    background-color: transparent;
    border: 1px solid #ffffff;
    border-radius: 6px;
    color: #ffffff;
    cursor: pointer;
    display: inline-block;
    font-weight: 600;
    padding: 13px 24px;
    transition: all 0.35s ease-in-out 0s;
}
.button-reversed-border:hover, .button-reversed-border:active {
    background-color: #ffffff;
    border: 1px solid #9c1b31;
    color: #9c1b31;
    text-decoration: none;
}

.button-red-gradient {
    background-color: #9c1b31;
    background: linear-gradient(60deg, rgba(156,27,49,1) 25%, rgba(208,44,44,1) 92%);
    color: #ffffff;
    border: 1px solid #ffffff;
    border-radius: 6px;
    padding: 14px 22px 14px 24px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    font-size: 1.2em;
    font-weight: 600;
    transition: all .35s ease-in-out;
    width: 100%;
}

.button-red-gradient:hover, .button-red-gradient:active {
    background: linear-gradient(60deg, rgba(208,44,44,1) 25%, rgba(156,27,49,1) 92%);
    color: #ffffff;
    text-decoration: none;
    transform:scale(1.1,1.1);
}

.button-large {
    font-size: 1.4em;
    margin-top: 25px;
    padding: 18px 36px;
}
.button-large-red-border {
    background-color: none;
    border: 2px solid #9c1b31;
    border-radius: 6px;
    color: #9c1b31;
    display: inline-block;
    font-size: 1.6em;
    font-weight: 600;
    padding: 12px 24px;
}
.button-large-red-border:hover, .button-large-red-border:active {
    color: #ffffff;
    text-decoration: none;
}
.bg-process-step-number {
    position: absolute;
    top: -37px;
    left: -38px;
    color: #8bb6b4;
    border: 6px solid #8bb6b4;
    border-radius: 50%;
    width: 120px;
    margin: 0;
    height: 120px;
    opacity: 0.2;
    z-index: -50;
    font-size: 6rem;
    padding: 0;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
}

.darken-opacity-0, .darken-opacity-10, .darken-opacity-20, .darken-opacity-30 {
    background-blend-mode: darken;
}
.darken-opacity-10{
    background-color: rgba(0,0,0,0.1);
}
.darken-opacity-20{
    background-color: rgba(0,0,0,0.2);
}
.darken-opacity-30{
    background-color: rgba(0,0,0,0.3);
}
.banner .banner-container .banner-heading{
	font-size:2.2em;
	text-shadow: 0px 0px 9px rgba(79, 48, 58, 0.7);
}
@media (min-width: 768px){
    .banner .banner-container .banner-heading{
	    font-size:3em;
    }
}
 @supports (display: flex){
	 .banner .banner-container{
		 height:100%;
		 display:-webkit-box;
		 display:-moz-box;
		 display:-ms-flexbox;
		 display:-webkit-flex;
		 display:flex;
		 -webkit-flex-direction:column;
		 -moz-flex-direction:column;
		 -ms-flex-direction:column;
		 flex-direction:column;
		 -webkit-align-items:center;
		 -moz-align-items:center;
		 -ms-align-items:center;
		 align-items:center;
		 -webkit-justify-content:center;
		 -moz-justify-content:center;
		 -ms-justify-content:center;
		 justify-content:center;
		 -ms-flex-pack:center;
	}
	 @media (min-width: 768px){
		 .banner.lg.pull-up .banner-container{
			 -webkit-justify-content:center;
			 -moz-justify-content:center;
			 -ms-justify-content:center;
			 justify-content:center;
			 -ms-flex-pack:center; 
		}
	}
}
.notice-box {
    font-size: 0.88em;
    margin-bottom: -45px;
}

.notice-box .col-centered {
    background-color: #f0f0f0;
    padding: 32px;
}

.notice-box .notice-icon {
    bottom: 30px;
    color: #9c1b31;
    float: right;
    font-size: 3em;
    opacity: 0.4;
    position: relative;
}


.content-box-shadow-null {
    z-index:1;
	position:relative;
	height:100%;
	margin-bottom:-260px;
}
.component-visit-days{
	padding: 290px 0 70px;
}
@media (min-width: 992px){
	.component-visit-days{
		padding: 300px 0 75px;
	}
}
.intro-text {
    margin-bottom:60px;
    margin-top: 10px;
}
.img-responsive {
    width:100%;
}
h2.img-headline {
    color: #ffffff;
    font-size: 2em;
    font-weight: 600;
    position: absolute;
    top: 44%;
    left: 50%;
    text-align: center;
    transform: translate(-50%, -50%);
}
@media (min-width: 768px){
	h2.img-headline {
		font-size: 1.4em;
	}
}
@media (min-width: 992px){
	h2.img-headline {
		font-size: 1.8em;
	}
}
@media (min-width: 1200px){
	h2.img-headline {
		font-size: 2em;
	}
}
.main-cards .col-sm-6 {
    padding-left: 0;
    padding-right: 0;
}
.main-cards img {
    -webkit-filter: brightness(0.5);
    filter: brightness(0.5);
}
.main-cards .modal-img-wrapper {
    background-color: #be2828;
    flex: 1 1 100%;
    height: 100%;
    overflow: hidden;
}
.main-cards .modal-img-wrapper:hover img {
    filter: grayscale(100%);
    mix-blend-mode: multiply;
}
.modal-backdrop, 
.modal-backdrop.fade.in{
	opacity: 0.5;
	filter: alpha(opacity=70);
	background: #fff;
}
.modal-dialog {width: 90%; margin: 20px auto;}
@media (min-width: 768px){
	.modal-dialog {max-width: 945px; width:80%;}
}
@media (min-width: 992px){
    .modal-dialog {width: 945px;}
}
.modal-header {
    border-bottom: none;
    padding: 30px 50px 15px;
}
h5.modal-title {
    float:left;
    font-size: 3em;
    font-weight: 800;
    text-transform: uppercase;
    width: 82%;
}
.modal-header .close {
    color: #8bb6b4;
    font-size: 40px;
    margin-top: -5px;
    margin-right: -15px;
    opacity: 0.5;
}
.modal-header .close:hover, .modal-header .close:active {
    color: #8bb6b4;
    opacity: 0.8;
}
.modal-body {
    padding: 10px 50px 30px;
}
.modal-body .row:first-child {
    margin-bottom: 20px;
}
@media (max-width: 767px){
.modal-body .mobile-hidden {display:none;}
h5.modal-title {font-size: 2em;}
.modal-header .close {font-size: 30px;}
.modal-body {font-size:0.92em;}
}
h6.modal-column-heading {
    color: #8bb6b4;
    font-family: 'Oswald', 'Teko', 'Open Sans', sans-serif;
    font-size: 1.65em;
    font-weight: 500;
    text-transform: capitalize;
}
.modal-body h6 a {
    color: #8bb6b4;
    text-decoration: none;
}
.modal-body h6 a .fa {
    font-size: 0.5em;
    position: relative;
    bottom: 4px;
}
.modal-body h6 a:hover, .modal-body h6 a:active {
    color: #6F9190;
    text-decoration: none;
}
.modal-footer {
    background-color: #625454;
    border-top: none;
    margin-top: 20px;
}
.modal-footer a.modal-link-next {
    color: #ffffff;
    float: right;
    font-weight: 600;
}
.modal-footer a.modal-link-prev {
    color: #ffffff;
    float: left;
    font-weight: 600;
}

.component-highlight.component-highlight-blue:after {
    background-color: #8bb6b4 !important;
}
.component-highlight.component-highlight-red{
    color: #ffffff;
}
.component-highlight.component-highlight-red:after {
    background-color: #9c1b31 !important;
}
.visit-days-container {
    display:flex;
}

.visit-days-heading {
    font-size: 2.3em;
    margin-bottom: 25px;
}
.visit-day-entry:nth-child(n+5) {
    display: none;
}
.visit-days-all {
    display: block !important;
}

.visit-day-entry, .visit-days-all {
    border-bottom: 1px solid rgba(255,255,255, 0.6);
    color: #ffffff;
    padding: 18px 0px 20px;
}
.visit-day-entry p, .visit-days-all p {
    line-height: 1;
    margin: 0;
}
.visit-month {
    font-family: 'Teko', 'Open Sans', sans-serif;
    font-size: 1.4em;
    font-weight: 300;
    line-height: 0.5 !important;
    text-align: center;
    text-transform: uppercase;
}
.large-date {
    color: #ffffff;
    font-family: 'Abril Fatface', serif;
    font-size: 2.8em;
    text-align: center;
}
.visit-info-caps {
    color: #ffffff;
    font-family: 'Teko', 'Open Sans', sans-serif;
    font-size: 1.55em;
    position: relative;
    text-transform: uppercase;
}
.visit-button {
    margin-top: 10px;
}
@media (max-width: 767px){
    .visit-day-entry p.center-text {
        text-align: left;
    }   
}

@media (min-width: 768px){
	.visit-day-entry, .visit-days-all {
        padding: 24px 0px 15px;
    }
	.visit-button {
        margin-top: 8px;
    }
}
@media (min-width: 992px){
	.large-date {
        font-size: 3em;
    }
	.visit-info-caps {
		font-size: 1.75em;
	}
}
#more-visit-days, #less-visit-days {
    color: #ffffff;
    border-color: #ffffff;
    font-size: 1.3em;
    margin-top: 38px;
}
#more-visit-days:hover, #more-visit-days:active, #less-visit-days:hover, #less-visit-days:active {
    cursor: pointer;
    background-color: #ffffff;
    color: #8bb6b4;
}
h2.heading-social-media {
    font-size: 2.3em;
    font-weight: 600;
}
.social-icons {
    display: inline-block;
}
@media (min-width: 768px){
    .social-icons {
        -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
        justify-content: center !important;
        display: -webkit-box!important;
        display: -ms-flexbox!important;
        display: flex!important;
    }
}
.social-icons a.social-icon {
    color: #9c1b31;
    font-size: 3.4em;
    display: inline-block;
    margin: 12px 0px;
}
.social-icons a.social-icon:hover, .social-icons a.social-icon:active {
    color: #D11342;
}
.rankings-slider {
    height: 100%;
    padding: 50px 0px 130px;
    position: relative;
}
.rankings-slider:after {
    content: "";
    position: absolute;
    display: block;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    top: 0;
    height: 100%;
    width: 100vw;
    background-color: #D11342;
    z-index: -2;
}
.rankings-slider h2 {
    color: #ffffff;
    font-size: 2.8em;
    font-weight: 600;
    margin: 0 3%;
}
.slick-slider {
    margin: 2%;
}
.slide-contents {
    background: #ffffff;
    margin: 5px;
    min-height: 430px;
    padding: 12%;
}
.slide-contents .rank {
    color: #000000;
    font-family: 'Abril Fatface', serif;
    font-size: 6em;
    line-height: 1em;
}
.slide-contents .rank-img {
    width: 72%;
    margin: 0 auto;
}
.slide-contents .rank-title {
    color: #404040;
    font-size: 2.0em;
    font-weight: 400;
    margin-bottom: 36px;
    margin-top: 8px;
}
.slide-contents .source {
    color: #8bb6b4;
    font-style: italic;
}
.next {
    cursor: pointer;
    background: #8bb6b4;
    float: right;
    color: #ffffff;
    font-size: 1.7em;
    padding: 12px 12px 9px 17px;
    border-radius: 50% 50%;
    margin-top: 10px;
    margin-right: 38%;
}
.prev {
    cursor: pointer;
    background: #8bb6b4;
    float: right;
    color: #ffffff;
    font-size: 1.7em;
    padding: 12px 17px 9px 12px;
    border-radius: 50% 50%;
    margin-top: 10px;
    margin-right: 6px;
}
.slick-disabled {
    opacity: 0.6;
}
@media (min-width: 768px){
    .next {
        margin-top: 0px;
        margin-right: 6%;
        margin-bottom: 10px;
    }
    .prev {
        margin-top: 0px;
        margin-bottom: 10px;
    }
    .rankings-slider .slick-track {
        left: 15% !important;
    }
    .rankings-slider h2 {
        margin: 30px 10% 30px;
    }
    .slick-slider {
        margin: 0;
    }
    .slide-contents {
        min-height: 478px;
    }
}
.video-slick-slider .slick-slide {
    margin: 15px;
}

.ending-page-cta-container {
    height: 100%;
    margin-bottom: -30px;
    padding: 70px 0px 100px;
    position: relative;
}
.ending-page-cta-container:after {
    content: "";
    position: absolute;
    display: block;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    top: 0;
    height: 100%;
    width: 100vw;
    background: repeating-linear-gradient(
        -45deg,
        #8bb6b4,
        #8bb6b4 40px,
        #8ebab8 40px,
        #8ebab8 80px
    );
    z-index: -2;
}
@media (min-width: 768px){
    .ending-page-cta {
        margin-bottom: 0;
        -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
        justify-content: center !important;
        display: -webkit-box!important;
        display: -ms-flexbox!important;
        display: flex!important;
    }
}
@media (min-width: 1400px){
    .ending-page-cta {
        margin-bottom: 40px;   
    }
}
@media (min-width: 1550px){
    .ending-page-cta {
        margin-bottom: 68px;   
    }
}
@media (min-width: 1700px){
    .ending-page-cta {
        margin-bottom: 100px;   
    }
}
.ending-page-cta-container h2 {
    color: #ffffff;
    font-size: 2.3em;
    font-weight: 600;
}
@media (max-width: 767px){
    .ending-page-cta .button-large {
        margin-top: 0px;
        margin-bottom: 15px;
    }
}
.main-fact .fact {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
    -ms-flex-pack: center
}

.main-fact .fact img {
    width: 33.33%;
    padding: 10px;
}

@media (min-width:992px) {
    .main-fact .fact img {
        width: 50%;
    }
}

@media (min-width:768px) {
    .application-process {
        padding: 75px 0;
    }
}

.rwd-table {
	 margin: 1em 0;
	 width: 100%;
}
 .rwd-table th {
	 display: none;
	 margin: .5em 1em;
}
 .rwd-table td {
	 display: block;
	 margin: .5em 1em;
}
 .rwd-table td:first-child {
	 padding-top: .5em;
}
 .rwd-table td:last-child {
	 padding-bottom: .5em;
}
 .rwd-table td:not(:first-child):before {
	 content: attr(data-th)": ";
	 font-weight: bold;
	 width: 6.5em;
	 content display: inline-block;
}
 .rwd-table tr:not(:first-child) {
	 border-top: 2px solid #404040;
}

@media (min-width: 468px) {
	 .rwd-table tr {
		 text-align: left;
	}
	 .rwd-table td:before {
		 display: none;
	}
	 .rwd-table th, .rwd-table td {
		 display: table-cell;
		 padding: .25em .5em;
	}
	 .rwd-table tr td:not(:first-child), .rwd-table tr th:not(:first-child) {
		 border-left: 2px solid #404040;
	}
}

.icon-list-row p {
    color: #9c1b31;
    display: flex;
    font-size: 1.14em;
    line-height: 1.6;
    margin: 15px 0px 15px 60px;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
}

.icon-list-row .fas {
    font-size: 2em;
    min-width: 46px;
}

ul.checkmark-list {
    list-style-type: none;
    padding-left: 50px;
    font-size: 1.14em;
    line-height: 1.6;
    color: #9c1b31;
}

ul.checkmark-list li {
    margin-bottom: 6px;
}

ul.checkmark-list li:before {
    color: #9c1b31;
    content: "\f058";
    font-family: FontAwesome;
    font-size: 1.2em;
    display: inline-block;
    margin: 0 12px 0 -30px;
}
.application-row, .row-imp-dates {
    display: flex;
    flex-wrap: wrap;
}
.application-row .col-xs-12, .row-imp-dates .col-xs-12 {
    margin-bottom: 30px;
}
.app-box {
    background-color: #9c1b31;
    background: linear-gradient(60deg, rgba(156,27,49,1) 25%, rgba(208,44,44,1) 92%);
    color: #ffffff;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 270px;
    padding: 30px;
    text-align: center;
    align-items: center;
    justify-content: center;
    align-content: center;
}
.app-box h3, .row-imp-dates h3 {
    margin-top: 0;
    text-align: center;
}
.app-box a {color: #ffffff;}

.app-box a.app-button {
    border: 1px solid #ffffff;
    padding: 10px 22px 10px 24px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    font-weight: 600;
    transition: all .35s ease-in-out;
    width: 100%;
}
.app-box a.app-button:hover {
    background-color: #ffffff;
    color: #9c1b31;
    text-decoration: none;
    transform:scale(1.1,1.1);
}
.date-box {
    background-color: #ffffff;
    border: 1px solid #9c1b31;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 210px;
    padding: 18px;
    text-align: center;
    align-items: center;
    justify-content: center;
    align-content: center;
}
.date-box h3 {
    color: #9c1b31;
}
.date-box p {
    font-size: 0.88em;
}

.cta-footer-bar {
    position: fixed;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60px;
    background-color: #d21437;
    z-index: 2000;
}
.cta-footer-bar .item {
    text-align: center;
}
.cta-footer-bar .item a.button-reversed-border {
    padding: 10px 30px;
    text-align: center;
}

@media (max-width: 992px){
    .px-xs-2{
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
    }
}
@media (min-width: 992px){
    .cta-footer-bar {
        bottom: unset;
        left: unset;
        top: 30%;
        right: 0;
        width: 130px;
        height: 200px;
        padding: 10px;
        flex-direction: column;
        -webkit-box-shadow: -2px 1px 6px 1px rgba(0,0,0,0.4);
        -moz-box-shadow: -2px 1px 6px 1px rgba(0,0,0,0.4);
        box-shadow: -2px 1px 6px 1px rgba(0,0,0,0.4);
    }
    .cta-footer-bar .item {
        width: 100%;
    }
    .cta-footer-bar .item a.button-reversed-border {
        padding: 5px 10px;
        width: 100%;
    }
}


