/* ------------------------------------------------------------------------------------------------------- */

.top-banner-image-top-fade-top-default {
position: absolute;
left: 0;
right: 0;
top: 0;
z-index: 1;
width: 100%;
height: 50%;
margin: 0 0 0 0;
padding: 0 0 0 0;
background: rgba(0,0,0,0);
background: linear-gradient(180deg, rgba(221,241,253,1) 0%, rgba(221,241,253,0) 100%);
}

.top-banner-image-top-fade-top {
position: absolute;
left: 0;
right: 0;
bottom: 0;
z-index: -5;
width: 100%;
height: 100%;
margin: 0 0 -25px 0;
padding: 0 0 0 0;
background: rgba(0,0,0,0);
background: linear-gradient(180deg, rgba(221,241,253,1) 0%, rgba(221,241,253,1) 66%, rgba(221,241,253,0) 100%);
}

/* ------------------------------------------------------------------------------------------------------- */

.banner-text-shadow-white {
text-shadow: 0px 0px 12.5px rgba(255,255,255,0.925);
}

/* ------------------------------------------------------------------------------------------------------- */

.text-purple {
color: #693E89;
}

/* ------------------------------------------------------------------------------------------------------- */

.banner-container {
width: 100%;
max-width: 100%;
height: 625px; /* + 73px */
margin: 0 0 0 0;
padding: 0 0 0 0;
position: relative;
overflow: hidden;
background: #DDF1FD;
}

.banner-slide {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
opacity: 0;
-webkit-transition: opacity 1s ease-in-out;
-moz-transition: opacity 1s ease-in-out;
-ms-transition: opacity 1s ease-in-out;
-o-transition: opacity 1s ease-in-out;
transition: opacity 1s ease-in-out;
display: flex;
justify-content: center;
align-items: center;
}

.banner-slide.active {
opacity: 1;
}

.banner-slide img {
width: 100%;
height: 100%;
object-fit: cover;
}

.banner-nav {
position: absolute;
z-index: 5;
top: 50%;
margin: 0 0 0 0;
padding: 37.5px 0 0 0;
width: 100%;
display: flex;
justify-content: space-between;
-webkit-transform: translateY(-50%);
-moz-transform: translateY(-50%);
-ms-transform: translateY(-50%);
-o-transform: translateY(-50%);
transform: translateY(-50%);
}

.banner-nav button {
background: transparent;
color: white;
border: none;
margin: 0 0 0 0;
padding: 12.5px 1.25% 12.5px 1.25%;
cursor: pointer;
-webkit-box-shadow: 0 0 0 0 rgba(255,255,255,0);
-moz-box-shadow: 0 0 0 0 rgba(255,255,255,0);
-ms-box-shadow: 0 0 0 0 rgba(255,255,255,0);
-o-box-shadow: 0 0 0 0 rgba(255,255,255,0);
box-shadow: 0 0 0 0 rgba(255,255,255,0);
}

.top-banner-button-left {
-webkit-border-radius: 0 0 0 0;
-moz-border-radius: 0 0 0 0;
-ms-border-radius: 0 0 0 0;
-o-border-radius: 0 0 0 0;
border-radius: 0 0 0 0;
-webkit-box-shadow: 0 0 0 0 rgba(255,255,255,0);
-moz-box-shadow: 0 0 0 0 rgba(255,255,255,0);
-ms-box-shadow: 0 0 0 0 rgba(255,255,255,0);
-o-box-shadow: 0 0 0 0 rgba(255,255,255,0);
box-shadow: 0 0 0 0 rgba(255,255,255,0);
}

.top-banner-button-right {
-webkit-border-radius: 0 0 0 0;
-moz-border-radius: 0 0 0 0;
-ms-border-radius: 0 0 0 0;
-o-border-radius: 0 0 0 0;
border-radius: 0 0 0 0;
-webkit-box-shadow: 0 0 0 0 rgba(255,255,255,0);
-moz-box-shadow: 0 0 0 0 rgba(255,255,255,0);
-ms-box-shadow: 0 0 0 0 rgba(255,255,255,0);
-o-box-shadow: 0 0 0 0 rgba(255,255,255,0);
box-shadow: 0 0 0 0 rgba(255,255,255,0);
}

/* ------------------------------------------------------------------------------------------------------- */

.animate-item {
-webkit-animation: fadeinupwards 1s ease-out forwards;
-moz-animation: fadeinupwards 1s ease-out forwards;
-ms-animation: fadeinupwards 1s ease-out forwards;
-o-animation: fadeinupwards 1s ease-out forwards;
animation: fadeinupwards 1s ease-out forwards;
opacity: 0;
}

@-webkit-keyframes fadeinupwards {
from {
-webkit-transform: translateY(50px);
opacity: 0;
}
to {
-webkit-transform: translateY(0);
opacity: 1;
}
}

@-moz-keyframes fadeinupwards {
from {
-moz-transform: translateY(50px);
opacity: 0;
}
to {
-moz-transform: translateY(0);
opacity: 1;
}
}

@-ms-keyframes fadeinupwards {
from {
-ms-transform: translateY(50px);
opacity: 0;
}
to {
-ms-transform: translateY(0);
opacity: 1;
}
}

@-o-keyframes fadeinupwards {
from {
-o-transform: translateY(50px);
opacity: 0;
}
to {
-o-transform: translateY(0);
opacity: 1;
}
}

@keyframes fadeinupwards {
from {
transform: translateY(50px);
opacity: 0;
}
to {
transform: translateY(0);
opacity: 1;
}
}

/* ------------------------------------------------------------------------------------------------------- */

.banner-item {
background-color: rgba(255, 255, 255, 0.8);
padding: 20px;
border-radius: 5px;
text-align: center;
font-size: 20px;
color: #333;
}

/* ------------------------------------------------------------------------------------------------------- */

.top-banner-background {
position: absolute;
z-index: 0;
width: 100%;
height: 100%;
margin: 0 0 0 0;
padding: 0 0 0 0;
display: flex;
justify-content: center;
align-items: center;
}

.top-banner-wrapper-small {
position: absolute;
z-index: 1;
width: 767px;
margin: 0 auto 0 auto;
padding: 37.5px 0 0 0;
display: flex;
justify-content: center;
align-items: center;
}

.top-banner-wrapper {
position: absolute;
z-index: 1;
width: calc(100% - 40%);
margin: 0 20% 0 20%;
padding: 37.5px 0 0 0;
display: flex;
justify-content: center;
align-items: center;
}

.top-banner-wrapper-left {
position: absolute;
left: 0;
z-index: 2;
width: calc(100% - 637.5px + 25px + 75px);
margin: 0 0 0 0;
padding: 0 0 0 0;
}

.top-banner-wrapper-left-hourly-plan {
position: absolute;
left: 0;
z-index: 2;
width: calc(100% - 637.5px);
margin: 0 0 0 0;
padding: 0 0 0 0;
}

.top-banner-wrapper-right {
position: absolute;
right: 0;
z-index: 4;
width: calc(637.5px - 50px);
margin: 0 0 0 0;
padding: 0 0 0 0;
}

.top-banner-wrapper-right img {
display: block;
width: 100%;
margin: 0 0 0 0;
padding: 0 0 0 0;
opacity: 1;
outline: 0;
border: 0px solid #DDF1FD;
-webkit-border-radius: 0 0 0 0;
-moz-border-radius: 0 0 0 0;
-ms-border-radius: 0 0 0 0;
-o-border-radius: 0 0 0 0;
border-radius: 0 0 0 0;
}

.top-banner-image-top {
position: absolute;
left: 0;
right: 0;
top: 0;
z-index: 0;
width: 100%;
height: 50%;
margin: 0 0 0 0;
padding: 0 0 0 0;
background: transparent;
background-image: url("");
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}

.top-banner-image-center {
position: absolute;
left: 0;
right: 0;
z-index: 0;
width: 100%;
height: 413px;
margin: 0 0 -62.5px 0;
padding: 0 0 0 0;
background: transparent;
background-image: url("");
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}

.top-banner-image-center-easter {
position: absolute;
left: 0;
right: 0;
z-index: 0;
width: 100%;
height: 220px;
margin: 0 0 0 0;
padding: 0 0 0 0;
background: transparent;
background-image: url("");
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}

.top-banner-image-bottom {
position: absolute;
left: 0;
right: 0;
bottom: 0;
z-index: 0;
width: 100%;
height: 50%;
margin: 0 0 0 0;
padding: 0 0 0 0;
background: transparent;
background-image: url("");
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}

.top-new-left {
display: inline-block;
width: auto;
margin: 0 25px 0 0;
padding: 9.375px 18.75px 9.375px 18.75px;
-webkit-border-radius: calc(17.5px / 2) calc(17.5px / 2) calc(17.5px / 2) calc(17.5px / 2);
-moz-border-radius: calc(17.5px / 2) calc(17.5px / 2) calc(17.5px / 2) calc(17.5px / 2);
-ms-border-radius: calc(17.5px / 2) calc(17.5px / 2) calc(17.5px / 2) calc(17.5px / 2);
-o-border-radius: calc(17.5px / 2) calc(17.5px / 2) calc(17.5px / 2) calc(17.5px / 2);
border-radius: calc(17.5px / 2) calc(17.5px / 2) calc(17.5px / 2) calc(17.5px / 2);
background: #23046E;
}

.top-banner-image-top-background-fade {
position: absolute;
left: 0;
right: 0;
bottom: 0;
z-index: 0;
width: 100%;
height: 75%;
margin: 0 0 0 0;
padding: 0 0 0 0;
}

.top-banner-image-top-fade {
opacity: 1;
}

.top-banner-image-top-fade::after {
-webkit-mask-image: linear-gradient(to bottom, pink 0%, transparent 100%);
-moz-mask-image: linear-gradient(to bottom, pink 0%, transparent 100%);
-ms-mask-image: linear-gradient(to bottom, pink 0%, transparent 100%);
-o-mask-image: linear-gradient(to bottom, pink 0%, transparent 100%);
mask-image: linear-gradient(to bottom, pink 0%, transparent 100%);
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
}

/* ------------------------------------------------------------------------------------------------------- */

#snowflakecontainer {
position: absolute;
z-index: 1;
left: 0px;
top: 0px;
display: none;
width: 100%;
height: 100%;
}

.snowflake {
position: absolute;
z-index: 1;
background-color: rgba(0,0,0,0.125);
user-select: none;
z-index: 1000;
pointer-events: none;
-webkit-border-radius: 50%;
-moz-border-radius: 50%;
-ms-border-radius: 50%;
-o-border-radius: 50%;
border-radius: 50%;
width: 15px;
height: 15px;
background: rgba(0,0,0,0.125);
}

/* ------------------------------------------------------------------------------------------------------- */

.main-section .rotating-banner-title-text-size-1 {
font-weight: 900;
font-size: 2.725em;
letter-spacing: -0.0175em;
line-height: 1;
margin: 0 0 0 0;
padding: 0 0 25px 0;
}

/* ------------------------------------------------------------------------------------------------------- */

.pop-up-text-banner {
position: relative;
z-index: 100;
top: 0;
left: 0;
right: 0;
width: 100%;
height: calc(72.5px * 2);
margin: 0 0 -100px 0;
padding: calc(72.5px - 5px) 0 0 0;
background: #DDF1FD;
display: flex;
justify-content: center;
align-items: center;
}

/* ------------------------------------------------------------------------------------------------------- */

.text-yellow {
color: #F1E91F;
}

/* ------------------------------------------------------------------------------------------------------- */

.top-banner-circle-left-container {
position: relative;
width: 30px;
height: 35px;
margin: 0 0 0 0;
padding: 0 0 0 0;
}

.top-banner-circle-left-1 {
position: absolute;
top: -1.5px;
left: 7.5px;
width: 7.5px;
height: 25px;
margin: 0 5px 0 0;
padding: 0 0 0 0;
border: 2px solid #1F27F1;
background: #1F27F1;
text-decoration: none;
cursor: pointer;
-webkit-border-radius: 1000px 1000px 1000px 1000px;
-moz-border-radius: 1000px 1000px 1000px 1000px;
-ms-border-radius: 1000px 1000px 1000px 1000px;
-o-border-radius: 1000px 1000px 1000px 1000px;
border-radius: 1000px 1000px 1000px 1000px;
-webkit-transition: all 0.125s ease-in-out;
-moz-transition: all 0.125s ease-in-out;
-ms-transition: all 0.125s ease-in-out;
-o-transition: all 0.125s ease-in-out;
transition: all 0.125s ease-in-out;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-ms-transform: rotate(45deg);
-o-transform: rotate(45deg);
transform: rotate(45deg);
}

.top-banner-circle-left-1:hover {
border: 2px solid #23046E;
background: #23046E;
text-decoration: none;
cursor: pointer;
-webkit-transition: all 0.125s ease-in-out;
-moz-transition: all 0.125s ease-in-out;
-ms-transition: all 0.125s ease-in-out;
-o-transition: all 0.125s ease-in-out;
transition: all 0.125s ease-in-out;
}

.top-banner-circle-left-1:active {
border: 2px solid #23046E;
background: #23046E;
text-decoration: none;
cursor: pointer;
-webkit-transition: all 0.125s ease-in-out;
-moz-transition: all 0.125s ease-in-out;
-ms-transition: all 0.125s ease-in-out;
-o-transition: all 0.125s ease-in-out;
transition: all 0.125s ease-in-out;
}

.top-banner-circle-left-2 {
position: absolute;
bottom: -1.5px;
left: 7.5px;
width: 7.5px;
height: 25px;
margin: 0 5px 0 0;
padding: 0 0 0 0;
border: 2px solid #1F27F1;
background: #1F27F1;
text-decoration: none;
cursor: pointer;
-webkit-border-radius: 1000px 1000px 1000px 1000px;
-moz-border-radius: 1000px 1000px 1000px 1000px;
-ms-border-radius: 1000px 1000px 1000px 1000px;
-o-border-radius: 1000px 1000px 1000px 1000px;
border-radius: 1000px 1000px 1000px 1000px;
-webkit-transition: all 0.125s ease-in-out;
-moz-transition: all 0.125s ease-in-out;
-ms-transition: all 0.125s ease-in-out;
-o-transition: all 0.125s ease-in-out;
transition: all 0.125s ease-in-out;
-webkit-transform: rotate(-45deg);
-moz-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
-o-transform: rotate(-45deg);
transform: rotate(-45deg);
}

.top-banner-circle-left-2:hover {
border: 2px solid #23046E;
background: #23046E;
text-decoration: none;
cursor: pointer;
-webkit-transition: all 0.125s ease-in-out;
-moz-transition: all 0.125s ease-in-out;
-ms-transition: all 0.125s ease-in-out;
-o-transition: all 0.125s ease-in-out;
transition: all 0.125s ease-in-out;
}

.top-banner-circle-left-2:active {
border: 2px solid #23046E;
background: #23046E;
text-decoration: none;
cursor: pointer;
-webkit-transition: all 0.125s ease-in-out;
-moz-transition: all 0.125s ease-in-out;
-ms-transition: all 0.125s ease-in-out;
-o-transition: all 0.125s ease-in-out;
transition: all 0.125s ease-in-out;
}

.top-banner-circle-left-container:hover .top-banner-circle-left-1, .top-banner-circle-left-container:focus .top-banner-circle-left-1 {
border: 2px solid #23046E;
background: #23046E;
text-decoration: none;
cursor: pointer;
-webkit-transition: all 0.125s ease-in-out;
-moz-transition: all 0.125s ease-in-out;
-ms-transition: all 0.125s ease-in-out;
-o-transition: all 0.125s ease-in-out;
transition: all 0.125s ease-in-out;
}

.top-banner-circle-left-container:hover .top-banner-circle-left-2, .top-banner-circle-left-container:focus .top-banner-circle-left-2 {
border: 2px solid #23046E;
background: #23046E;
text-decoration: none;
cursor: pointer;
-webkit-transition: all 0.125s ease-in-out;
-moz-transition: all 0.125s ease-in-out;
-ms-transition: all 0.125s ease-in-out;
-o-transition: all 0.125s ease-in-out;
transition: all 0.125s ease-in-out;
}

.top-banner-circle-right-container {
position: relative;
width: 30px;
height: 35px;
margin: 0 0 0 0;
padding: 0 0 0 0;
}

.top-banner-circle-right-1 {
position: absolute;
top: -1.5px;
right: 7.5px;
width: 7.5px;
height: 25px;
margin: 0 5px 0 0;
padding: 0 0 0 0;
border: 2px solid #1F27F1;
background: #1F27F1;
text-decoration: none;
cursor: pointer;
-webkit-border-radius: 1000px 1000px 1000px 1000px;
-moz-border-radius: 1000px 1000px 1000px 1000px;
-ms-border-radius: 1000px 1000px 1000px 1000px;
-o-border-radius: 1000px 1000px 1000px 1000px;
border-radius: 1000px 1000px 1000px 1000px;
-webkit-transition: all 0.125s ease-in-out;
-moz-transition: all 0.125s ease-in-out;
-ms-transition: all 0.125s ease-in-out;
-o-transition: all 0.125s ease-in-out;
transition: all 0.125s ease-in-out;
-webkit-transform: rotate(-45deg);
-moz-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
-o-transform: rotate(-45deg);
transform: rotate(-45deg);
}

.top-banner-circle-right-1:hover {
border: 2px solid #23046E;
background: #23046E;
text-decoration: none;
cursor: pointer;
-webkit-transition: all 0.125s ease-in-out;
-moz-transition: all 0.125s ease-in-out;
-ms-transition: all 0.125s ease-in-out;
-o-transition: all 0.125s ease-in-out;
transition: all 0.125s ease-in-out;
}

.top-banner-circle-right-1:active {
border: 2px solid #23046E;
background: #23046E;
text-decoration: none;
cursor: pointer;
-webkit-transition: all 0.125s ease-in-out;
-moz-transition: all 0.125s ease-in-out;
-ms-transition: all 0.125s ease-in-out;
-o-transition: all 0.125s ease-in-out;
transition: all 0.125s ease-in-out;
}

.top-banner-circle-right-2 {
position: absolute;
bottom: -1.5px;
right: 7.5px;
width: 7.5px;
height: 25px;
margin: 0 5px 0 0;
padding: 0 0 0 0;
border: 2px solid #1F27F1;
background: #1F27F1;
text-decoration: none;
cursor: pointer;
-webkit-border-radius: 1000px 1000px 1000px 1000px;
-moz-border-radius: 1000px 1000px 1000px 1000px;
-ms-border-radius: 1000px 1000px 1000px 1000px;
-o-border-radius: 1000px 1000px 1000px 1000px;
border-radius: 1000px 1000px 1000px 1000px;
-webkit-transition: all 0.125s ease-in-out;
-moz-transition: all 0.125s ease-in-out;
-ms-transition: all 0.125s ease-in-out;
-o-transition: all 0.125s ease-in-out;
transition: all 0.125s ease-in-out;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-ms-transform: rotate(45deg);
-o-transform: rotate(45deg);
transform: rotate(45deg);
}

.top-banner-circle-right-2:hover {
border: 2px solid #23046E;
background: #23046E;
text-decoration: none;
cursor: pointer;
-webkit-transition: all 0.125s ease-in-out;
-moz-transition: all 0.125s ease-in-out;
-ms-transition: all 0.125s ease-in-out;
-o-transition: all 0.125s ease-in-out;
transition: all 0.125s ease-in-out;
}

.top-banner-circle-right-2:active {
border: 2px solid #23046E;
background: #23046E;
text-decoration: none;
cursor: pointer;
-webkit-transition: all 0.125s ease-in-out;
-moz-transition: all 0.125s ease-in-out;
-ms-transition: all 0.125s ease-in-out;
-o-transition: all 0.125s ease-in-out;
transition: all 0.125s ease-in-out;
}

.top-banner-circle-right-container:hover .top-banner-circle-right-1, .top-banner-circle-right-container:focus .top-banner-circle-right-1 {
border: 2px solid #23046E;
background: #23046E;
text-decoration: none;
cursor: pointer;
-webkit-transition: all 0.125s ease-in-out;
-moz-transition: all 0.125s ease-in-out;
-ms-transition: all 0.125s ease-in-out;
-o-transition: all 0.125s ease-in-out;
transition: all 0.125s ease-in-out;
}

.top-banner-circle-right-container:hover .top-banner-circle-right-2, .top-banner-circle-right-container:focus .top-banner-circle-right-2 {
border: 2px solid #23046E;
background: #23046E;
text-decoration: none;
cursor: pointer;
-webkit-transition: all 0.125s ease-in-out;
-moz-transition: all 0.125s ease-in-out;
-ms-transition: all 0.125s ease-in-out;
-o-transition: all 0.125s ease-in-out;
transition: all 0.125s ease-in-out;
}

/* ------------------------------------------------------------------------------------------------------- */

@media screen and (max-width: 1750px) {

/* ------------------------------------------------------------------------------------------------------- */

.top-banner-wrapper {
position: absolute;
z-index: 1;
width: calc(100% - 20%);
margin: 0 10% 0 10%;
padding: 37.5px 0 0 0;
display: flex;
justify-content: center;
align-items: center;
}

/* ------------------------------------------------------------------------------------------------------- */

}

/* ------------------------------------------------------------------------------------------------------- */

@media screen and (max-width: 1400px) {

/* ------------------------------------------------------------------------------------------------------- */


.main-section .rotating-banner-title-text-size-1 {
font-weight: 900;
font-size: 2.075em;
letter-spacing: -0.0175em;
line-height: 1;
margin: 0 0 0 0;
padding: 0 0 25px 0;
}


/* ------------------------------------------------------------------------------------------------------- */

}

/* ------------------------------------------------------------------------------------------------------- */

@media screen and (max-width: 1200px) {

/* ------------------------------------------------------------------------------------------------------- */

.banner-container {
width: 100%;
max-width: 100%;
height: 575px; /* + 73px */
margin: 0 0 0 0;
padding: 0 0 0 0;
position: relative;
overflow: hidden;
background: #DDF1FD;
}

/* ------------------------------------------------------------------------------------------------------- */

.top-banner-wrapper-left {
position: absolute;
left: 0;
z-index: 2;
width: 60%;
margin: 0 0 0 0;
padding: 0 0 0 0;
}

.top-banner-wrapper-left-hourly-plan {
position: absolute;
left: 0;
z-index: 2;
width: calc(100% - 637.5px);
margin: 0 0 0 0;
padding: 0 0 0 0;
}

.top-banner-wrapper-right {
position: absolute;
right: 0;
z-index: 3;
width: 50%;
margin: 0 0 0 0;
padding: 0 0 0 0;
}

.top-banner-wrapper-right img {
display: block;
width: 100%;
margin: 0 0 0 0;
padding: 0 0 0 0;
opacity: 1;
outline: 0;
border: 0px solid #DDF1FD;
-webkit-border-radius: 0 0 0 0;
-moz-border-radius: 0 0 0 0;
-ms-border-radius: 0 0 0 0;
-o-border-radius: 0 0 0 0;
border-radius: 0 0 0 0;
}

/* ------------------------------------------------------------------------------------------------------- */

.top-banner-wrapper {
position: absolute;
z-index: 1;
width: calc(100% - 10%);
margin: 0 5% 0 5%;
padding: 37.5px 0 0 0;
display: flex;
justify-content: center;
align-items: center;
}

/* ------------------------------------------------------------------------------------------------------- */

.banner-nav {
display: none;
}

/* ------------------------------------------------------------------------------------------------------- */

}

/* ------------------------------------------------------------------------------------------------------- */

@media screen and (max-width: 1100px) {

/* ------------------------------------------------------------------------------------------------------- */

.top-banner-wrapper-left {
position: absolute;
left: 0;
z-index: 2;
width: 55%;
margin: 0 0 0 0;
padding: 0 0 0 0;
}

/* ------------------------------------------------------------------------------------------------------- */

}

/* ------------------------------------------------------------------------------------------------------- */