/* ----- CSS Reset ----- */

* {margin:0; padding:0; border:0; font-size:100%; font:inherit; vertical-align:baseline;}
body {line-height:1;}
button {border:none; border-radius:0; box-shadow:none; background:none; appearance:none; cursor:pointer;}
ol, ul {list-style:none;}
blockquote, q {quotes:none;}
blockquote:before, blockquote:after, q:before, q:after {content:''; content:none;}
img {display:block; max-width:100%; height:auto;}
:focus {outline:none;}
abbr {text-decoration:none;}
strong {font-weight:var(--font-weight-bold);}
em {font-style:italic;}
sub {vertical-align:sub;}
sup {vertical-align:super;}
sub, sup {font-size:0.5em; line-height:1;}
h4, h5, h6 {font-weight:var(--font-weight-bold);}
h1 strong, h2 strong, h3 strong, h4 strong, h5 strong, h6 strong {font-weight:inherit;}
h1 em, h2 em, h3 em {font-style:normal;}

/* ----- Variables ----- */

:root {
  --wpadminbar-height:32px;
  --body-bg-color:var(--color-theme-a);
  --body-font-color:var(--color-theme-b);
  --body-font-size:20px;
  --font-a:'brandon-grotesque';
  --font-b:'elizeth';
  --font-b-line-height:calc(1em + 6px);
  --font-weight-normal:400;
  --font-weight-bold:bold;
  --h1-font-size:64px; 
  --h2-font-size:40px; 
  --h3-font-size:30px; 
  --def-line-height:calc(1em + 10px);
  --def-margin:20px; 
  --content-width:1260px;
  --content-width-min:320px;
  --content-padding:40px;
  --wrapper-width:calc(var(--content-width) - var(--content-padding));
  --header-height:110px;
  --lyt-bl-pad-top:100px;
  --lyt-bl-pad-bot:calc(var(--lyt-bl-pad-top) - var(--def-margin));
  --color-theme-a:#FFF;
  --color-theme-b:#223524;
  --color-theme-c:#A5936C;
  --color-theme-d:#675F3C;
  --color-theme-e:#CDC4B2;
  --color-theme-f:#827766;
  --color-theme-g:#EDECEB;
  --color-theme-h:#614117;
  --border-color-a:#CCC;
}

/* ----- Global ----- */

#wpadminbar {position:fixed!important;}

body {font-family:var(--font-a); font-size:var(--body-font-size); color:var(--body-font-color); text-size-adjust:100%; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; background:var(--body-bg-color); overscroll-behavior-y:none;}
body.nav-active {overflow:hidden;}

#page-wrap {display:flex; flex-direction:column; min-width:var(--content-width-min); max-width:100vw; min-height:100vh;}
.logged-in #page-wrap {min-height:calc(100vh - var(--wpadminbar-height));}

.skip-content {z-index:10000; position:fixed; inset:-41px auto auto 0; display:block; padding:10px; line-height:20px; color:#FFF; text-decoration:none; border:solid #FFF; border-width:0 1px 1px 1px; background:#000; transition:top 0.3s ease;}
.skip-content:focus {top:0;}
.logged-in .skip-content:focus {top:32px;}
.skip-content:hover {text-decoration:underline;}

.hidden {position:absolute!important; left:-9999px!important;}

.wrapper {width:var(--wrapper-width); max-width:100%; margin:0 auto; padding:0 20px;}
.wrapper::after {clear:both; display:block; content:'';}

.cols-wrap:not(.cols-1) {display:grid; grid-template-columns:repeat(var(--cols-per-row), minmax(0, 1fr)); gap:var(--cols-gap);}
.cols-wrap:not(.cols-1) > .col {min-width:0;}
.cols-wrap.cols-2 {--cols-per-row:2; --cols-gap:80px;}
.cols-wrap.cols-3 {--cols-per-row:3; --cols-gap:30px;}
.cols-wrap.cols-4 {--cols-per-row:4; --cols-gap:20px;}
 
iframe.wp-embedded-content {width:100%!important; max-width:100%!important; margin:0 0 20px 0;}

.video-wrap {width:940px; max-width:100%; margin:0 auto 20px auto;}
.video-wrap .video {position:relative; width:100%; height:0; padding-top:56.25%; overflow:hidden;}
.video-wrap .video iframe {position:absolute; inset:0 auto auto 0; width:100%; height:100%;}

.map-wrap {height:300px;}
.map-wrap iframe {width:100%; height:100%;}

/* ----- Buttons ----- */

.button {display:inline-block; max-width:100%; min-height:20px; margin:0; padding:15px 20px; font-size:18px; line-height:20px!important; font-family:var(--font-b); text-transform:uppercase; text-decoration:none!important; box-sizing:border-box; transition:all 0.3s ease!important; cursor:pointer;}
button.button {box-sizing:content-box;}

.button:hover, .button:active, .button:focus {transform:scale(1.05);}

.button.theme-a {color:var(--color-theme-h)!important; background:var(--color-theme-a);}
.button.theme-h {color:var(--color-theme-a)!important; background:var(--color-theme-h);}

/* ----- Social ----- */

.social-links {display:flex; flex-wrap:wrap;}
.editable-content .social-links {padding:20px 0;}
.align-b .editable-content .social-links {justify-content:center;}
.align-c .editable-content .social-links {justify-content:flex-end;}
.social-links li {margin:0 5px!important; padding:0!important; text-align:left;}
.social-links li::before {display:none;}
.social-links li:first-child {margin-left:0;}
.social-links li:last-child {margin-right:0;}
.social-links li a {display:block;}
.social-links li a span {display:block; width:30px; height:30px; text-indent:-9999px; background:center center no-repeat; background-size:24px; box-sizing:border-box; transition:all 0.3s ease!important;}
.social-links li a:hover span,
.social-links li a:active span,
.social-links li a:focus span {transform:scale(1.2);}
.social-links.dark li.facebook a span {background-image:url('../images/social-icons/icon-facebook-dark.svg');}
.social-links.dark li.instagram a span {background-image:url('../images/social-icons/icon-instagram-dark.svg');}
.social-links.dark li.tiktok a span {background-image:url('../images/social-icons/icon-tiktok-dark.svg');}
.social-links.light li.facebook a span {background-image:url('../images/social-icons/icon-facebook-light.svg');}
.social-links.light li.instagram a span {background-image:url('../images/social-icons/icon-instagram-light.svg');}
.social-links.light li.tiktok a span {background-image:url('../images/social-icons/icon-tiktok-light.svg');}

/* ----- Editable Content ----- */

a {text-decoration:none; outline:none; transition:all 0.2s ease;}

h1, h2, h3:not(.title) {margin-bottom:var(--def-margin); line-height:var(--font-b-line-height); font-family:var(--font-b);}
h1 {font-size:var(--h1-font-size); text-transform:uppercase;}
h2 {font-size:var(--h2-font-size);}
h3:not(.title) {font-size:var(--h3-font-size);}

h1 a:not(:hover):not(:active):not(:focus),
h2 a:not(:hover):not(:active):not(:focus),
h3 a:not(:hover):not(:active):not(:focus) {text-decoration-color:#0000;}

hr {width:100%; height:1px; margin:calc(var(--def-margin) * 2) 0; border:none; background:var(--color-theme-h);}
.layout-section.theme-h .editable-content hr {background:var(--color-theme-a);}

.highlighted a {text-decoration:underline!important;}
.highlighted.theme-a,
.highlighted.theme-a a {color:var(--color-theme-a)!important;}
.highlighted.theme-h,
.highlighted.theme-h a {color:var(--color-theme-h)!important;}

.align-b {text-align:center;}
.align-c {text-align:right;}

.editable-content .no-margin-b,
.editable-content p:has(img.no-margin-b) {margin-bottom:0;}

.editable-content {overflow-wrap:break-word;}
.editable-content::after {clear:both; display:block; content:'';}

.editable-content a {text-decoration:underline; text-decoration-thickness:1px!important; text-underline-offset:0.2em; overflow-wrap:break-word; word-wrap:break-word;}
.editable-content a:hover,
.editable-content a:active,
.editable-content a:focus {text-decoration:underline; text-underline-offset:0.1em;}

.editable-content,
.editable-content p,
.editable-content ul,
.editable-content ol,
.editable-content blockquote,
.editable-content table {line-height:var(--def-line-height);}

.editable-content h4,
.editable-content h5,
.editable-content h6 {margin-bottom:var(--def-margin);}

.editable-content *:not(h2):not(hr) + h2,
.editable-content *:not(h2):not(h3):not(hr) + h3 {padding-top:var(--def-margin);}

.editable-content p {margin-bottom:var(--def-margin);}
.editable-content p.intro-text {font-size:26px;}

.editable-content ul,
.editable-content ol {margin-bottom:var(--def-margin);}
.editable-content ol {counter-reset:item;}
.editable-content ul li,
.editable-content ol li {position:relative; width:fit-content; padding-left:1.1em; text-align:left;}
.align-b .editable-content ul li,
.align-b .editable-content ol li {margin-right:auto; margin-left:auto;}
.align-c .editable-content ul li,
.align-c .editable-content ol li {margin-left:auto;}
.editable-content ol li {padding-left:1.8em; counter-increment:item;}
.editable-content ul li::before {position:absolute; inset:0.6em auto auto 0; width:0.4em; height:0.4em; content:''; border-radius:50%; background:var(--body-font-color);}
.layout-section.theme-h .editable-content ul li::before {background:var(--color-theme-a);}
.editable-content ol li::before {position:absolute; left:0; width:1.5em; content:counters(item, '.') '. '; }
.editable-content ul li:not(:last-child),
.editable-content ol li:not(:last-child) {margin-bottom:5px;}
.editable-content ul li ul,
.editable-content ul li ol,
.editable-content ol li ol,
.editable-content ol li ul {margin:0; padding-top:5px;}
.editable-content ul li:last-child p:last-of-type,
.editable-content ol li:last-child p:last-of-type {margin-bottom:0;}

.editable-content .checklist li {min-height:20px; padding:0 0 0 35px;}
.editable-content .checklist li:not(:last-child) {margin-bottom:var(--def-margin);}
.editable-content .checklist li::before {top:3px; width:20px; height:20px; border-radius:0; background:url('../images/icon-checklist.svg') center center no-repeat; background-size:20px;}

.editable-content blockquote {margin-bottom:var(--def-margin);}
.editable-content blockquote p {font-style:italic;}
.editable-content blockquote p:last-of-type {margin:0;}

.editable-content img {margin-bottom:var(--def-margin);}
.editable-content img.alignleft {float:left; margin-right:var(--def-margin);}
.editable-content img.aligncenter {margin-right:auto; margin-left:auto;}
.editable-content img.alignright {float:right; margin-left:var(--def-margin);}
.editable-content .wp-caption {display:block; max-width:100%; margin:30px 0 var(--def-margin) 0; padding:10px; background:#f3f3f3; box-sizing:border-box;}
.editable-content .wp-caption img {margin:0;}
.editable-content .wp-caption .wp-caption-text {padding:15px 0 0 0; font-size:14px; font-style:italic;}
.editable-content .wp-caption.alignleft {float:left; margin:0 var(--def-margin) var(--def-margin) 0;}
.editable-content .wp-caption.aligncenter {margin-right:auto; margin-left:auto;}
.editable-content .wp-caption.alignright {float:right; margin:0 0 var(--def-margin) var(--def-margin);}
.editable-content .wp-caption.aligncenter .wp-caption-text {text-align:center;}

.editable-content .button {margin:10px 10px 0 0;}
.align-b .editable-content .button {margin:10px 5px 0 5px;}
.align-c .editable-content .button {margin:10px 0 0 10px;}

.editable-content .table-wrap {width:100%; margin:var(--def-margin) auto; overflow:auto;}
.editable-content table {width:100%; text-align:left; border:solid #f1f1f1; border-width:1px 0 0 1px; background:#FFF; box-sizing:border-box; border-collapse:collapse;}
.editable-content table th, .editable-content table td {padding:5px 10px; vertical-align:middle; border:solid #f1f1f1; border-width:0 1px 1px 0;}
.editable-content table th {padding:10px; font-weight:var(--font-weight-bold); background-color:#f1f1f1;}

.info-list {width:1020px; max-width:100%; margin:0 auto 20px auto; border-top:1px solid var(--color-theme-f);}
.info-list .wrap {border-bottom:1px solid var(--color-theme-f);}
.info-list .wrap h3.title {margin:0; padding:3px 0; font-size:24px; font-weight:var(--font-weight-bold);}
.info-list .wrap h3.title a {position:relative; display:block; padding:15px 40px 15px 0; text-decoration:none!important;}
.info-list .wrap h3.title a .more {position:absolute; inset:50% 10px auto auto; display:block; width:20px; height:20px; text-indent:-9999px; transform:translateY(-50%);}
.info-list .wrap h3.title a .more::before,
.info-list .wrap h3.title a .more::after {position:absolute; display:block; content:''; background:var(--color-theme-h); transition:all 0.3s ease;}
.layout-section.theme-h .info-list .wrap h3.title a .more::before,
.layout-section.theme-h .info-list .wrap h3.title a .more::after {background:var(--color-theme-a);}
.info-list .wrap h3.title a .more::before {inset:50% 0 auto 0; height:2px; transform:translateY(-50%);}
.info-list .wrap h3.title a .more::after {inset:0 auto 0 50%; width:2px; transform:translateX(-50%);}
.info-list .wrap h3.title a.active .more::after {inset:50% auto 50% 50%;}
.info-list .info {display:none;}
.info-list .info .details {padding:0 0 20px 0;}

/* ----- Header & Nav ----- */

#header {z-index:3000; position:fixed; inset:0 0 auto 0; min-width:var(--content-width-min); padding:20px 0; color:var(--color-theme-a); background:var(--color-theme-c); transition:all 0.3s ease;}
#header::after {position:absolute; inset:auto 0 -10px 0; height:10px; content:''; background:url('../images/bg-tear-theme-c.svg') center center no-repeat; background-size:100% 10px;}
#header.active {padding:10px 0;}
.logged-in #header {top:var(--wpadminbar-height);}
.nav-active #header {z-index:3001;}

#header a {color:var(--body-font-color);}

#header .wrapper {display:flex; align-items:center;}

#header .main-logo {display:block; margin-bottom:10px;}
#header .main-logo img {width:auto; height:50px; transition:height 0.3s ease;}
#header.active .main-logo img {height:40px;}

#header .wrap {display:flex; align-items:center; margin-left:auto;}

#main-nav .menu li {font-family:var(--font-b); text-transform:uppercase;}
#main-nav .menu li a:hover,
#main-nav .menu li a:active,
#main-nav .menu li a:focus {color:var(--color-theme-h);}

#header .wrap .book {margin-left:30px;}
#header .wrap .social-links {margin-left:20px;}

/* ----- Banner ----- */

#banner {position:relative; min-height:500px; color:#FFF; background:center center no-repeat var(--color-theme-g); background-size:cover; overflow:hidden;}
#banner::before {z-index:0; position:absolute; inset:0; content:''; background:linear-gradient(rgba(34,53,36,0) 0%, rgba(97,65,23,0.6) 100%);}
#banner::after {z-index:1; position:absolute; inset:auto 0 0 0; height:10px; content:''; background:url('../images/bg-tear-theme-a.svg') center center no-repeat; background-size:100% 10px; transform:rotate(180deg);}
#banner.bg-style-e::after {background-image:url('../images/bg-tear-theme-e.svg');}
#banner.bg-style-g::after {background-image:url('../images/bg-tear-theme-g.svg');}
#banner.bg-style-h::after {background-image:url('../images/bg-tear-theme-h.svg');}

#banner .wrapper {z-index:2; position:relative; display:flex; flex-direction:column; justify-content:center; align-items:center; min-height:inherit;}
#banner .details {width:100%; padding-top:110px; text-align:center;}
#banner .details .logo {width:460px; max-width:100%; margin:0 auto 20px auto;}

.front-page #banner {min-height:100vh;}
.logged-in.front-page #banner {min-height:calc(100vh - var(--wpadminbar-height));}

/* ----- Main ----- */

#main {flex:1 0 auto; max-width:100vw; color:var(--body-font-color); background:var(--body-bg-color); overflow:hidden;}

#main a {color:var(--body-font-color);}

#main .layout-section {position:relative; padding-top:var(--lyt-bl-pad-top); padding-bottom:var(--lyt-bl-pad-bot); overflow:hidden;}
#main .layout-section.theme-a {background-color:var(--color-theme-a);}
#main .layout-section.theme-e {background-color:var(--color-theme-e);}
#main .layout-section.theme-g {background-color:var(--color-theme-g);}
#main .layout-section.theme-h {color:#FFF; background-color:var(--color-theme-h);}
#main .layout-section.theme-h a {color:#FFF;}

#main .layout-section.has-pad-t {padding-top:calc(var(--lyt-bl-pad-top) * 2);}
#main .layout-section.has-pad-b {padding-bottom:calc(calc(var(--lyt-bl-pad-bot) * 2) + var(--def-margin));}

#main .layout-section.has-bg {background-position:center center; background-repeat:no-repeat; background-size:cover;}

#main .layout-section.theme-a:not(.has-bg) + .layout-section.theme-a:not(.has-bg),
#main .layout-section.theme-e:not(.has-bg) + .layout-section.theme-e:not(.has-bg),
#main .layout-section.theme-g:not(.has-bg) + .layout-section.theme-g:not(.has-bg),
#main .layout-section.theme-h:not(.has-bg) + .layout-section.theme-h:not(.has-bg) {padding-top:0;}

#main .layout-section.has-bg-style-t {padding-top:calc(var(--lyt-bl-pad-top) + 10px);}
#main .layout-section.has-bg-style-b {padding-bottom:calc(var(--lyt-bl-pad-bot) + 10px)}
#main .layout-section.has-bg-style-t.has-pad-t {padding-top:calc(calc(var(--lyt-bl-pad-top) * 2) + 10px);}
#main .layout-section.has-bg-style-b.has-pad-b {padding-bottom:calc(calc(var(--lyt-bl-pad-bot) * 2) + 10px)}
#main .layout-section.has-bg-style-t::before,
#main .layout-section.has-bg-style-b::after {z-index:1; position:absolute; inset:0 0 auto 0; height:10px; content:''; background:url('../images/bg-tear-theme-a.svg') center center no-repeat; background-size:100% 10px;}
#main .layout-section.has-bg-style-b::after {top:auto; bottom:0; transform:rotate(180deg);}
#main .layout-section.has-bg-style-t.bg-style-t-e::before,
#main .layout-section.has-bg-style-b.bg-style-b-e::after {background-image:url('../images/bg-tear-theme-e.svg');}
#main .layout-section.has-bg-style-t.bg-style-t-g::before,
#main .layout-section.has-bg-style-b.bg-style-b-g::after {background-image:url('../images/bg-tear-theme-g.svg');}
#main .layout-section.has-bg-style-t.bg-style-t-h::before,
#main .layout-section.has-bg-style-b.bg-style-b-h::after {background-image:url('../images/bg-tear-theme-h.svg');}

#main .layout-section .intro {max-width:100%; padding-bottom:40px;}
#main .layout-section .outro {max-width:100%;}
#main .layout-section .intro.layout-b.align-b,
#main .layout-section .outro.layout-b.align-b {margin:0 auto;}
#main .layout-section .intro.layout-b.align-c,
#main .layout-section .outro.layout-b.align-c {margin-left:auto;}

#main .layout-section .cols-wrap.cols-type-b {align-items:center;}
#main .layout-section .cols-wrap.cols-type-c {align-items:end;}
#main .layout-section .cols-wrap.cols-2.cols-layout-b {grid-template-columns:2fr 3fr;}
#main .layout-section .cols-wrap.cols-2.cols-layout-c {grid-template-columns:3fr 2fr;}
#main .layout-section .cols-1.layout-b > .col-1 {margin:0 auto;}

#main .content-section .intro {padding-bottom:var(--def-margin);}
#main .content-section .outro {padding-top:var(--def-margin); padding-bottom:var(--def-margin);}

#main .content-section .cols-wrap.no-gap {gap:0;}
#main .content-section .cols-wrap:has(.has-wrap) {height:100%;}
#main .content-section .cols-wrap .col.has-wrap {display:flex; flex-direction:column; min-height:calc(100% - var(--def-margin)); margin-bottom:var(--def-margin); padding:50px 50px 30px 50px; background-color:var(--color-theme-a); box-sizing:border-box;}
#main .content-section .cols-wrap .col.has-wrap.align-y-b {justify-content:center;}
#main .content-section .cols-wrap .col.has-wrap.align-y-c {justify-content:flex-end;}
#main .content-section .cols-1 .col .cols-1 .col.has-wrap {padding:80px 80px 60px 80px;}
#main .content-section .cols-1.layout-a .col .cols-1 .col-1.has-wrap {width:1020px; max-width:100%; margin-right:auto; margin-left:auto; box-sizing:border-box;}
#main .content-section .img-fh {height:calc(100% - var(--def-margin)); margin-bottom:var(--def-margin); background:center center no-repeat; background-size:cover;}

#main .content-section .map-wrap {position:relative; height:610px; min-height:calc(100% - var(--def-margin)); margin-bottom:var(--def-margin);}

#main .instagram-section {text-align:center;}

#main .map-section {height:550px; padding:0;}
#main .map-section .map-wrap {height:100%; margin-bottom:var(--def-margin);}

/* ----- Footer ----- */

#footer {position:relative; padding:50px 0; color:var(--color-theme-a); font-size:18px; line-height:var(--def-line-height); background:var(--color-theme-d);}
#footer::after {position:absolute; inset:-10px 0 auto 0; height:10px; content:''; background:url('../images/bg-tear-theme-d.svg') center center no-repeat; background-size:100% 10px; transform:rotate(180deg);}

#footer a {color:var(--color-theme-a);}
#footer a:hover, 
#footer a:active, 
#footer a:focus {color:var(--color-theme-e);}

#footer .cols-4 {grid-template-columns:1.5fr 1fr 1fr 1fr;}
#footer .cols-4 .col {display:flex; flex-direction:column;}

#footer h4 {margin:0 0 10px 0;}

#footer .main-logo {display:block; width:300px; max-width:100%; margin:0 0 20px 0;}
#footer .main-logo img {max-width:100%; margin:0 auto;}
#footer .main-logo .logo {width:300px; max-width:100%; margin-bottom:20px;}
#footer .main-logo .strap {width:280px;}
#footer .social-links {margin-top:auto;}

#footer .copy {margin-top:auto;}

/* ----- Animations ----- */

#main .layout-section .intro,
#main .layout-section .col.lvl-1,
#main .layout-section .outro {opacity:0; transform:translateY(10vh); transition:opacity 1.5s ease, transform 0.75s ease;}
#main .layout-section .intro.active,
#main .layout-section .col.lvl-1.active,
#main .layout-section .outro.active {opacity:1; transform:translateY(0);}
