:root {
--sch-e-hai-primary: #bf3326;
--sch-e-hai-primary-hover: #a52c20;
--sch-e-hai-secondary: #e6b157;
--sch-e-hai-secondary-hover: #d9a542;
--sch-e-hai-background: #ffffff;
--sch-e-hai-foreground: #1a1a1a;
--sch-e-hai-muted: #f5f5f5;
--sch-e-hai-muted-foreground: #737373;
--sch-e-hai-border: #e2e2e2;
--sch-e-hai-radius: 0.5rem;
--sch-e-hai-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

/* Standard elements */
html { box-sizing: border-box; }
*, *:before, *:after { box-sizing: inherit; }
html, body { margin: 0; padding: 0; background: #f2ece5 url(../img/burlap-light.png) repeat; font-family: 'Open Sans', Arial, Helvetica, sans-serif; font-weight: 600; }
p, ul, ol { font-size: 18px; line-height: 32px; color: #1a1919; }

h1, h2, h3, h4, h5, h6, .pseudo-h1 { font-family: 'Roboto Slab', serif; font-weight: 700; padding: 0; margin: 0; letter-spacing: 1.8px; }
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, pseudo-h1 a { text-decoration: none !important; }
h1 { font-size: 48px; line-height: 54px; color: #bf3326; padding-bottom: 16px; margin-bottom: 16px; border-bottom: 5px solid #008c4d; }
h2 { font-size: 48px; line-height: normal; }
h3 { font-size: 36px; line-height: normal; }
h4 { font-size: 30px; line-height: normal; }
h5 { font-size: 24px; line-height: normal; }
h6 { font-size: 18px; line-height: normal; }

.pseudo-h1 { font-size: 48px; line-height: normal; letter-spacing: 0.9px; display: block; color: #bf3326; border-bottom: 5px solid #008c4d; margin: 0 0 30px 0; padding: 0 0 30px 0; }

h2 { position: relative; font-size: 48px; line-height: normal; margin: 0 0 50px 0; z-index: 1; overflow: hidden; text-align: center; color: #1d4b6e; }
h2:before, h2:after { position: absolute; top: calc(50% - 2.5px); overflow: hidden; width: 50%; height: 5px; content: '\a0'; background-color: #e6b157; }
h2:before { margin-left: calc(-50% - 50px); text-align: right; }
h2:after { margin-left: 50px; }

.icon-block h2 { color: #bf3326; }
.icon-block h2:before, .icon-block h2:after { background-color: #008c4d; }

.gradient-block h2 { margin: 0 0 25px 0; }

.address-block h2 { color: #bf3326; border-bottom: 5px solid #e6b157; padding: 0 0 27px 0; margin: 0 0 45px 0; text-align: left; }
.address-block h2:before,
.address-block h2:after { display: none; }

.reviews-block h2 { font-size: 36px; line-height: 55px; padding: 0; margin: 0; }
.reviews-block h2:before { display: none; }
.reviews-block h2:after { position: relative; display: table; max-width: 300px; content: ""; height: 5px; background-color: #bf3326; margin: 17px auto; }

.comparison-grid-block h2 { color: #bf3326; }
.comparison-grid-block h2:before,
.comparison-grid-block h2:after { background-color: #008c4d; }

.simple-column-block h2 { margin: 0 0 25px 0; }

img { max-width: 100%; height: auto; border: none; outline: none; }
a { border: none; }

strong { font-weight: 700; }

/* Layout */
.fullwidth { width: 100%; margin: 0; padding: 0; }
.container { width: 100%; max-width: 1140px; margin: 0 auto; padding: 0; position: relative; }
.extended-container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0; position: relative; }
.section { margin: 40px 0; }
.section:after { display: table; content: ""; clear: both; float: none; }

.standard-pad { padding: 0 10px; }

.col-1 { width: 100%; }
.col-2 { width: 50%; }
.col-2.col-60 { width: 60%; }
.col-2.col-40 { width: 40%; }
.col-3 { width: 33.33333%; }
.col-4 { width: 25%; }
.col-5 { width: 20%; }
.col-6 { width: 16.66666%; }
.col-7 { width: 14.28571%; }
.col-8 { width: 12.5%; }
.col-9 { width: 11.11111%; }
.col-10 { width: 10%; }
.col-11 { width: 9.0909%; }
.col-12 { width: 8.33333%; }

/* Column Gutters */
.col-2:first-of-type { padding-right: 15px; }
.col-2:last-of-type { padding-left: 15px; }

.col-flip .col-2:first-of-type { padding-left: 15px; padding-right: 0; text-align: left; direction: ltr; }
.col-flip .col-2:last-of-type { padding-right: 15px; padding-left: 0; text-align: left; direction: ltr; }

.no-gutter { padding: 0 !important; }

.col-b { display: block; float: left; clear: none; margin: 0; }
.col-ib { display: inline-block; vertical-align: top; }

.col-vm { vertical-align: middle; }
.col-vt { vertical-align: top; }

.col-blog-icon { width: 33%; clear: none; float: left; }
.col-blog-content { width: 67%; clear: none; float: right; }

.clear:after { display: table; clear: both; content: ""; }

/* Full Package Grid */
.full-package-grid { display: grid; grid-template-columns: 57.02% 39.92%; grid-template-rows: auto auto; grid-column-gap: 3.07%; grid-row-gap: 20px; }
.full-package-grid .grid-cell { background-color: #1a6d48; -webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.4); -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.4); box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.4); }
.full-package-grid .grid-cell-0 { grid-column: 1/2; grid-row: 1/3; }
.full-package-grid .grid-cell-1 { grid-column: 2/3; grid-row: 1/2; }
.full-package-grid .grid-cell-2 { grid-column: 2/3; grid-row: 2/3; }
.full-package-grid .grid-cell img { width: 100%; display: block; margin: 0; padding: 0; border-bottom: 5px solid #e6b157; }
.full-package-grid .grid-cell .grid-cell-content { position: relative; color: #fff; background: rgb(0,140,77); background: -moz-linear-gradient(rgba(0,140,77,1) 0%, rgba(26,109,72,1) 100%); background: -webkit-linear-gradient(rgba(0,140,77,1) 0%, rgba(26,109,72,1) 100%); background: linear-gradient(rgba(0,140,77,1) 0%, rgba(26,109,72,1) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#008c4d",endColorstr="#1a6d48",GradientType=1); }
.full-package-grid .grid-cell.grid-cell-0 .grid-cell-content { padding: 40px 35px;  }
.full-package-grid .grid-cell.grid-cell-1 .grid-cell-content,
.full-package-grid .grid-cell.grid-cell-2 .grid-cell-content { padding: 17px 25px 25px 25px; }
.full-package-grid .grid-cell .grid-cell-content h3 { font-size: 36px; line-height: normal; letter-spacing: 0.8px; color: #fff; }
.full-package-grid .grid-cell.grid-cell-1 .grid-cell-content h3,
.full-package-grid .grid-cell.grid-cell-2 .grid-cell-content h3 { color: #fff; font-size: 20px; line-height: normal; letter-spacing: 0.8px; max-width: 190px; }

.full-package-grid .grid-cell.grid-cell-0 .grid-cell-content .button { cursor: pointer; margin: 40px 0 0 0; padding: 17px; display: inline-block; font-size: 16px line-height: normal; letter-spacing: 2px; text-decoration: none; width: calc(50% - 7px); text-align: center; }
.full-package-grid .grid-cell.grid-cell-0 .grid-cell-content .details-button { color: #000; background-color: #fff; transition: background-color 0.3s ease; }
.full-package-grid .grid-cell.grid-cell-0 .grid-cell-content .details-button:hover { transition: background-color 0.3s ease; background-color: #e6b157; }
.full-package-grid .grid-cell.grid-cell-0 .grid-cell-content .cta-button { color: #fff; background-color: #bf3326; }
.full-package-grid .grid-cell.grid-cell-0 .grid-cell-content .cta-button:hover { background-color: #008c4d; transition: background-color 0.3s ease; }
.full-package-grid .grid-cell.grid-cell-0 .grid-cell-content .button + .button { margin-left: 14px; }

.full-package-grid .grid-cell.grid-cell-1 .grid-cell-content .details-button,
.full-package-grid .grid-cell.grid-cell-2 .grid-cell-content .details-button { font-size: 16px; line-height: normal; letter-spacing: 2px; display: block; background-color: #fff; color: #000; padding: 16px 32px; text-decoration: none; position: absolute; top: 17px; right: 0; }
.full-package-grid .grid-cell.grid-cell-1 .grid-cell-content .details-button:hover,
.full-package-grid .grid-cell.grid-cell-2 .grid-cell-content .details-button:hover { transition: background-color 0.3s ease; background-color: #e6b157; }
.full-package-grid .grid-cell .grid-cell-content p,
.full-package-grid .grid-cell .grid-cell-content ul,
.full-package-grid .grid-cell .grid-cell-content ol { color: #fff; }

/* Comparison Grid */
.standard-block.comparison-grid-block { padding: 60px 0 80px 0; }
.comparison-grid { display: grid; grid-template-columns: 48.25% 48.25%; grid-template-rows: auto; grid-column-gap: 3.5%; grid-row-gap: auto; }
.comparison-grid .grid-cell { position: relative; padding: 21px 22px 150px 22px; background-color: #fff; -webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.4); -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.4); box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.4); }
.comparison-grid .grid-cell-0 { grid-column: 1/2; grid-row: 1/2; }
.comparison-grid.comparison-grid-cell-count-1 .grid-cell-0 { grid-column: 1/3; grid-row: 1/2; }
.comparison-grid .grid-cell-1 { grid-column: 2/3; grid-row: 1/2; }
.comparison-grid .grid-cell .button { cursor: pointer; font-size: 24px; line-height: 33px; letter-spacing: 2px; text-decoration: none; text-transform: uppercase; text-align: center; display: block; padding: 20px; position: absolute; bottom: 30px; width: calc(100% - 44px); }
.comparison-grid.comparison-grid-cell-count-1 .grid-cell .button { width: auto; left: 0; right: 0; margin: auto; display: table; padding: 20px 100px; }
.comparison-grid .grid-cell .button.cta-button { background-color: #bf3326; color: #fff; transition: background-color 0.3s ease; }
.comparison-grid .grid-cell .button.cta-button:hover { background-color: #008c4d; transition: background-color 0.3s ease; }
.comparison-grid .grid-cell .grid-cell-content h3 { font-size: 36px; color: #008c4d; line-height: normal; text-align: center; margin: 0 0 15px 0; }
.comparison-grid .grid-cell .grid-cell-content img { width: 100%; margin: 0 0 15px 0; display: block; padding: 10px; background: #fff; -webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.2); -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.2); box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.2); }
.comparison-grid .grid-cell .grid-cell-content a { color: #000; font-weight: 700; }
.comparison-grid .grid-cell .grid-cell-content a:hover { color: #bf3326; }
.page-template-tour-details .comparison-grid .grid-cell .grid-cell-content h3 { text-align: left; }
.pricing { display: block; margin: 25px 0; }
.pricing:after { display: table; content: ""; float: none; clear: both; }
.pricing + ul { margin: 0 0 20px 0; padding: 0 0 0 20px; }
.pricing .col-b { width: auto; }
.pricing .col-b + .col-b { margin-left: 40px; }
.pricing .price { display: block; font-size: 24px; }
.pricing .price-label { display: block; font-size: 14px; }

/* Card Grid */
.card-grid { display: grid; grid-template-columns: 48.42% 48.42%; grid-template-rows: auto auto; grid-column-gap: 3.07%; grid-row-gap: 30px; margin: 0 auto 60px auto; }
.card-grid .grid-cell { background-color: #fff; padding: 17px 17px 25px 17px; -webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.2); -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.2); box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.2); }
.card-grid .grid-cell-0 { grid-column: 1/2; grid-row: 1/2; }
.card-grid .grid-cell-1 { grid-column: 2/3; grid-row: 1/2; }
.card-grid .grid-cell-2 { grid-column: 1/2; grid-row: 2/3; }
.card-grid .grid-cell-3 { grid-column: 2/3; grid-row: 2/3; }
.card-grid .grid-cell img { margin: 0 0 20px 0; width: 100%; }
.card-grid .grid-cell .grid-cell-content h3 { color: #008c4d; font-size: 32px; margin: 0 0 15px 0; }

/* Specifics */
#header { position: fixed; background: #fff; z-index: 100; }
#header .logo { display: block; float: left; margin: 26px 0; max-width: 172px; border: none; outline: none; }
#header .logo img { display: block; width: 100%; height: auto; border: none; outline: none; }

/* Topbar */
#topbar { background: #e6b157; padding: 10px 0; text-align: right; }
#topbar ul { padding: 0; margin: 0; color: #000; font-size: 16px; line-height: 22px; letter-spacing: 0.3px; list-style: none; font-weight: 400; }
#topbar ul li { display: inline-block; margin: 0; }
#topbar ul li + li:before { display: inline-block; content: "|"; margin: 0 15px; font-weight: 700; }

/* Top nav */
#header nav { position: relative; }
#header nav a { text-decoration: none; display: block; cursor: pointer; }
#header nav ul { margin: 0; padding: 0; list-style: none; }
#header nav > ul { display: block; float: right; }
#header nav > ul > li { position: relative; float: left; }
#header nav > ul > li:hover > .sub-menu { display: block; }
#header nav > ul > li > a { margin: 45px 0 0 0; padding: 17px 20px; color: #008c4d; font-size: 16px; line-height: 22px; letter-spacing: 2px; font-weight: 700; text-transform: uppercase; transition: color 0.3s ease; }
#header nav > ul > li > a:hover, #header nav > ul > li:hover > a { color: #bf3326; transition: color 0.3s ease; }
#header nav > ul > li.callout > a { color: #fff; transition: background-color 0.3s ease; background-color: #bf3326; }
#header nav > ul > li.callout > a:hover { transition: background-color 0.3s ease; background-color: #008c4d; }
#header nav .search-activator { display: block; }
#header nav .search-activator:after { font-family: 'FontAwesome'; font-weight: 300; content: "\f002"; display: inline-block; font-size: 18px; line-height: 18px; position: relative; margin: -3px 0 0 0; }
#header nav .search-text { display: none; margin: 0 8px 0 0; }

/* Standard dropdown */
#header nav .sub-menu { width: auto; white-space: nowrap; display: none; position: absolute; margin: 0; padding: 0; left: 0; z-index: 10; background-color: #008c4d; }
#header nav .sub-menu li a { padding: 10px 25px; color: #fff; }
#header nav .sub-menu li a:hover { background-color: #e6b157; }

.hamburger { display: none; }

/* Overlay search */
.search-overlay { position: fixed; display: none; height: 100%; width: 100%; text-align: center; background: rgba(255, 255, 255, 0.80); top: 0; bottom: 0; left: 0; right: 0; z-index: 100; }
.search-overlay-visible { display: table; }
.search-overlay .search-container { display: table-cell; vertical-align: middle; width: 100%; z-index: 110; }
.search-overlay .search-container form { display: inline-block; width: 100%; max-width: 600px; max-width: 60vw; padding-top: 100px; padding-bottom: 100px; }
.search-overlay .search-container form .search-container-form { width: 100%; max-width: none; position: relative; }
.search-overlay .search-container form .search-container-form input { display: inline-block; margin: 0px; width: 100%; font-size: 28px; font-size: 3.5vh; padding: .8em 3em .8em 1.5em; border: 1px solid #008c4d; color: #008c4d; }
.search-overlay form input::placeholder { color: #008c4d; opacity: 1; }
.search-overlay form input::-webkit-input-placeholder { color: #008c4d; opacity: 1; }
.search-overlay form input::-moz-placeholder { color: #008c4d; opacity: 1; }
.search-overlay form input:-ms-input-placeholder { color: #008c4d; opacity: 1; }
.search-overlay form input:-moz-placeholder { color: #008c4d; opacity: 1; }
.search-overlay .search-container form .search-container-form:after { content: "\f002"; font-family: 'FontAwesome'; display: block; color: #008c4d; position: absolute; top: 0; right: 0; padding: .8em 1.5em .8em 1.5em; font-size: 3.8vh; font-weight: 300; }

/* Mobile search */
.mobile-search { display: none; padding: 20px 10px; background: #008c4d; position: relative; }
.mobile-search form { display: block; position: relative; }
.mobile-search form input { display: inline-block; margin: 0px; width: 100%; font-size: 20px; line-height: 20px; -webkit-appearance: none; border-radius: 0; border: 1px solid #fff; color: #fff; background: #008c4d; padding: .8em 3em .8em 1.5em; }
.mobile-search form input::-webkit-input-placeholder { color: #fff; }
.mobile-search form:after { content: "\f002"; font-family: 'FontAwesome'; display: block; color: #fff; position: absolute; top: 0; right: 0; padding: .8em 1.5em .8em 1.5em; font-size: 22px; font-weight: 300; }

#main { padding: 145px 0 0 0; }

.home #hero { position: relative; height: 650px; display: table; width: 100%; background-repeat: no-repeat; background-size: cover; background-position: cover; margin-bottom: 77px; }
.home #hero .hero-inner { display: table; width: 100%; height: 100%; position: relative; }
.home #hero .hero-inner .hero-content { background: #e4d9cb url(../img/burlap-dark.png) repeat; padding: 45px; position: absolute; bottom: -70px; left: 0; right: 0; -webkit-box-shadow: 0px 0px 7px 0px rgba(0,0,0,0.5); -moz-box-shadow: 0px 0px 7px 0px rgba(0,0,0,0.5); box-shadow: 0px 0px 7px 0px rgba(0,0,0,0.5); }
.home #hero .hero-inner .hero-content p:last-of-type { margin-bottom: 0; padding-bottom: 0; }
.home #hero .hero-inner .hero-content .youtube-container { -webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.4); -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.4); box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.4); }

#interior-hero { background: #e4d9cb url(../img/burlap-dark.png) repeat; height: 560px; overflow: hidden; -webkit-box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.4); -moz-box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.4); box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.4); }
#interior-hero.no-hero { height: auto; overflow-y: visible; }
#interior-hero .hero-content { position: absolute; top: 0; left: 0; z-index: 2; max-width: 600px; width: 100%; padding: 30px 0; }
#interior-hero.no-hero .hero-content { position: relative; max-width: 100%; }
#interior-hero .hero-content h1 { font-size: 48px; line-height: 52px; padding: 0 0 25px 0; margin: 0 0 35px 0; }
#interior-hero .hero-content p { margin: 0 0 18px 0; padding: 0; max-width: 545px; }
#interior-hero.no-hero .hero-content p { max-width: 100%; }
#interior-hero .hero-content p:last-of-type { margin: 0; padding: 0; }
#interior-hero .hero-image { position: absolute; left: 460px; /*calc(50% - 140px);*/ width: 835px; height: 560px; }
#interior-hero .hero-image.overlay:before { position: absolute; z-index: 1; top: 0; left: 0; width: 835px; height: 560px; background: url(../img/forward-slash.png) top left no-repeat; content: ""; }

#blog-hero .extended-container { background: #e4d9cb url(../img/burlap-dark.png) repeat; padding: 30px 30px 60px 30px; margin: 25px auto 0 auto; }

.standard-block { padding: 60px 0; }
.standard-block.gradient-block { padding: 60px 0 0 0; }
.standard-block.generic-content { padding: 50px 0; }
.standard-block.address-contact-block { padding: 0 0 50px 0; }

.simple-column-block + .comparison-grid-block { padding: 0 0 60px 0; }
.comparison-grid-block + .gallery-block { padding: 0 0 60px 0; }

.callout-block { padding: 90px 0; background: #e4d9cb url(../img/burlap-dark.png) repeat; }
.callout-block h2 { font-size: 36px; line-height: 55px; color: #008c4d; letter-spacing: 1px; padding: 0 0 15px 0; margin: 0 0 40px 0; text-align: center; border-bottom: 5px solid #e6b157; }
.callout-block h2:before,
.callout-block h2:after { display: none; }
.callout-block ul.first { display: block; width: 50%; float: left; clear: left; padding: 0 0 0 20px; margin: 0; }
.callout-block ul.second { display: block; width: calc(50% - 20px); float: right; clear: right; padding: 0 0 0 20px; margin: 0; }
.callout-block p { margin: 0 0 25px 0; padding: 0; }
.callout-block img { -webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.4); -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.4); box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.4); display: block; width: 100%; }
.callout-block .callout-content { margin: 0 0 55px 0; }
.callout-block .callout-content:after { display: table; clear: both; content: ""; float: none; }
.callout-block .col-2:first-of-type { padding-right: 25px; }
.callout-block .col-2:last-of-type { padding-left: 25px; }

.icon-block { padding: 90px 0 100px 0; position: relative; }
.icon-block .icon-block-content { max-width: 785px; text-align: center; font-size: 18px; line-height: 32px; display: table; margin: 0 auto 70px auto; }
.icon-block h3 { color: #1d4b6e; text-align: center; margin: 0 0 50px 0; }
.icon-block .col-6 { padding-left: 12px; padding-right: 12px; }
.icon-block .col-6:first-of-type { padding-left: 0; }
.icon-block .col-6:last-of-type { padding-right: 0; }
.icon-box-icon { display: table; background: #1d4b6e; border-radius: 100%; padding: 31px; margin: 0 auto 30px auto; overflow: hidden; }
.icon-box-icon img { display: block; max-width: 107px; max-height: 107px; min-height: 50px; min-width: 50px; width: 100%; height: 100%; margin: 0 auto; }
.icon-box-icon-label { font-size: 24px; line-height: 32px; letter-spacing: 2px; display: block; text-align: center; text-decoration: none !important; color: #000; text-transform: uppercase; }

.reviews-block { position: relative; padding: 65px 0 50px 0; }
.reviews-block .review-container { position: relative; padding: 55px 150px 40px 150px; }
.reviews-block .review-container .review-content { padding: 55px 45px; background-color: #fff; -webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.2); -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.2); box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.2); }
.reviews-block .review-container .review-content .review strong.review-title { font-size: 24px; line-height: normal; letter-spacing: 0.7px; font-family: 'Roboto Slab', serif; font-weight: 700; display: block; margin: 0 0 15px 0; }
.reviews-block .review-container .review-content .review { height: 0; display: block; visibility: hidden; opacity: 0; transition: height 0s, opacity 0.6s, visibility 0s linear; }
.reviews-block .review-container .review-content .review.selected { height: auto; display: block; opacity: 1; visibility: visible; }
.reviews-block .review-container .review-content .review p:last-of-type { margin-bottom: 0; padding-bottom: 0; }
.reviews-block .review-container .review-nav-button { display: block; position: absolute; top: calc(50% - 45px); width: 90px; height: 90px; background: #0e864a; color: #fff; cursor: pointer; }
.reviews-block .review-container .review-nav-button.review-previous { left: 0; }
.reviews-block .review-container .review-nav-button.review-previous:after { content: '←'; font-family: 'Lucida Grande', sans-serif; font-size: 72px; line-height: 90px; position: absolute; font-weight: bold; text-align: center; width: 90px; }
.reviews-block .review-container .review-nav-button.review-next { right: 0; }
.reviews-block .review-container .review-nav-button.review-next:after { content: '→'; position: absolute; width: 90px; text-align: center; line-height: 90px; font-size: 72px; font-family: 'Lucida Grande', sans-serif; font-weight: bold; }
.reviews-block .review-pager { margin: 0 auto 55px auto; display: table; font-size: 0px; line-height: 0px; }
.reviews-block .review-pager .page { display: inline-block; width: 65px; height: 5px; background-color: #acacac; margin: 0; cursor: pointer; }
.reviews-block .review-pager .page + .page { margin-left: 10px; }
.reviews-block .review-pager .page.active { background-color: #fff; }

.block-button { font-size: 24px; line-height: 33px; letter-spacing: 2px; display: table; text-align: center; margin: 0 auto; padding: 22px 100px 25px 100px; font-weight: 700; text-decoration: none; text-transform: uppercase; cursor: pointer; }
.standard-block .block-button { background-color: #008c4d; color: #fff; transition: background-color 0.3s ease; }
.standard-block .block-button:hover { background-color: #e6b157; transition: background-color 0.3s ease; }
.callout-block .block-button { background-color: #bf3326; color: #fff; transition: background-color 0.3s ease; }
.callout-block .block-button:hover { background-color: #008c4d; transition: background-color 0.3s ease; }
.reviews-block .block-button { background-color: #1d4b6e; color: #fff; transition: background-color 0.3s ease; }
.reviews-block .block-button:hover { background-color: #0e864a; transition: background-color 0.3s ease; }

.gradient-block .gradient-content { padding: 68px 50px; color: #fff; background: rgb(0,140,77); background: -moz-linear-gradient(rgba(0,140,77,1) 0%, rgba(26,109,72,1) 100%); background: -webkit-linear-gradient(rgba(0,140,77,1) 0%, rgba(26,109,72,1) 100%); background: linear-gradient(rgba(0,140,77,1) 0%, rgba(26,109,72,1) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#008c4d",endColorstr="#1a6d48",GradientType=1); }
.gradient-block .gradient-content:after { clear: both; float: none; display: table; content: ""; }
.gradient-block .gradient-content.col-flip { direction: rtl; }
.gradient-block .gradient-content p { margin: 0 0 20px 0; padding: 0; }
.gradient-block .gradient-content p:last-of-type { margin: 0; padding: 0; }
.gradient-block .gradient-content p,
.gradient-block .gradient-content ul,
.gradient-block .gradient-content ol { color: #fff; }
.gradient-block .gradient-content p a { color: #fff; font-weight: 700; }
.gradient-block .gradient-content .youtube-container { margin: 0 0 20px 0; -webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.4); -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.4); box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.4); }
.gradient-block .gradient-content .youtube-container iframe { padding: 15px; background: #fff; -webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.4); -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.4); box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.4); }
.gradient-block .gradient-content img { padding: 15px; background: #fff; width: 100%; max-width: 100%; display: block; margin: 0 0 20px 0; -webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.4); -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.4); box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.4); }
.gradient-block .gradient-content h2 { font-size: 28px; line-height: 2.29; margin: 0 0 20px 0; }
.gradient-block .gradient-content h3 { font-size: 24px; line-height: 2.29; margin: 0 0 20px 0; }
.gradient-block .gradient-content h4 { font-size: 20px; line-height: 2.29; margin: 0 0 20px 0; }
.gradient-block .gradient-content h5 { font-size: 18px; line-height: 2.29; margin: 0 0 20px 0; }
.gradient-block .gradient-content h6 { font-size: 18px; line-height: 2.29; margin: 0 0 20px 0; }
.gradient-block .buttons { margin: 20px 0 0 0; padding: 0; }
.gradient-block .buttons .button { cursor: pointer; display: block; text-align: center; text-decoration: none; text-transform: uppercase; padding: 17px 19px; font-size: 16px; line-height: 22px; letter-spacing: 2px; background-color: #fff; color: #000; transition: background-color 0.3s ease; }
.gradient-block .buttons .button:hover { background-color: #e6b157; transition: background-color 0.3s ease; }
.gradient-block .buttons .button-1 { width: 100%; display: block; }
.gradient-block .buttons .button-2 { width: calc(50% - 12px); display: inline-block; }
.gradient-block .buttons .button-3 { width: calc(33.3% - 12px); display: inline-block; }
.gradient-block .buttons .button + .button { margin-left: 24px; }
.gradient-block .buttons .button.cta-button { background-color: #bf3326; color: #fff; transition: background-color 0.3s ease; }
.gradient-block .buttons .button.cta-button:hover { background-color: #008c4d; transition: background-color 0.3s ease; }

.map-container { width: 100%; height: 0; padding-bottom: 75.48%; position: relative; }
.map-container iframe { width: 100%; height: 100%; position: absolute; top: 0; left: 0; border: none; outline: none; padding: 15px; background: #fff; -webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.2); -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.2); box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.2); }

.address-block a { color: #1a1919; text-decoration: none; }
.address-block .contact-information { margin: 40px 0 0 0; }
.address-block .contact-information span { display: inline-block; font-size: 18px; line-height: 32px; }
.address-block .contact-information .state,
.address-block .contact-information .zip-code { margin-left: 5px; }
.address-block .contact-information .street-address-1,
.address-block .contact-information .telephone,
.address-block .contact-inforation .fax { display: block; }

.blog-block { padding: 30px 0 45px 0; }
.blog-block:after { display: table; clear: both; float: none; content: ""; }
.blog-block .blog-list-item { display: table; width: 100%; margin: 0 auto 50px auto; }
.blog-block .blog-list-item:last-of-type { margin: 0 auto; }
.blog-block .blog-list-item .col-blog-content h3 { color: #bf3326; font-size: 24px; line-height: normal; letter-spacing: 1px; }
.blog-block .blog-list-item .col-blog-content .post-date { color: #1d4b6e; margin: 0 0 21px 0; font-family: 'Roboto Slab', serif; font-weight: 700; }
.blog-block .blog-list-item .col-blog-content .post-excerpt { font-size: 18px; line-height: 1.78; margin: 0 0 18px 0; }
.blog-block .blog-list-item .col-blog-content .post-permalink { font-size: 18px; line-height; normal; font-weight: 700; letter-spacing: 1.1px; color: #000; }
.blog-block .blog-list-item .col-blog-content .post-permalink:hover { color: #bf3326; }
.blog-block + .blog-block { margin: 0 auto; padding: 15px 0 45px 0; }
.post-pagination { display: table; margin: 0 auto 20px auto; }
.post-pagination .page-numbers { color: #000; display: inline-block; font-size: 24px; line-height: 32px; background-color: transparent; text-decoration: none; font-weight: 600; padding: 7px 10px; }
.post-pagination .page-numbers:hover { background-color: #e6b157; }
.post-pagination .page-numbers.current { background-color: #1d4b6e; color: #fff; }

.blog-block.blog-single h1,
.blog-block.blog-single h2,
.blog-block.blog-single h3,
.blog-block.blog-single h4,
.blog-block.blog-single h5,
.blog-block.blog-single h6 { border: none; }
.blog-block.blog-single h1:before,
.blog-block.blog-single h1:after,
.blog-block.blog-single h2:before,
.blog-block.blog-single h2:after,
.blog-block.blog-single h3:before,
.blog-block.blog-single h3:after { display: none; }
.blog-block.blog-single h1 { color: #bf3326; font-size: 36px; line-height: normal; letter-spacing: 0.8px; margin: 0 0 15px 0; padding: 0; }
.blog-block.blog-single h2 { color: #bf3326; font-size: 33px; line-height: normal; letter-spacing: 0.8px; margin: 0 0 15px 0; padding: 0; }
.blog-block.blog-single h3 { color: #bf3326; font-size: 30px; line-height: normal; letter-spacing: 0.8px; margin: 0 0 15px 0; padding: 0; }
.blog-block.blog-single h4 { color: #bf3326; font-size: 27px; line-height: normal; letter-spacing: 0.8px; margin: 0 0 15px 0; padding: 0; }
.blog-block.blog-single h5 { color: #bf3326; font-size: 24px; line-height: normal; letter-spacing: 0.8px; margin: 0 0 15px 0; padding: 0; }
.blog-block.blog-single h6 { color: #bf3326; font-size: 21px; line-height: normal; letter-spacing: 0.8px; margin: 0 0 15px 0; padding: 0; }
.blog-block.blog-single .post-date { color: #1d4b6e; font-size: 24px; line-height: normal; font-family: 'Roboto Slab', serif; font-weight: 700; letter-spacing: 0.7px; display: block; margin: 0 0 15px 0; }
.blog-block.blog-single a { color: #000; font-weight: 700; }
.blog-block.blog-single a:hover { color: #ad392b; }

.address-contact-block .container { border-top: 5px solid #e6b157; padding-top: 50px; }
.address-contact-block .col-2 { text-align: center; }
.address-contact-block a { color: #1a1919; }
.address-contact-block a:hover { color: #bf3326; }
.address-contact-block .label { display: block; font-size: 24px; line-height: normal; }
.address-contact-block .contact-information span { font-weight: 700; display: inline-block; font-size: 24px; line-height: normal; }
.address-contact-block .contact-information .city { text-decoration: underline; }
.address-contact-block .contact-information .state,
.address-contact-block .contact-information .zip-code { margin-left: 5px; text-decoration: underline; }
.address-contact-block .contact-information .street-address-1,
.address-contact-block .contact-information .telephone,
.address-contact-block .contact-inforation .fax { display: block; font-size: 24px; line-height: normal; }

.tab-container { padding: 40px 50px 60px 50px; background-color: #fff; -webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.4); -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.4); box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.4); }
.tab-container .tab-buttons { margin: 0 0 30px 0; }
.tab-container .tab-button { display: inline-block; padding: 16px; background-color: #f1f0ec; color: #000; text-transform: uppercase; text-decoration: none; font-size: 16px; line-height: 22px; letter-spacing: 2px; text-align: center; cursor: pointer; font-weight: 700; }
.tab-container .tab-button.selected { background-color: #bf3326; color: #fff; }
.tab-container .tab-button + .tab-button { margin-left: 11px; }
.tab-container .tab-button.tab-1 { width: 100%; }
.tab-container .tab-button.tab-2 { width: calc(50% - (11px / 2)); }
.tab-container .tab-button.tab-3 { width: calc(33.3% - (22px / 3)); }
.tab-container .tab-button.tab-4 { width: calc(25% - (33px / 4)); }
.tab-container .tab-button.tab-5 { width: calc(20% - (44px / 5)); }
.tab-container .tabs .tab { display: none; }
.tab-container .tabs .tab.active { display: block; }
.tab-container .tabs .tab img { width: 100%; display: block; border: none; outline: none; margin: 0 0 40px 0; }
.tab-container .tabs .tab h3 { color: #bf3326; font-size: 36px; line-height: normal; margin: 0 0 15px 0; }
.tab-container .tabs .tab .tab-subtitle { display: block; color: #008c4d; font-size: 24px; line-height: 32px; margin: 0 0 20px 0; font-family: 'Roboto Slab', serif; font-weight: 700; }

/* Footer */
#footer { padding: 50px 0 30px 0; background: #fff; font-size: 16px; line-height: 22px; }
#footer .logo { display: block; float: left; margin: 0; max-width: 172px; border: none; outline: none; }
#footer .logo img { display: block; width: 100%; height: auto; border: none; outline: none; }

#footer .contact-information { margin: 30px 0 0 0; display: block; float: left; clear: both; width: 100%; }

#footer > .container > .col-2 + .col-2 { text-align: right; padding: 20px 0 0 0; }

#footer .address { font-weight: 300; }
#footer .address a { text-decoration: none; color: #1d1f20; }
#footer .address span { display: inline-block; }
#footer .address .state,
#footer .address .zip-code { margin-left: 5px; }
#footer .address .street-address-1 { clear: both; display: block; }

#footer .telephony { font-weight: 300; }
#footer .telephony a { text-decoration: none; color: #1d1f20; }
#footer .telephony span { display: block; }

#footer .footer-title { margin: 0 0 15px 0; display: block; }

#footer .affiliates { list-style: none; margin: 0 0 10px 0; padding: 0; }
#footer .affiliates li { display: inline-block; }
#footer .affiliates li + li { margin: 0 0 0 30px; }
#footer .affiliates li a { display: block; border: none; outline: none; }

#breadcrumbs { list-style: none; margin: 0 0 20px 0; padding: 0; overflow: hidden; color: #1d4b6e; }
#breadcrumbs li { display: inline-block; vertical-align: middle; margin-right: 7px; }
#breadcrumbs li a { color: #1d4b6e; font-size: 18px; line-height: 32px; text-decoration: none; }
#breadcrumbs .separator { font-size: 18px; line-height: 32px; font-weight: 600; color: #1d4b6e; }

.social-accounts { list-style: none; margin: 30px 0 0 30px; padding: 0; float: left; }
.social-accounts li { display: inline-block; }
.social-accounts li + li { margin: 0 0 0 8px; }
.social-accounts li a { height: 36px; font-family: 'FontAwesome'; font-size: 36px; line-height: 36px; text-decoration: none; font-weight: normal; }

.youtube-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; }
.youtube-container iframe, .youtube-container object, .youtube-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; outline: none; }

.gform_wrapper { margin: 0 !important; }
.gform_wrapper input,
.gform_wrapper textarea { border: 1px solid #979797; border-radius: 6px; padding: 28px 15px !important; font-size: 18px; line-height: 24px; }
.gform_wrapper .gfield_label { margin: 0 0 8px 0; font-size: 24px !important; font-weight: 600 !important; }
.gform_wrapper ul li.gfield { margin-top: 40px !important; }
.gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label { font-size: 18px !important; }
.gform_wrapper .gform_footer input.button,
.gform_wrapper .gform_footer input[type="submit"] { text-align: center !important; background-color: #1d4b6e; color: #fff; border: none !important; outline: none !important; font-size: 24px !important; line-height: 33px !important; letter-spacing: 2px; display: table !important; margin: 0 auto !important; padding: 22px 100px 25px 100px !important; font-weight: 700 !important; text-decoration: none; text-transform: uppercase; border-radius: 0 !important; cursor: pointer; transition: background-color 0.3s ease; }
.gform_wrapper .gform_footer input.button:hover,
.gform_wrapper .gform_footer input[type="submit"]:hover { background-color: #e6b157; transition: background-color 0.3s ease; }
.gform_wrapper .gfield_radio li label { font-size: 24px !important; }

.generic-content:after { display: table; float: none; clear: both; content: ""; }
.generic-content a { color: #000; font-weight: 700; }
.generic-content a:hover { color: #bf3326; }
.generic-content h1,
.simple-column-block .col-b h1 { font-size: 48px; color: #bf3326; text-align: left; border: none; margin: 0 0 20px 0; padding: 0; }
.generic-content h2,
.simple-column-block .col-b h2 { font-size: 36px; color: #bf3326; text-align: left; border: none; margin: 0 0 20px 0; padding: 0; }
.generic-content h3,
.simple-column-block .col-b h3 { font-size: 32px; color: #1d4b6e; text-align: left; border: none; margin: 0 0 20px 0; padding: 0; }
.generic-content h4,
.simple-column-block .col-b h4 { font-size: 28px; color: #008c4d; text-align: left; border: none; margin: 0 0 20px 0; padding: 0; }
.generic-content h5,
.simple-column-block .col-b h5 { font-size: 24px; color: #bf3326; text-align: left; border: none; margin: 0 0 20px 0; padding: 0; }
.generic-content h6,
.simple-column-block .col-b h6 { font-size: 20px; color: #bf3326; text-align: left; border: none; margin: 0 0 20px 0; padding: 0; }
.generic-content h1:before,
.generic-content h1:after,
.simple-column-block .col-b h1:before,
.simple-column-block .col-b h1:after { display: none; }
.generic-content h2:before,
.generic-content h2:after,
.simple-column-block .col-b h2:before,
.simple-column-block .col-b h2:after { display: none; }
.generic-content h3:before,
.generic-content h3:after,
.simple-column-block .col-b h3:before,
.simple-column-block .col-b h3:after { display: none; }
.generic-content h4:before,
.generic-content h4:after,
.simple-column-block .col-b h4:before,
.simple-column-block .col-b h4:after { display: none; }
.generic-content h5:before,
.generic-content h5:after,
.simple-column-block .col-b h5:before,
.simple-column-block .col-b h5:after { display: none; }
.generic-content h6:before,
.generic-content h6:after,
.simple-column-block .col-b h6:before,
.simple-column-block .col-b h6:after { display: none; }
.generic-content p + h1,
.generic-content p + h2,
.generic-content p + h3,
.generic-content p + h4,
.generic-content p + h5,
.generic-content p + h6,
.generic-content ul + h1,
.generic-content ul + h2,
.generic-content ul + h3,
.generic-content ul + h4,
.generic-content ul + h5,
.generic-content ul + h6,
.generic-content ol + h1,
.generic-content ol + h2,
.generic-content ol + h3,
.generic-content ol + h4,
.generic-content ol + h5,
.generic-content ol + h6,
.generic-content div + h1,
.generic-content div + h2,
.generic-content div + h3,
.generic-content div + h4,
.generic-content div + h5,
.generic-content div + h6,
.simple-column-block .col-b p + h1,
.simple-column-block .col-b p + h2,
.simple-column-block .col-b p + h3,
.simple-column-block .col-b p + h4,
.simple-column-block .col-b p + h5,
.simple-column-block .col-b p + h6,
.simple-column-block .col-b ul + h1,
.simple-column-block .col-b ul + h2,
.simple-column-block .col-b ul + h3,
.simple-column-block .col-b ul + h4,
.simple-column-block .col-b ul + h5,
.simple-column-block .col-b ul + h6,
.simple-column-block .col-b ol + h1,
.simple-column-block .col-b ol + h2,
.simple-column-block .col-b ol + h3,
.simple-column-block .col-b ol + h4,
.simple-column-block .col-b ol + h5,
.simple-column-block .col-b ol + h6,
.simple-column-block .col-b div + h1,
.simple-column-block .col-b div + h2,
.simple-column-block .col-b div + h3,
.simple-column-block .col-b div + h4,
.simple-column-block .col-b div + h5,
.simple-column-block .col-b div + h6 { margin-top: 35px; }

.simple-column-block .col-b + .col-b { margin-left: 15px; }
.simple-column-block .col-3.col-num-1 { width: calc(48% - (30px / 3)); }
.simple-column-block .col-3.col-num-2 { width: calc(26% - (30px / 3)); }
.simple-column-block .col-3.col-num-3 { width: calc(26% - (30px / 3)); }
.simple-column-block .container:after { display: table; clear: both; float: none; content: ""; }
.simple-column-block a { color: #000; font-weight: 700; }
.simple-column-block a:hover { color: #ad392b; }

.textual-xola { text-decoration: underline; font-weight: 700; cursor: pointer; display: inline; font-size: 18px; line-height: 32px; }
.textual-xola:hover { color: #ad392b; }

.slick-list { width: 95% !important; margin: 0 auto !important; }
.gallery-count-1 .slick-list,
.gallery-count-2 .slick-list,
.gallery-count-3 .slick-list,
.gallery-count-4 .slick-list { width: 100% !important; }
.slick-slide { padding: 5px !important; }
.slick-prev::before, .slick-next::before { font-family: 'Open Sans', Arial, Helvetica, sans-serif !important; color: #000 !important; font-weight: 700 !important; }
.slick-prev { left: 0 !important; }
.slick-next { right: 0 !important; }

a.anchored { display: block; position: relative; top: -450px; visibility: hidden; }
a.anchored-less { display: block; position: relative; top: -200px; visibility: hidden; }

.site-by-scheffey { display: inline-block; padding-right: 18px; background: url(../img/scheffey-icon.png) no-repeat right center; font-weight: 600; text-decoration: none; color: #000; font-size: 12px; line-height: 12px; }
.site-by-scheffey:hover { color: #bf3326; }

.alerts { margin: 0; padding: 20px 15px; background: #bf3326; font-size: 16px; line-height: 26px; color: #fff; font-weight: normal; }
.alerts p:last-of-type { margin: 0; padding: 0; font-size: 16px; line-height: 26px; color: #fff; font-weight: normal; }
.alerts a { color: #fff; text-decoration: underline; }

.highlighted-message { display: block; text-align: center; padding: 8px; background: #e6b157; color: #000; font-weight: normal; border: 2px dashed #b87400; }

.sc-upd-mdn-accordion { margin: auto; margin-bottom: 16px; }
.sc-upd-mdn-accordion-item { background: #fff; border-radius: 3px; border: 1px solid #ddd; margin-bottom: 10px; overflow: hidden; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05); }
.sc-upd-mdn-accordion-header { display: flex; justify-content: space-between; align-items: center; padding: 16px; cursor: pointer; font-weight: bold; transition: background-color 0.3s; text-align: left; }
.sc-upd-mdn-accordion-header span { flex-grow: 1; margin-right: 10px; }
.sc-upd-mdn-accordion-header:hover { background-color: rgba(230, 177, 87, 0.75); }
.sc-upd-mdn-accordion-content { max-height: 0; overflow: hidden; transition: max-height 0.3s ease, padding 0.3s ease; padding: 0 32px; }
.sc-upd-mdn-accordion-content p { margin: 16px 0 0 0; line-height: 1.5; }
.sc-upd-mdn-accordion-content p:first-of-type { margin: 0; }
.sc-upd-mdn-accordion-icon { width: 20px; height: 20px; transition: transform 0.3s ease; flex-shrink: 0; }
.sc-upd-mdn-accordion-item.active .sc-upd-mdn-accordion-header { background-color: rgba(230, 177, 87, .25); }
.sc-upd-mdn-accordion-item.active .sc-upd-mdn-accordion-icon { transform: rotate(180deg); }
.sc-upd-mdn-accordion-item.active .sc-upd-mdn-accordion-content { padding: 32px; max-height: unset; }

.sch-e-hai-floating-hours-container { position: fixed; bottom: 24px; right: 24px; display: flex; flex-direction: column; align-items: center; z-index: 998; }
.sch-e-hai-floating-hours-button { background-color: var(--sch-e-hai-primary); color: white; border: none; width: 64px; height: 64px; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3); transition: transform 0.2s, box-shadow 0.3s; }
.sch-e-hai-floating-hours-button:hover { transform: translateY(-3px); box-shadow: 0 6px 16px rgba(0, 0, 0, 0.35); background-color: var(--sch-e-hai-primary-hover); }
.sch-e-hai-floating-hours-button:active { transform: translateY(1px); }
.sch-e-hai-floating-hours-button .icon { display: flex; align-items: center; justify-content: center; }
.sch-e-hai-button-label { font-family: sans-serif; margin-top: 8px; font-size: 13px; font-weight: 700; color: #000000; text-align: center; white-space: nowrap; background-color: rgba(255, 255, 255, 0.85); padding: 3px 8px; border-radius: 12px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); letter-spacing: 0.3px; text-shadow: 0px 0px 1px rgba(255, 255, 255, 0.7); }
.sch-e-hai-clock-hour-hand { transform-origin: center; animation: rotateHourHand 36s linear infinite; }
.sch-e-hai-clock-minute-hand { transform-origin: center; animation: rotateMinuteHand 4s linear infinite; }
.sch-e-hai-pulse { animation: sch-e-hai-pulse 1.5s infinite; }
.sch-e-hai-chat-popover { position: fixed; bottom: 138px; right: 24px; width: 380px; background-color: var(--sch-e-hai-background); border-radius: var(--sch-e-hai-radius); box-shadow: 0 5px 25px rgba(0, 0, 0, 0.3); z-index: 999; overflow: hidden; display: none; opacity: 0; transform: translateY(20px); transition: opacity 0.3s, transform 0.3s; }
.sch-e-hai-chat-popover.active { display: block; opacity: 1; transform: translateY(0); }
.sch-e-hai-chat-header { padding: 1rem; background-color: var(--sch-e-hai-secondary); display: flex; justify-content: space-between; align-items: center; }
.sch-e-hai-chat-header h2 { font-family: sans-serif; margin: 0; font-size: 1.1rem; color: var(--sch-e-hai-foreground); font-weight: 700; }
.close-button { color: var(--sch-e-hai-foreground); font-size: 1.25rem; font-weight: bold; cursor: pointer; background: none; border: none; height: 24px; width: 24px; display: flex; align-items: center; justify-content: center; border-radius: 50%; transition: background-color 0.2s; }
.close-button:hover { background-color: rgba(0, 0, 0, 0.1); }
.sch-e-hai-chat-body { padding: 1rem; max-height: 400px; overflow-y: auto; }
.sch-e-hai-info-section { margin-bottom: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--sch-e-hai-border); }
.sch-e-hai-info-section:last-child { margin-bottom: 0.5rem; padding-bottom: 0.5rem; border-bottom: none; }
.sch-e-hai-info-section h3 { font-family: sans-serif; font-size: 1rem; margin-bottom: 0.5rem; color: var(--sch-e-hai-foreground); font-weight: 700; }
.sch-e-hai-info-section ul { list-style: none; padding: 0; margin: 8px 0; }
.sch-e-hai-info-section li { padding: 0; font-size: 0.9rem; }
.sch-e-hai-info-section strong { color: var(--sch-e-hai-primary); }
.sch-e-hai-book-now-button { display: flex; align-items: center; justify-content: center; width: 100%; padding: 0.9rem; margin-top: 0.5rem; background-color: var(--sch-e-hai-primary); color: white; border: none; cursor: pointer; font-weight: 700; font-size: 1rem; transition: background-color 0.2s, transform 0.1s; letter-spacing: 0.5px; }
.sch-e-hai-book-now-button:hover { background-color: var(--sch-e-hai-primary-hover); transform: translateY(-1px); }
.sch-e-hai-book-now-button:active { transform: translateY(1px); }
.sch-e-hai-book-now-button .icon { margin-right: 0.5rem; }

/* Media Queries */
@media screen and (max-width: 1140px) {
	.standard-pad { padding: 0 20px; }
	#header .logo { margin: 26px 0 26px 20px; }

	.home #hero { position: relative; height: auto; display: table; width: 100%; background: none; margin-bottom: 5px; }
	.home #hero .hero-inner .hero-content { padding: 0; position: relative; bottom: 0; top: 0; }
	.home #hero .hero-inner .hero-content .col-2.col-ib { display: block; width: 100%; position: relative; }
	.home #hero .hero-inner .hero-content .col-2.col-ib:first-of-type { padding: 45px 20px; }
	.home #hero .hero-inner .hero-content .col-2.col-ib:last-of-type { padding: 25px 20px 45px 20px; }

	.blog-block + .blog-block { padding: 60px 0 45px 0; }
}

@media screen and (max-width: 1024px) {
	.gallery-count-1 .slick-list,
	.gallery-count-2 .slick-list,
	.gallery-count-3 .slick-list,
	.gallery-count-4 .slick-list { width: 90% !important; }
}

@media screen and (max-width: 1090px) {
	#header nav > ul > li > a { padding: 17px 10px; }

	/* Full Package Grid */
	.full-package-grid { display: grid; grid-template-columns: 100%; grid-template-rows: 3; grid-column-gap: 0; grid-row-gap: 20px; }
	.full-package-grid .grid-cell-0 { grid-column: 1; grid-row: 1/2; }
	.full-package-grid .grid-cell-1 { grid-column: 1; grid-row: 2/3; }
	.full-package-grid .grid-cell-2 { grid-column: 1; grid-row: 3/4; }

	.full-package-grid .grid-cell.grid-cell-0 .grid-cell-content,
	.full-package-grid .grid-cell.grid-cell-1 .grid-cell-content,
	.full-package-grid .grid-cell.grid-cell-2 .grid-cell-content { padding: 15px 10px; }
	.full-package-grid .grid-cell .grid-cell-content h3 { font-size: 20px; }
	.full-package-grid .grid-cell.grid-cell-1 .grid-cell-content h3,
	.full-package-grid .grid-cell.grid-cell-2 .grid-cell-content h3 { max-width: 100%; }

	.full-package-grid .grid-cell.grid-cell-1 .grid-cell-content .details-button,
	.full-package-grid .grid-cell.grid-cell-2 .grid-cell-content .details-button { position: static; display: block; margin: 40px 0 0 0; width: 100%; text-align: center; }

	.callout-block .col-2 { width: 100%; display: block; }
	.callout-block .col-2:first-of-type { padding: 0; }
	.callout-block .col-2:last-of-type { padding: 0; }
	.callout-block .callout-content { margin: 0 0 40px 0; }
	.callout-block img { margin: 0 0 45px 0; }
	.callout-block ul.first { display: block; width: 100%; float: none; clear: both; padding: 0 0 0 20px; margin: 0; }
	.callout-block ul.second { display: block; width: 100%; float: none; clear: both; padding: 0 0 0 20px; margin: 0; }
}

@media screen and (max-width: 960px) {
	.col-flip .col-2:first-of-type { padding-left: 0; padding-right: 0; }
	.col-flip .col-2:last-of-type { padding-right: 0; padding-left: 0; }

	h1, .pseudo-h1 { font-size: 24px; line-height: normal; }
	h2 { font-size: 24px; line-height: normal; text-align: left; padding-bottom: 16px; margin-bottom: 16px; border-bottom: 5px solid #e6b157; }
	.icon-block h2 { border-bottom: 5px solid #008c4d; }
	.callout-block h2 { font-size: 24px; line-height: normal; text-align: left; margin-bottom: 16px; padding-bottom: 16px; }
	h2:before { display: none; }
	h2:after { display: none; }
	.address-block h2 { margin-bottom: 16px; padding-bottom: 16px; }

	.reviews-block h2 { font-size: 24px; line-height: normal; margin-bottom: 16px; padding-bottom: 16px; border-bottom: 5px solid #ad392b; }
	.reviews-block h2:before,
	.reviews-block h2:after { display: none; }

	.comparison-grid-block h2 { font-size: 24px; line-height: normal; margin-bottom: 30px; padding-bottom: 16px; border-bottom: 5px solid #0e864a; }

	.simple-column-block h2 { padding-bottom: 16px; margin-bottom: 16px; }

	#topbar { text-align: center; }
	#topbar ul { font-size: 14px; line-height: 19px; }
	#topbar ul li { display: block; }
	#topbar ul li + li:before { display: none; content: ""; }

	.hamburger { display: block; float: right; cursor: pointer; margin: 48px 20px 0 0; }
	.hamburger::before { display: block; font-family: 'FontAwesome'; content: '\f0c9'; font-size: 44px; line-height: 30px; text-align: center; margin: 0; color: #008c4d; }
	.hamburger span { text-transform: uppercase; color: #008c4d; font-size: 12px; line-height: 17px; font-weight: 700; letter-spacing: 0.4px; }

	#header { position: relative; }
	#header.mobile-menu-visible { height: 100%; overflow-y: scroll; }

	#header nav { clear: both; display: none; overflow: auto; max-height: 100%; }
	#header nav ul { float: none; clear: both; width: 100%; }
	#header nav ul li { float: none; clear: both; width: 100%; }
	#header nav ul.sub-menu { display: none; position: relative; width: 100%; }
	#header nav > ul { float: none; width: 100%; background-color: #008c4d; }
	#header nav > ul li:hover > .sub-menu { display: none; }
	#header nav > ul > li > a, #header nav > ul > li > a:hover, #header nav > ul > li:hover > a { margin: 0; color: #fff; }
	#header nav > ul .nav-search { display: none; }
	#header nav > ul > li.callout > a:hover { color: #fff; background-color: #bf3326; }

	#header nav .sub-menu li a { background-color: #e6b157; }

	#interior-hero { height: auto; }
	#interior-hero .hero-content { position: relative; max-width: 100%; width: 100%; padding: 40px 0; }
	#interior-hero .hero-content h1 { font-size: 24px; line-height: normal; padding: 0 0 27px 0; margin: 0 0 27px 0; }
	#interior-hero .hero-content p { margin: 0 0 18px 0; padding: 0; max-width: 100%; }
	#interior-hero .hero-content p:last-of-type { margin: 0; padding: 0; }
	#interior-hero .hero-image { display: none; }
	#interior-hero .hero-image.overlay:before { display: none; }

	/* Mobile Search */
	.mobile-search { display: block; }

	#main { padding: 0; }

	.full-package-grid .grid-cell.grid-cell-0 .grid-cell-content .button { display: block; width: 100%; }
	.full-package-grid .grid-cell.grid-cell-0 .grid-cell-content .button + .button { margin: 9px 0 0 0; }

	.standard-block { padding: 40px 0; }
	.icon-block { padding: 25px 0 40px 0; }
	.callout-block { padding: 30px 0 40px 0; }
	.reviews-block { padding: 15px 0 25px 0; }
	.standard-block.generic-content { padding: 15px 0; }
	.gform_wrapper .gfield_label { margin: 0; font-size: 21px !important; }

	.card-grid { display: grid; grid-template-columns: 100%; grid-template-rows: auto auto auto auto; grid-row-gap: 20px; margin: 0 0 30px 0; }
	.card-grid .grid-cell { background-color: #fff; padding: 17px 10px;  }
	.card-grid .grid-cell-0 { grid-column: 1/2; grid-row: 1/2; }
	.card-grid .grid-cell-1 { grid-column: 1/2; grid-row: 2/3; }
	.card-grid .grid-cell-2 { grid-column: 1/2; grid-row: 3/4; }
	.card-grid .grid-cell-3 { grid-column: 1/2; grid-row: 4/5; }
	.card-grid .grid-cell img { margin: 0 0 15px 0; }
	.card-grid .grid-cell .grid-cell-content h3 { font-size: 20px; margin: 0 0 15px 0; }

	.gradient-block .gradient-content { padding: 25px 19px 35px 19px; margin-left: -20px; margin-right: -20px; }
	.gradient-block .gradient-content.col-flip { direction: ltr; }
	.gradient-block .col-2 { display: block; width: 100%; }
	.gradient-block .col-2 + .col-2 { margin: 20px 0 0 0; }
	.gradient-block .buttons .button-2 { width: 100%; display: block; }
	.gradient-block .buttons .button-3 { width: 100%; display: block; }
	.gradient-block .buttons .button + .button { margin: 8px 0 0 0; }

	.address-block .col-2 { display: block; width: 100%; padding-left: 0; padding-right: 0; }
	.address-block .col-2 + .col-2 { margin: 32px 0 0 0; }

	.reviews-block .review-container { padding: 9px 0 40px 0; }
	.reviews-block .review-container .review-content { padding: 11px 20px 75px 20px; }
	.reviews-block .review-container .review-content .review strong.review-title { font-size: 18px; line-height: normal; letter-spacing: 0.5px; }
	.reviews-block .review-container .review-nav-button { display: block; position: absolute; bottom: 40px; top: auto; width: 60px; height: 60px; background: #0e864a; color: #fff; cursor: pointer; }
	.reviews-block .review-container .review-nav-button.review-previous:after { font-size: 22px; line-height: 60px; width: 60px; }
	.reviews-block .review-container .review-nav-button.review-next:after { width: 60px; line-height: 60px; font-size: 22px; }
	.reviews-block .review-pager { margin: 0 auto 30px auto; }
	.reviews-block .review-pager .page { display: inline-block; width: 25px; height: 5px; background-color: #acacac; margin: 0; cursor: pointer; }
	.reviews-block .review-pager .page + .page { margin-left: 10px; }

	.standard-block.comparison-grid-block { padding: 20px 0; }
	.comparison-grid { grid-template-columns: 100%; grid-template-rows: auto auto; grid-column-gap: auto; grid-row-gap: 30px; }
	.comparison-grid .grid-cell { padding: 21px 10px 20px 10px; }
	.comparison-grid .grid-cell-0 { grid-column: 1/2; grid-row: 1/2; }
	.comparison-grid.comparison-grid-cell-count-1 .grid-cell-0 { grid-column: 1/2; grid-row: 1/2; }
	.comparison-grid .grid-cell-1 { grid-column: 1/2; grid-row: 2/3; }
	.comparison-grid .grid-cell .button { position: relative; font-size: 16px; line-height: 22px; letter-spacing: 2px; padding: 15px; bottom: 0; width: 100%; }
	.comparison-grid.comparison-grid-cell-count-1 .grid-cell .button { padding: 15px; width: 100%; }
	.comparison-grid .grid-cell .grid-cell-content { margin: 0 0 30px 0; }
	.comparison-grid .grid-cell .grid-cell-content h3 { font-size: 24px; }
	.comparison-grid .grid-cell .grid-cell-content img { margin: 0 0 30px 0; }
	.comparison-grid .grid-cell .grid-cell-content a { color: #000; font-weight: 700; }
	.comparison-grid .grid-cell .grid-cell-content a:hover { color: #bf3326; }

	#blog-hero .extended-container { padding: 30px 20px; margin: 0 auto; }

	.address-contact-block .col-2 { width: 100%; display: block; padding: 0; margin: 0 auto; }
	.address-contact-block .col-2 + .col-2 { margin-top: 20px; }

	.block-button { padding: 17px 0; width: 100%; font-size: 16px; line-height: 22px; }

	.tab-container { padding: 20px 10px; }
	.tab-container .tab-buttons { margin: 0 0 20px 0; }
	.tab-container .tab-button { display: block; }
	.tab-container .tab-button + .tab-button { margin: 10px 0 0 0; }
	.tab-container .tab-button.tab-1 { width: 100%; }
	.tab-container .tab-button.tab-2 { width: 100%; }
	.tab-container .tab-button.tab-3 { width: 100%; }
	.tab-container .tab-button.tab-4 { width: 100%; }
	.tab-container .tab-button.tab-5 { width: 100%; }
	.tab-container .tabs .tab img { margin: 0 0 20px 0; }
	.tab-container .tabs .tab h3 { font-size: 24px; }
	.tab-container .tabs .tab .tab-subtitle { font-size: 18px; line-height: 24px; margin: 0 0 18px 0; }
	.tab-container .tabs .tab .col-ib { width: 100%; }
	.tab-container .tabs .tab .col-ib + .col-ib { margin: 20px 0 0 0; padding: 0; }

	.col-blog-icon { width: 100%; clear: both; float: none; display: block; margin: 0 0 15px 0; }
	.col-blog-icon img { width: 100%; }
	.col-blog-content { width: 100%; clear: both; float: none; display: block; }

	.generic-content h1,
	.simple-column-block .col-b h1 { font-size: 30px; }
	.generic-content h2,
	.simple-column-block .col-b h2 { font-size: 28px; }
	.generic-content h3,
	.simple-column-block .col-b h3 { font-size: 26px; }
	.generic-content h4,
	.simple-column-block .col-b h4 { font-size: 24px; }
	.generic-content h5,
	.simple-column-block .col-b h5 { font-size: 22px; }
	.generic-content h6,
	.simple-column-block .col-b h6 { font-size: 20px; }

	.simple-column-block .col-b + .col-b { margin-left: 0; }
	.simple-column-block .col-3.col-num-1 { width: 100%; display: block; }
	.simple-column-block .col-3.col-num-2 { width: 100%; display: block; }
	.simple-column-block .col-3.col-num-3 { width: 100%; display: block; }

	.simple-column-block + .comparison-grid-block { padding: 0 0 20px 0; }
	.comparison-grid-block + .gallery-block { padding: 0 0 20px 0; }
}

@media screen and (max-width: 890px) {
	#footer .standard-pad { padding: 0 55px; }
	#footer > .container .col-2 { width: auto; float: none; clear: both; display: table; margin: 0 auto; }
	#footer > .container .col-2:after { clear: both; display: table; content: ""; }
	#footer > .container > .col-2 + .col-2 { text-align: center; padding: 0; margin: 30px auto;  }
	#footer .logo { float: none; clear: both; margin: 0 auto; }
	#footer .contact-information { margin: 30px auto; display: table; float: none; clear: both; }
	.social-accounts { margin: 30px auto; float: none; display: table; }
	#footer .col-2.telephony { margin: 30px 0 0 0; }
	#footer .footer-title { margin: 0 0 20px 0; }
	#footer .affiliates { margin: 0 0 30px 0; }
	#footer .affiliates li { margin: 20px 0 0 0; display: block; }
	#footer .affiliates li + li { margin: 20px 0 0 0; }

	.icon-block .col-6 { width: 33.33333%; margin: 0 0 25px 0; }
	.icon-block .icon-box-icon { margin: 0 auto 20px auto; }
	.icon-block .icon-box-icon-label { font-size: 18px; line-height: 28px; letter-spacing: 1.5px; }
	.icon-block .icon-block-content { max-width: 100%; text-align: left; margin: 0 auto 40px auto; }
	.icon-block h3 { margin: 0 0 30px 0; }

	.pricing .col-b + .col-b { margin-left: 25px; }
	.pricing .price { display: block; font-size: 21px; }
	.pricing .price-label { display: block; font-size: 14px; }
	.slick-list { width: 90% !important; margin: 0 auto !important; }
}

@media screen and (max-width: 768px) {
	.sch-e-hai-chat-popover { width: 320px; right: 16px; }
	.sch-e-hai-floating-hours-container { right: 16px; }
}

@media screen and (max-width: 600px) {
	img.alignright,
	img.alignleft { display: block; float: none; clear: both; margin: 15px 0; padding: 0; width: 100%; max-width: 100%; }
	.pricing .col-b { width: 100%; }
	.pricing .col-b + .col-b { margin: 10px 0 0 0; padding: 0; }
}

@media screen and (max-width: 480px) {
	.icon-block .col-6 { width: 50%; }

	.slick-list { width: 80% !important; margin: 0 auto !important; }
}

/* Clock Hand Animation */
@keyframes rotateHourHand {
	from { transform: rotate(0deg); }
	to { transform: rotate(360deg); }
}

@keyframes rotateMinuteHand {
	from { transform: rotate(0deg); }
	to { transform: rotate(360deg); }
}

/* Button Pulse Animation */
@keyframes sch-e-hai-pulse {
	0% {
		transform: scale(1);
		box-shadow: 0 0 0 0 rgba(191, 51, 38, 0.8);
	}
	50% {
		transform: scale(1.05);
		box-shadow: 0 0 0 12px rgba(191, 51, 38, 0);
	}
	100% {
		transform: scale(1);
		box-shadow: 0 0 0 0 rgba(191, 51, 38, 0);
	}
}
