/*
    Theme Name: Sperling Starter
    Theme URI: https://www.sperlinginteractive.com
    Description: Sperling Interactive WordPress Starter Theme
    Version: 1.0
    Author: Sperling Interactive
  Theme URI: https://www.sperlinginteractive.com
*/

/*------------------------------------*\
    Example of Using Root Variable 
    :root {
        --blue: #0000FF          
    }
    .test-element {
        color: var(--blue)
    }
\*------------------------------------*/

:root {
    --pink-solid: #E2006F;
    --pink-opaque: rgba(226,0,111,0.85);
    --green-solid: #85BA55;
    --green-opaque: rgba(133,186,85,0.85);
    --yellow-solid: #F6C752;
    --yellow-opaque: rgba(246,199,82,0.85);
    --light-blue-solid: #74C6E4;
    --light-blue-opaque: rgba(116,198,228,0.85);
    --blue-solid: #043673;
    --blue-opaque: rgba(4,54,115,0.85);
    --darkblue-solid: #021022;
    --darkblue-opaque: rgba(2,16,34,0.85);
}

.color-white{
    color: #fff;
}

.color-black{
    color: #000;
}

.color-pink{
    color: var(--pink-solid);
}

.color-green{
    color: var(--green-solid);
}

.color-yellow{
    color: var(--yellow-solid);
}

.color-light-blue{
    color: var(--light-blue-solid);
}

.color-blue{
    color: var(--blue-solid);
}

.color-darkblue{
    color: var(--darkblue-solid);
}

.bg-pink-solid{
    background-color: var(--pink-solid)
}

.bg-pink-opaque{
    background-color: var(--pink-opaque);
}

.bg-green-solid{
    background-color: var(--green-solid)
}

.bg-green-opaque{
    background-color: var(--green-opaque);
}

.bg-yellow-solid{
    background-color: var(--yellow-solid)
}

.bg-yellow-opaque{
    background-color: var(--yellow-opaque);
}

.bg-light-blue-solid{
    background-color: var(--light-blue-solid)
}

.bg-light-blue-opaque{
    background-color: var(--light-blue-opaque);
}

.bg-blue-solid{
    background-color: var(--blue-solid)
}

.bg-blue-opaque{
    background-color: var(--blue-opaque);
}

.bg-darkblue-solid{
    background-color: var(--darkblue-solid)
}

.bg-darkblue-opaque{
    background-color: var(--darkblue-opaque);
}

/* global box-sizing */
*,
*:after,
*:before {
    box-sizing: border-box;
    font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

/* html element 62.5% font-size for REM use */
html {
    font-size: 62.5%;
    scroll-behavior: smooth;
}

body {
    color: #000;
    font: 300 11px/1.4 Arial, sans-serif;
}

/* clear */
.clear:before,
.clear:after {
    content: ' ';
    display: table;
}

.clear:after {
    clear: both;
}

.clear {
    zoom: 1;
}

img {
    max-width: 100%;
    vertical-align: bottom;
    height: auto;
}

/* Lightspeed Lazy load fade in */
img[data-lazyloaded] {
    opacity: 0;
}

img.litespeed-loaded {
    -webkit-transition: opacity .5s linear 0.2s;
    -moz-transition: opacity .5s linear 0.2s;
    transition: opacity .5s linear 0.2s;
    opacity: 1;
}

a {
    text-decoration: none;
}

a:hover {}

a:focus {
    outline: 0;
}

a:hover,
a:active {
    outline: 0;
}

input:focus {
    border: 1px solid #04A4CC;
    outline: 0;
}

p,
ul,
ol {
    font-size: 1.6rem;
}

h1,
.font-h1 {
    font-size: 5.2rem;
}

h2,
.font-h2 {
    font-size: 3rem;
}

h3,
.font-h3 {
    font-size: 2.5rem;
}

h4,
.font-h4 {
    font-size: 2.2rem;
}

h5,
.font-h5 {
    font-size: 2.0rem;
}

h6,
.font-h6 {
    font-size: 1.6rem;
}

blockquote {
    margin: 25px 0;
    padding: 25px 0 25px 5vw;
    font-style: italic;
    border-top: 1px solid;
    border-bottom: 1px solid;
    font-weight: 700;
}

.cursive{
    font-family: "epicursive", sans-serif;
    font-weight: 400;
    font-style: normal;
}

/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/
/* wrapper */
.wrapper {
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    min-height: 100vh;
    position: relative;
    width: 100%;
    max-width: 2560px;
}

.container {
    max-width:1280px; 
    align-self: center;
    flex: 1 auto;
    margin: 0 auto;
    width: 100%;
    height: 100%;
    padding: 0 20px;
}

.container-wide{
    max-width:1400px; 
    align-self: center;
    flex: 1 auto;
    margin: 0 auto;
    width: 100%;
    height: 100%;
    padding: 0 20px;
}

/* header */
.header {}

.logo-img {
    backface-visibility: hidden;
    height: 80px;
}

/* nav */
.nav ul {
    list-style-type: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 30px 0 20px;
}

.nav ul li a{
    display: inline-block;
    color: #fff;
    text-transform: uppercase;
    padding: 10px 20px;
    font-size: 1.8rem;
    font-weight: bold;
    background-color: transparent;
    transition: ease-in .3s;
}

.nav ul li a:hover{
    background-color: var(--green-solid);
}

/* sidebar */
.sidebar {}

/* footer */
.footer {
    padding: 20px;
}

.footer p{
    font-weight: bold;
}

.pagination {
    font-size: 1.6rem;
}

.embed-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
    max-width: 100%;
    height: auto;
}

.embed-container iframe,
.embed-container object,
.embed-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
/*------------------------------------*\
    PAGES
\*------------------------------------*/
.relative{
    position: relative;
}

.hero-section{
    position: relative;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.hero-section .container{
    max-width: 1005px;
    position: relative;
    z-index: 2;
}

.hero-section .video-cont{
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.hero-section .video-cont::before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background-color: rgba(0,0,0,0.4);
}

.hero-section .video-cont video{
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    min-width: 100%;
    /* min-height: 100vh; */
    width: 100%;
    height: 100%;
    object-fit: cover;
    -webkit-transform: translate(0%,0%);
    transform: translate(0%,0%);
}

.hero-section:before{
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.65);
}

.hero-section .hero-inner{
    position: relative;
    color: #fff;
    padding: 80px 0 50px;
}

.hero-section h1{
    position: relative;
   text-align: center;
   font-size: 10rem;
   line-height: 1;
   margin-bottom: 100px;
   text-shadow: 0 0 10px rgba(0,0,0,0.4);
}

.hero-section h1 .relative{
    display: inline-block;
    width: 100%;
}

.hero-section h1 .cursive.gmv{
    position: absolute;
    transform: rotate(-4deg);
    left: 0;
    top: -9px;
}

.hero-section .nob-region-wrapper{
    padding-left: 15%;
    text-align: left;
}

.hero-section h1 .cursive.nob{
    position: absolute;
    transform: rotate(-4deg);
    left: 35%;
    /* width: calc(100% - 200px); */
    top: -12px;
}

.hero-section h1 .region{
    position: absolute;
    right: 18%;
}

.hero-section p{
    font-size: 2rem;
    font-weight: 500;
}

/* Dropdown */
.dropdown-wrapper{
    position: relative;
    width: 100%;
}

.dropdown-wrapper h5{
    background-color: #fff;
    padding: 14px 20px;
    font-weight: 600;
    font-size: 1.5rem;
    display: flex;
    align-items: center;
    cursor: pointer;
    position: relative;
    justify-content: space-between;
    margin-bottom: 0;
}

.dropdown-wrapper h5 span.ui-accordion-header-icon{
    display: none;
}

.dropdown-wrapper h5 .fa-chevron-down, 
.dropdown-wrapper h5.ui-state-active .fa-chevron-up{
    display: block;
}

.dropdown-wrapper h5 .fa-chevron-up, 
.dropdown-wrapper h5.ui-state-active .fa-chevron-down {
    display: none;
}

.dropdown-wrapper ul.cities{
    position: absolute;
    width: 100%;
    /* bottom: 0; */
    list-style-type: none;
    max-height: 300px;
    overflow-y: auto;
    padding: 10px 15px;
    background-color: #efefef;
    margin: 5px 0 0;
    z-index: 9;
}

.dropdown-wrapper ul.cities a{
    color: #000;
    padding: 7px 20px;
    display: inline-block;
}

.dropdown-wrapper ul.cities li:nth-child(2){
    border-bottom: 1px dashed #000;
}

.dropdown > div{
    width: 100%;
}

.accommodations-dropdown{
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    align-content: space-between;
}

.shopping-dropdown{
    min-height: 390px;
    display: flex;
    flex-wrap: wrap;
    align-content: space-between;
}

/* BLOCKS */
.block-wrapper{
    transition: ease-in .3s;
    overflow: hidden;
    height: 100%;
}

.block-wrapper:hover{
    background-color: var(--blue-solid);
}

.block-wrapper .img-wrapper{
    overflow: hidden;
    width: 100%;
}

.block-wrapper .img-wrapper img{
    object-fit: cover;
    width: 100%;
}

.height-309{
    height: 309px;
}

.height-702{
    height: 309px;
}

.height-772{
    height: 309px;
}

.height-766{
    height: 309px;
}

.height-776{
    height: 309px;
}

.block-wrapper h3{
    position: absolute;
    margin: 0;
    left: 0;
    top: 30px;
    padding: 5px 20px 0 15px;
}

.block-wrapper .listing-details{
    padding: 10px 20px;
}

.block-wrapper .listing-details h4{
    margin: 0;
}

.block-wrapper .listing-details p{
    margin: 0;
}


/* EVENTS */
.buttons a{
    font-size: 1.6rem;
    padding: 10px 20px;
    display: inline-block;
    transition: ease-in .3s;
}

.buttons a:hover{
    background-color: var(--darkblue-solid);
    color: #fff;
}

.events{
    padding: 20px;
    min-height: 500px;
    height: 100%;
    border: 1px solid #000;
    overflow-y: hidden;
}

.events .per-event{
    padding: 20px 0;
    border-bottom: 1px solid #000;
}

.events .per-event h4{
    color: var(--green-solid);
}

.events .per-event a{
    margin-top: 0;
    background-color: var(--green-solid);
    transition: ease-in .3s;
}

.events .per-event:nth-child(2) a{
    background-color: var(--light-blue-solid);
    transition: ease-in .3s;
}

.events .per-event:nth-child(2) h4{
    color: var(--light-blue-solid);
}

.events .per-event .buttons a:hover{
    background-color: var(--darkblue-solid);
}

.events .per-event:last-child{
    border-bottom: 0;
}

/* REV250 */
.rev-250-wrapper{
    background-color: #072851;
    padding: 50px 30px;
    margin: 30px 0;
}

.rev-250-wrapper p,
.rev-250-wrapper h2{
    color: #fff;
}

.rev-250-wrapper h2{
    font-size: 3.2rem;
    line-height: 1.2;
}

.rev-250-wrapper img{
    max-width: 350px;
    width: 100%;
    margin: 0 auto;
}

.rev-250-wrapper .buttons{
    list-style-type: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    margin: 20px 0;
}

.rev-250-wrapper .buttons a{
    color: #fff;
    width: 100%;
    text-align: center;
}

.rev-250-wrapper .buttons li{
    margin-right: 10px;
    width: 30%;
}

.rev-250-wrapper .buttons li:nth-child(1) a{
    background-color: var(--pink-solid);
    border: 1px solid var(--pink-solid);
}

.rev-250-wrapper .buttons li:nth-child(2) a{
    background-color: var(--green-solid);
    border: 1px solid var(--green-solid);
}

.rev-250-wrapper .buttons li:nth-child(3) a{
    background-color: var(--light-blue-solid);
    border: 1px solid var(--light-blue-solid);
}

.rev-250-wrapper .buttons li a:hover{
    border-color: #fff;
    background-color: #072851;
}

/* BLOGS */
.align-right{
    text-align: right;
}

#blogs .per-blog a{
    display: inline-block;
    width: 100%;
    height: 100%;
    min-height: 150px;
    display: flex;
    flex-wrap: wrap;
    align-content: space-between;
    padding: 20px;
    transition: ease-in .3s;
    box-shadow: 0px 2px 5px rgba(0,0,0,.36);
}

#blogs .per-blog a h3{
    margin: 0;
}

#blogs .per-blog a div{
    width: 100%;
}

#blogs .per-blog:nth-child(4n - 3)  a{
    background-color: var(--pink-solid);
}

#blogs .per-blog:nth-child(4n - 2)  a{
    background-color: var(--light-blue-solid);
}

#blogs .per-blog:nth-child(4n-1)  a{
    background-color: var(--green-solid);
}

#blogs .per-blog:nth-child(4n)  a{
    background-color: var(--yellow-solid);
}

#blogs .per-blog a:hover{
    background-color: var(--darkblue-solid);
}

.show-522{
    display: none;
}

.show-mobile{
    display: block;
}

.height-100{
    height: 100%;
}

/* Videos */
.video-box{
    padding: 0 10px;
}

.video-box h5{
    text-align: center;
    margin: 15px 0;
}

.video-section .video-slider{
    padding: 0 40px;
}

.video-section .slick-next, 
.video-section .slick-prev{
    z-index: 1;
    height: auto;
    width: auto;
}

.video-section .slick-next:before, 
.video-section .slick-prev:before{
    color: var(--pink-solid);
    font-size: 3rem;
}

.video-section .slick-prev{
    left: 0;
}

.video-section .slick-next{
    right: 0;
}

/*------------------------------------*\
    IMAGES
\*------------------------------------*/


/*------------------------------------*\
    ACF GOOGLE MAP
\*------------------------------------*/

.acf-map {
    width: 100%;
    height: 100%;
    min-height: 400px;
    max-height: 600px;
    border: #ccc solid 1px;
    margin: 20px 0;
  }

   /* Fixes potential theme css conflict. */
  .acf-map img {
   max-width: inherit !important;
  }


  /* Lightbox styles */
.lightbox {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

.lightbox-content {
    max-width: 80%;
    max-height: 80%;
}

.lightbox-close {
    position: absolute;
    top: 20px;
    right: 40px;
    font-size: 30px;
    font-weight: bold;
    color: white;
    cursor: pointer;
}


.home .slick-dots li button {
    padding: 0px;
    background-color: var(--pink-solid);
    transition: 0.3s ease;
    border-radius:50%;
    width:15px;
    height:15px;
}
.home .slick-dots li button:hover,
.home .slick-dots li.slick-active button{
    background-color:var(--blue-solid);
}

.home .slick-dots li button:before{
    display:none !important;
}



/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/
@media only screen and (min-width:320px) {}

@media only screen and (min-width:480px) {
    h2, .font-h2{
        font-size: 3.5rem;
    }

    h3, .font-h3{
        font-size: 2.8rem;
    }

    h4, .font-h4 {
        font-size: 2.5rem;
    }
}

@media only screen and (min-width:522px){
    .show-522{
        display: block;
    }
    
    .show-mobile{
        display: none;
    }

    .hero-section h1{
        font-size: 5rem;
    }

    .hero-section .container {
        max-width: 522px;
    }

    .hero-section .nob-region-wrapper{
        /* padding-left: 5%; */
    }

    .hero-section span.font-h1{
        font-size: 2.8rem;
    }

    h2, .font-h2{
        font-size: 4.5rem;
    }

    h3, .font-h3{
        font-size: 3rem;
    }

    .dropdown-wrapper h5{
        font-size: 1.6rem;
    }
}

@media only screen and (min-width:715px){
    .hero-section h1{
        font-size: 7rem;
    }

    .hero-section .container {
        max-width: 715px;
    }

    .hero-section span.font-h1{
        font-size: 4rem;
    }
}

@media only screen and (min-width:769px) {
    .block-8 .height-702{
        height: 702px;
    }
    
    .block-5  .height-772{
        height: 772px;
    }
}

@media only screen and (min-width:1005px) {
    .hero-section h1{
        font-size: 10rem;
    }    

    .hero-section .container {
        max-width: 1005px;
    }

    .hero-section .nob-region-wrapper{
        padding-left: 15%;
    }

    .hero-section span.font-h1{
        font-size: 5.2rem;
    }
}

@media only screen and (min-width:1024px) {
    .columns.is-reversed{
        flex-flow: row-reverse;
    }

    .block-12{
        padding-left: 30px;
    }

    .height-702{
        height: 702px;
    }
    
    .height-772{
        height: 772px;
    }
    
    .height-766{
        height: 766px;
    }
    
    .height-776{
        height: 776px;
    }
}

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

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

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

/*------------------------------------*\
    MISC
\*------------------------------------*/
::selection {
    background: #04A4CC;
    color: #FFF;
    text-shadow: none;
}

::-webkit-selection {
    background: #04A4CC;
    color: #FFF;
    text-shadow: none;
}

::-moz-selection {
    background: #04A4CC;
    color: #FFF;
    text-shadow: none;
}

/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/
.alignnone {
    margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

a img.alignnone {
    margin: 5px 20px 20px 0;
}

a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.wp-caption {
    background: #FFF;
    border: 1px solid #F0F0F0;
    max-width: 96%;
    padding: 5px 3px 10px;
    text-align: center;
}

.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}

.wp-caption .wp-caption-text,
.gallery-caption {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px;
}

.sticky {}

.bypostauthor {}

/*------------------------------------*\
    PRINT
\*------------------------------------*/
@media print {
    * {
        background: transparent !important;
        box-shadow: none !important;
        color: #000 !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " ("attr(href) ")";
    }

    abbr[title]:after {
        content: " ("attr(title) ")";
    }

    .ir a:after,
    a[href^="javascript:"]:after,
    a[href^="#"]:after {
        content: "";
    }

    pre,
    blockquote {
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    @page {
        margin: 0.5cm;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }

    .nav,
    .sidebar,
    .home-slider,
    #respond {
        display: none;
    }

    @page {
        margin: 2cm;
    }
}
