/*//// CORE BASIC CSS FOR USE WITH PARTIAL INSTALL OF BOILERSPLAT THEME ////*/




/*////// FONT FACE IMPORT //////*/
/* @font-face { */ /*SAMPLE*/
    /* font-family: 'Bebas Neue'; */
    /* src: local('Bebas Neue'), */ /*local('BebasNeue'), /* CAN HAVE MORE THAN ONE local() FOR POSSIBLE NAMING DIFFERENCES */
        /* url('./inc/fonts/BebasNeue.woff2') format('woff2'), */
        /* url('./inc/fonts/BebasNeue.woff') format('woff'); */
    /* font-weight: normal; */
    /* font-style: normal; */
/* } */





/*////// BOX SIZING //////*/
html { box-sizing: border-box; }
*, *:before, *:after { box-sizing: inherit; }





/*////// GLOBAL DOCUMENT SET UP //////*/
html, body {
    font-family: 'Open Sans', sans-serif;
    width: 100%; 
    height: 100%;
}
html {
    font-size: 62.5% !important; /* = 10px BASE FONT-SIZE FOR EM */
    line-height: 1.25; /* = 125% BASE LINE HEIGHT */
    font-weight: normal;
    font-style: normal;
    color: #000000;
    font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    scroll-behavior: smooth;
}
body {
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    overflow: overlay; 
    background-color: var(--var-body-color);
}
/*// LOCK CLASS FOR MODAL IF NEEDED //*/
body.lock {
    overflow: hidden !important;
}





/*////// SCROLL BAR //////*/
body::-webkit-scrollbar {
  width: 10px;
}
body::-webkit-scrollbar-track {
  box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  background-color: rgba(255, 255, 255, 0);;
}
body::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, .6);
  outline: 1px solid rgba(0, 0, 0, .6);
}





/*//// BLURBS ////*/
.blurb1 {
    font-size: 2rem;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}
.blurb2 {
    font-size: 1.8rem;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}
.blurb3 {
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}
.blurb4 {
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}
.blurb5 {
    font-size: 1.3rem;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}
/*// FONT SMALL CAPS //*/
.small-caps {
  font-variant: small-caps;
}





/*//////// SHARED PAGE ELEMENTS ////////*/

/*//// SCREEN READER TEXT & SKIPLINK ////*/
.screenreader-text {
  position: absolute;
  left: -999px;
  width: 1px;
  height: 1px;
  top: auto;
}
.screenreader-text:focus {
  color: black;
  display: inline-block;
  height: auto;
  width: auto;
  position: static;
  margin: auto;
}






/*//// WRAPS ALL EDGE TO EDGE - MAIN, SECTIONS AND FOOTER ////*/
.page-container {
    position: relative;
    min-height: 100%;
    background-color: var(--var-gutter-color);
}
#top-of-page.lock {
    height: 100% !important;
    overflow: hidden !important;
}





/*//// WRAPS MAIN & SECTIONS - DESIGN WIDTH ////*/
div.section-container {
    position: relative;
    width: 100%;
    max-width: var(--var-design-width); 
    height: auto;
    min-height: calc( 100vh - ( 100vh * var(--var-sticky-footer-height) ) );
    margin: 0 auto;
    background-color: var(--var-page-color);
}





/*//// WRAPS SECTIONS EXCEPT FOR NAVIGATION AND FOOTER - DESIGN WIDTH ////*/
main.main-content {
    position: relative;
    z-index: 10;
    background-color: transparent !important;
}





/*//// SECTIONS HOLD PAGE/DESIGN ELEMENTS ////*/
section { 
    position: relative;
    width: 100%;
    padding: 0;
    margin: 0;
    min-height: 10rem;
    /*border-bottom: 1px solid silver;*/
}





/*//// CONTENT WIDTH CONTAINERS ////*/
div.container-content-width {
    position: relative;
    width: 100%;
    height: 100%;
    max-width: var(--var-content-width);
    margin: 0 auto;
    padding: 0;
    background-color: inherit;
}
/*// SPECIFIC WIDTH //*/
div.container-1440-width {
    max-width: 1440px;
}
div.container-1920-width {
    max-width: 1920px;
}





/*//// BUTTONS ////*/





/*////// PAGE NAVIGATION SECTION //////*/

/*//// DESKTOP HEADER ////*/
section.page-navigation-section {
    z-index: 1000;
    background: var(--Dark-Blue, #26275F);    
}
/*/ ACCENT BAR /*/
#desktop-navigation-accent {
    position: absolute;
    top: 0;
    width: 100%;
    background: red;
    height: 4.4rem;
    background: var(--Dark, #242431);
}
section.page-navigation-section header.page-header {
    position: relative;
    height: 16.4rem;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0;
    background: var(--Dark-Blue, #26275F);
}

/*// TOP FLEX - OPERATIONS MESSAGE //*/
header.page-header div.operations-flex-container {
    background: var(--Dark, #242431);
}
div.operations-flex-item {
    padding: 1rem 6rem;
}
div.operations-flex-item p { 
    color: var(--Yellow-1, #FDB827);
    text-align: center;
    font-family: Open Sans;
    font-size: 1.8rem;
    font-style: italic;
    font-weight: 700;
    line-height: normal;
    text-transform: capitalize;
    text-align: center; 
}
/*// LEFT FLEX ITEM - LOGO //*/
header.page-header div.logo-flex-item {
    height: auto;
    padding: 3rem 0 3rem 8rem;
    text-align: left;
}
div#logo-flex-item img {
    display: inline-block;
    width: 24.1rem;
    height: auto;
    vertical-align: middle;
}
/*// RIGHT - NAV //*/
header.page-header div.nav-flex-item {
    padding: 3rem 4rem 3rem 0;
    text-align: right;
}
/*/ MAIN MENU /*/
header.page-header ul.main-menu {
    margin: 0;
    list-style: none;
}
header.page-header ul.main-menu li {
    display: inline-block;
    width: auto;
    padding: 0 2rem;
    padding: .5rem 2rem 0 2rem;
    vertical-align: middle;
}
header.page-header ul.main-menu a {
    text-align: center;
    font-size: 1.8rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    text-transform: capitalize;
    color: #ffffff;
}
header.page-header ul.main-menu a:hover { }



/*//// GET PASSES BUTTON*/
a#desktop-passes-button,
button#desktop-passes-button {
    display: inline-block;
    width: 20rem;
    height: 5rem;
    height: auto;
    padding: 1.4rem 0rem;
    text-align: center;
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 800;
    line-height: normal;
    letter-spacing: 0.048rem;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--Dark-Blue, #26275F);
    border-radius: 0.6rem;
    background: var(--Yellow-1, #FDB827);
    box-shadow: 0px 3px 5px 0px rgba(36, 36, 49, 0.25);
}




/* SUB MENU */
ul.sub-menu { }
ul.sub-menu li.menu-item { }
ul.sub-menu li.menu-item a { }




/*//////// MOBILE HEADER & MENU ////////*/ 
/*//// MOBILE HEADER ////*/
header.mobile-header {
    z-index: 100000;
    width: 100%;
    height: auto;
    height: 9.8rem;
    padding: 0;
    overflow: visible;
}
div.full-mobile-nav-flex-item {
    width: 100%;
    height: 4rem;
    padding: 0 1rem;
    text-align: right;
    background: linear-gradient(90deg, #000 0%, #8A8A8A 33.33%, #424242 66.67%, #1C1D1E 100%);
    box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.25);
}
#page-header-mobile div.full-mobile-nav-flex-item a {
    color: var(--white, #ffffff);
    text-align: right;
    text-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.125rem;
    text-decoration-line: underline;
    text-transform: uppercase;
}

/*// LEFT FLEX ITEM //*/
div.left-mobile-nav-flex-item {
    width: 50%;
    padding: 0 1rem;
}
#page-header-mobile div.left-mobile-nav-flex-item img {
    display: inline-block;
    width: 18.7rem;
    height: auto;
    vertical-align: middle;
    margin: 2rem;
}
#page-header-mobile div.left-mobile-nav-flex-item p {
    display: inline-block;
    width: 25rem;
    margin: 0 0 0 1rem;
    vertical-align: middle;
    color: #000000;
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
}



/*// RIGHT FLEX ITEM //*/
div.right-mobile-nav-flex-item {
    position: relative;
    width: 50%;
    padding: 0 1rem;
    text-align: right;
}

a#mobile-menu-button, 
button#mobile-menu-button {
    display: inline-block;
    width: 12rem;
    height: auto;
    padding: 1.4rem 0rem;
    margin: 2rem;
    text-align: center;
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 800;
    line-height: normal;
    letter-spacing: 0.048rem;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--Dark-Blue, #26275F);
    border-radius: 0.6rem;
    background: var(--Yellow-1, #FDB827);
    box-shadow: 0px 3px 5px 0px rgba(36, 36, 49, 0.25);

    color: var(--Dark-Blue, #26275F);
    text-align: center;
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 800;
    line-height: normal;
    letter-spacing: 0.048rem;
    text-transform: uppercase;
}




/*//// MOBILE MENU ////*/    
nav#mobile-menu { 
    position: relative;
    z-index: 500;
    width: 100%;
    height: 14.7rem;;
    background-color: #ffffff;
}
nav#mobile-menu ul.mobile-menu {
    position: absolute;
    top: 60%;
    transform: translateY(-50%);
    width: 100%;
    margin: 0;
    padding: 0 0 0 4rem;
    list-style: none;
}
nav#mobile-menu ul.mobile-menu li.mobile-menu-item {
    position: relative;
    display: inline-block;
    width: auto;
    margin: 2rem 0 ;
    margin: 6rem 0 2rem 0;
    border-bottom: 1px solid transparent;
}
nav#mobile-menu ul.mobile-menu li.mobile-menu-item a { 
    display: inline-block;
}
nav#mobile-menu ul.mobile-menu li.mobile-menu-item a:hover,
nav#mobile-menu ul.mobile-menu li.obile-menu-item.on-this-page a { }

/*/// MOBILE DROP DOWN MENU ///*/
.drop-menu {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100;
    width: 100%;
    height: 0;
    margin-top: 0;
    padding: 1rem 0.8rem 0 0.8rem;
    overflow: hidden;
    background: #26275f;
    transition: all 0.2s ease;
 }

/*// DROP DOWN MENU ITEMS //*/ 
.drop-menu ul {
    padding-top: 1rem;
    padding-left: 2rem;
    list-style: none;
}
.drop-menu ul li { }
/*// DROP DOWN MENU ITEMS //*/
.drop-menu .main-menu-item,
.drop-menu .sub-main-menu-item {
    display: block;
    padding: 7px 0;
    margin: 5px 0;
    font-size: 2.2rem;
    line-height: 1; 
    letter-spacing: .05rem;
    text-transform: uppercase;
    background-color: initial;
}
.drop-menu .main-menu-item a {
    color: #E41C25;
    font-weight: 800;
}
.drop-menu .main-menu-item a:hover {
    color: #000000;
}
/*/ HEIGHT OF OPEN DROP DOWN MENU /*/
.open {
    height: 101vh;
}
/*// YE OLD HAMBURGER //*/
.hamburger-container {
    /*display: inline-block;*/
    display: none;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    cursor: pointer;
}
.hamburger { width: 66%; height: 3px; background-color: #E41C25; border-radius: 2px; transition: 0.4s; }
.bar-1 { position: absolute; left: 50%; transform: translateX(-50%); top: 15%; }
.bar-2 { position: absolute; left: 50%; transform: translateX(-50%); top: 33%; }
.bar-3 { position: absolute; left: 50%; transform: translateX(-50%); top: 52%; }

/* ANIMATED X 
/* .change-x .bar-1 {
  -webkit-transform: rotate(-45deg) translate(-18px, -2px);
  transform: rotate(-45deg) translate(-18px, -2px);
}
.change-x .bar-2 {opacity: 0;}
.change-x .bar-3 {
  -webkit-transform: rotate(45deg) translate(-15px, 6px);
  transform: rotate(45deg) translate(-15px, 6px);
}*/

/*SIMPLE*/
.change-x .bar-1, .change-x .bar-2, .change-x .bar-3 {
    background-color: #253875 !important;
}

/*// MOBILE SITE LOGO //*/
div.mobile-site-logo {
    position: absolute;
    top: 31%;
    left: 4rem;
    transform: translateY(-50%);
    width: 28%;
    height: auto;
    margin: 0;
}
div.mobile-site-logo img {
    width: 100%;
}
/*//// MOBILE CONTACT US BUTTON ////*/
#mobile-contact-us-button {
    right: 5rem;
}


/*////// NEW MENU //////*/
#page-header-mobile div.left-mobile-nav-flex-item p.service {
    display: block;
    width: 100%;
    padding: 1rem 0 1rem 0;
    margin: 0;
    color: var(--Yellow-2, #FECC0E);
    text-align: center;
    font-size: 2rem;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
    letter-spacing: -0.022rem;
    text-transform: uppercase;
}
#mobile-get-passes {
    display: inline-block;
    width: 97%;
    height: 7rem;
    background: var(--Yellow-1, #FDB827);
    padding: 2rem 10rem;
    margin: 0 0.8rem;
    color: var(--Dark, #242431);
    text-align: center;
    font-size: 2rem;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
    letter-spacing: -0.022rem;
    text-transform: capitalize;  
}
div.splat-flex-container.page-links {
    padding: 0 0 !important;
}
div.splat-flex-container.page-links div.page-link {
    position: relative;
    background-color: #ffffff;
    padding: 2.1rem 1.5rem 1.5rem 11rem;
    height: 7rem;
    margin: 0 0.8rem 1rem 0.8rem;
    border-radius: 0.6rem;
    box-shadow: 0px 3px 5px 0px rgba(36, 36, 49, 0.25);
    overflow: hidden;
}

div.splat-flex-container.page-links div.page-link a {
    color: var(--Dark, #242431);
    font-family: 'Open Sans';
    font-size: 2rem;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: -0.022rem;
    text-transform: capitalize;
}


#page-header-mobile div.splat-flex-container.page-links img.menu-icon {
    position: absolute;
    margin: 0;
    top: -0.1rem;
    left: -0.1rem;
    width: 7.5rem;
    height: auto;
    vertical-align: initial;
}
#page-link-1 {}
#page-link-2 {}
#page-link-3 {}
#page-link-4 {}


/*//// OTHER PAGE LINKS ////*/
div.other-links-flex-container {}
#mobile-horizontal-accent {
    height: 3.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.30);
    margin: 0 2rem 3.5rem 2rem;
}
div.other-links-flex-container div.mobile-other-links {
    position: relative;
    padding: 1rem 0 1rem 7rem;        
}
div.other-links-flex-container div.mobile-other-links a {
    color: var(--Aqua-Light, #BDE3E2);
    font-family: 'Open Sans';
    font-size: 2rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: -0.0198rem;
    text-transform: capitalize;
}
#page-header-mobile div.mobile-other-links img.other-link-icon {
    position: absolute;
    margin: 0;
    top: 50%;
    transform: translateY(-50%);
    left: 3rem;
    width: 2.4rem;
    height: auto;
    vertical-align: initial;
}
#other-link-1 {}
#other-link-2 {}
#other-link-3 {}




/*//// LINK HOT SPOT ////*/
a.hot-spot,
a.hotspot {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}


/*//// CUTTING CORNERS ////*/
div.cut-corner {
    position: relative;
}
div.cut-corner:before {
    content: '';
    position: absolute;
    top: -1px;
    right: -1px;
    border-top: 7.6rem solid white;
    border-left: 7.6rem solid transparent;
    width: 0;
}





/*//// FILTER SECTION ////*/
section.filter-section {}
div.filter-container {
/*    height: 23.7rem;*/
    height: auto;
    /*padding: 6rem 18rem;*/
    padding: 4rem 6rem 6rem 6rem;
    background: #F3F3F3;
}
/*// FLEX //*/
div.filter-flex-container { }

/*/ LEFT /*/
#left-filter-flex-item {
    padding-top: 0.5rem;
}
#left-filter-flex-item h3 {
    margin: 0 0 2rem 0;
}
#left-filter-flex-item h3:after {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    content: '';
    width: 6rem;
    height: 4rem;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url('https://ernestbockdev.wpengine.com/wp-content/uploads/2023/07/services-page-next-arrow-button.png');
}
/*// SEARCH FORM //*/
form.search-form {}
form.search-form label {
    position: relative;
    right: initial;
    top: initial;
}
form.search-form input[type=search], 
form.search-form input[type=text], 
form.search-form input[type=email], 
form.search-form input[type=number] {
    position: relative;
    width: 100%;
    height: 3.7rem;
    height: auto;
    padding: 1rem;
    color: var(--gray-2, #424242);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.125;
}
form.search-form input[type=search] {
    max-width: 300px;
    background-repeat: no-repeat;
    background-position: 95% 50%;
    background-size: 2.2rem;
    background-image: url('https://ernestbockdev.wpengine.com/wp-content/uploads/2023/08/search-icon.png');
}
form.search-form input[type="submit"] {
    display: none;
}
/*// PAGINATION //*/
div.filter-form p {
    padding-top: 0.5rem;
    font-weight: 600;
}
div.filter-form p span {
    /* font-weight: 400;*/
}
#left-filter-flex-item p a {
    color: var(--bock-red, #E41C25);;
}

/*/ RIGHT /*/
#right-filter-flex-item span {
    color: var(--gray-3, #5B5B5B);
    font-feature-settings: 'clig' off, 'liga' off;
    font-family: Eurostile;
    font-size: 1.8rem;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 0.054rem;
    text-transform: uppercase;
}
a.click-filter {
    display: inline-block;
    margin-right: 3rem;
    color: #424242;
    font-size: 2rem;
    font-weight: 700;
    line-height: 3rem;
    letter-spacing: 0.06rem;
    text-transform: uppercase;
    transition: all .3s ease;
    text-decoration: none;
    cursor: pointer;

    color: var(--gray-3, #5B5B5B);
    font-size: 1.8rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 0.054rem;
}
a.click-filter:hover {
    transform: translateY(-.2rem);
    color: #E41C25;
}




/*//// STICKY FOOTER ////*/
/* REMOVE COMMENTS FOR STICKY FOOTER */
/*main, footer {
    padding-bottom: var(--var-sticky-footer-height);
}*/
/*footer {
    position: absolute;
    left: 50%; 
    bottom: 0;
    transform: translateX(-50%);
}*/





/*//// GOOGLE RECAPTCHA ////*/
div > .grecaptcha-badge {
    z-index: 1000;
}




/*//// ELEMENT ANIMATIONS ////*/
.fade-in-up {
    transform: translateY(16px);
    opacity: 0;
    transition: all .4s ease;
}
.fade-in-up.animate {
    transform: translateY(0px);
    opacity: 1;
}



/*////// GLOBAL RESPONSIVE //////*/
/*// LARGE SCREEN //*/
@media only screen and (max-width: 3200px) { }
@media only screen and (max-width: 1600px) { }
@media only screen and (max-width: 1920px) {

        /*html { font-size: 0.521vw !important; }*/

}
/*// MEDIUM & LAPTOP //*/
@media only screen and (max-width: 1440px) {

        html { font-size: 0.694vw !important; }

}
@media only screen and (max-width: 1365px) {

        /*html { font-size: 0.7326vw; }*/

}
/*// MOBILE SCREEN //*/
@media only screen and (max-width: 1024px) {

        html { font-size: 10px !important; }

}
/*// SMALL MOBILE //*/
@media only screen and (max-width: 851px) { 

        html { font-size: 9.8px; }

} 
@media only screen and (max-width: 480px) {

        /*html { font-size: 2.083vw !important; }*/
        html { font-size: 9.4px; }
        
}
@media only screen and (max-width: 380px) { 

        html { font-size: 8.9px; }

}
@media only screen and (max-width: 320px) { 

        html { font-size: 7.9px; } 
}


/*//// LANDSCAPE STYLES ////*/
@media screen and (max-width: 851px) and (orientation: landscape) { }
@media screen and (max-width: 667px) and (orientation: landscape) { }
@media screen and (max-width: 570px) and (orientation: landscape) { }