/* ----- 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;}

.menu-item > a[href="#"] {pointer-events: none;cursor: default;}

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

:root {
  --wpadminbar-height:32px;
  --body-bg-color:var(--color-theme-b);
  --body-font-color:var(--color-theme-b);
  --body-font-size:16px;
  --font-a:'Poppins', sans-serif;
  --font-b:'Faculty Glyphic', sans-serif;
  --font-b-line-height:calc(1em + 6px);
  --font-weight-normal:normal;
  --font-weight-bold:bold;
  --h1-font-size:64px; 
  --h2-font-size:44px; 
  --h3-font-size:32px; 
  --def-line-height:calc(1em + 10px);
  --def-margin:20px; 
  --content-width:1260px;
  --content-width-min:320px;
  --content-padding:20px;
  --wrapper-width:calc(var(--content-width) - calc(var(--content-padding) * 2));
  --header-height:120px;
  --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:#000;
  --color-theme-c:#F2F2F2;
  --color-theme-d:#5A5A5A;
  --color-theme-e:#CBA335;
  --color-theme-f:#5F646F;  
  --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; overflow-x:clip;}
.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 var(--content-padding);}
.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:50px;}
.cols-wrap:not(.cols-1) > .col {min-width:0;}
.cols-wrap.cols-2 {--cols-per-row:2;}
.cols-wrap.cols-3 {--cols-per-row:3;}
.cols-wrap.cols-4 {--cols-per-row:4;}
 
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%;}

.mfp-bg {z-index:5000!important;}
.mfp-wrap {z-index:5001!important;}
.mfp-wrap .mfp-content {z-index:5002!important;}
.mfp-wrap .mfp-container:not(.mfp-image-holder) .mfp-content .mfp-close {position:absolute; inset:-45px -5px auto auto; width:40px; height:40px; text-indent:9999px; background:#0000; overflow:hidden; opacity:1;}
.mfp-wrap .mfp-container:not(.mfp-image-holder) .mfp-content .mfp-close::before,
.mfp-wrap .mfp-container:not(.mfp-image-holder) .mfp-content .mfp-close::after {position:absolute; display:block; inset:50% auto auto 50%; width:30px; height:2px; content:''; background:#FFF;}
.mfp-wrap .mfp-container:not(.mfp-image-holder) .mfp-content .mfp-close::before {transform:translate(-50%, -50%) rotate(45deg);}
.mfp-wrap .mfp-container:not(.mfp-image-holder) .mfp-content .mfp-close::after {transform:translate(-50%, -50%) rotate(-45deg);}
.mfp-zoom-in .popup-wrap {opacity:0; transform:scale(0.5); transition:all 0.2s ease-in-out;}
.mfp-zoom-in.mfp-ready .popup-wrap {opacity:1; transform:scale(1);}
.mfp-zoom-in.mfp-removing .popup-wrap {opacity:0; transform:scale(0.5);}
.mfp-zoom-in.mfp-bg {transition:all 0.2s ease-in-out;}
.mfp-zoom-in.mfp-removing.mfp-bg {opacity:0;}

.slick-list,
.slick-track,
.slick-slide,
.slick-slide > div {height:100%; overflow:hidden;}
.slick-track {display:flex;}
.slick-slide {float:none; flex-grow:1; height:auto;}
.slide {min-height:inherit; height:100%;}

.slick-controls .control {z-index:1250; position:absolute; top:50%; display:block; width:40px; height:40px; margin-top:-20px; text-indent:-9999px; background:url('../images/bg-slide-control.svg') center center no-repeat; background-size:15px auto; overflow:hidden;}
.slick-controls .control::before {position:absolute; inset:50% auto auto calc(50% - 2px); display:block; width:10px; height:10px; content:''; border:solid var(--color-theme-d); border-width:0 2px 2px 0; transform:translate(-50%, -50%) rotate(-45deg);}
.slick-controls .prev {left:0; transform:rotate(180deg);}
.slick-controls .next {right:0;}

.slick-dots {z-index:1250; position:absolute; inset:auto 0 0 0; display:flex; justify-content:center;}
.slick-dots li {margin:0 5px;}
.slick-dots li:first-child {margin-left:0;}
.slick-dots li:last-child {margin-right:0;}
.slick-dots li button {display:block; width:13px; height:13px; text-indent:-9999px; border-radius:50%; border:2px solid var(--color-theme-a); background:#0000;}
.slick-dots li.slick-active button {background:var(--color-theme-a);}

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

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

.button.theme-a {color:var(--color-theme-b)!important; background:var(--color-theme-a);}
.button.theme-a:hover, .button.theme-a:active, .button.theme-a:focus {color:var(--color-theme-a)!important; background:var(--color-theme-e);}
.button.theme-b {color:var(--color-theme-a)!important; background:var(--color-theme-b);}
.button.theme-b:hover, .button.theme-b:active, .button.theme-b:focus {background:var(--color-theme-e);}

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

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

h1, h2, h3 {margin-bottom:var(--def-margin); line-height:var(--font-b-line-height); font-family:var(--font-b);}
h1 {font-size:var(--h1-font-size);}
h2 {font-size:var(--h2-font-size);}
h3 {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:5px; margin:calc(var(--def-margin) * 2) 0; border:none; background:var(--border-color-a);}

.no-margin-b {margin-bottom:5px!important;}

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

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

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

.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):(.no-margin-b) + h2,
.editable-content *:not(h2):not(h3):not(hr):(.no-margin-b) + h3 {padding-top:var(--def-margin);}

.editable-content p {margin-bottom:var(--def-margin);}

.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.2em; 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:#000;}
.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:10px;}
.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 .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;}

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

#header {z-index:3000; position:fixed; inset:0 0 auto 0; min-width:var(--content-width-min); color:var(--color-theme-a); border-bottom:1px solid #0000; background:#0000; transition:all 0.3s ease;}
#header.active {border-bottom-color:rgba(255,255,255,0.25); background:var(--color-theme-b);}

.logged-in #header {top:var(--wpadminbar-height);}
.nav-active #header {z-index:3001; box-shadow:none; background:#000;}

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

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

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

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

#main-nav .menu li a:hover,
#main-nav .menu li a:active,
#main-nav .menu li a:focus {color:var(--color-theme-e)!important;}

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

#banner {position:relative; min-height:680px; color:var(--color-theme-a); background:var(--color-theme-b); overflow:hidden;}

#banner .wrapper {z-index:2; position:relative; display:flex; align-items:center; min-height:inherit;}
#banner .details {width:880px; max-width:100%; margin:0 auto; padding:150px 0 130px 0;}

#banner .slides-wrap {z-index:0; position:absolute; inset:0;}
#banner .slides-list {height:100%;}
#banner .slides-list .slide {height:100%; background:center center no-repeat var(--color-theme-b); background-size:cover;}
#banner .slides-list .slide::before {z-index:1; position:absolute; inset:0; content:''; background:linear-gradient(rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.25) 100%);}
#banner .slides-wrap .slick-dots {bottom:70px;}

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

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

#main a {color:var(--body-font-color);}
#main a:hover,
#main a:active,
#main a:focus {color:var(--color-theme-a);}

#main .layout-section {position:relative; padding-top:var(--lyt-bl-pad-top); padding-bottom:var(--lyt-bl-pad-bot);}
#main .layout-section.theme-a {background-color:var(--color-theme-a);}
#main .layout-section.theme-b {color:#FFF; background-color:var(--color-theme-b);}
#main .layout-section.theme-b a {color:#FFF;}
#main .layout-section.theme-c {background:linear-gradient(var(--color-theme-c) 0%, var(--color-theme-a) 100%);}

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

#main .layout-section.theme-a:not(.has-bg):not(.gallery-section):not(.map-section) + .layout-section.theme-a:not(.has-bg),
#main .layout-section.theme-b:not(.has-bg):not(.gallery-section):not(.map-section) + .layout-section.theme-b:not(.has-bg),
#main .layout-section.theme-c:not(.has-bg):not(.gallery-section):not(.map-section) + .layout-section.theme-c:not(.has-bg),
#main .layout-section.theme-c:not(.has-bg):not(.gallery-section):not(.map-section) + .layout-section.theme-a:not(.has-bg) {padding-top:0;}

#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 4fr;}
#main .layout-section .cols-wrap.cols-2.cols-layout-c {grid-template-columns:4fr 2fr;}
#main .layout-section .cols-1.layout-b > .col-1 {margin:0 auto;}

#main .content-section {padding-bottom:calc(var(--lyt-bl-pad-bot) - 20px);}
#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 .col.lvl-1 {padding-bottom:var(--def-margin);}

#main .content-section .details-wrap {margin-bottom:var(--def-margin); padding:30px 30px 10px 30px; background:var(--color-theme-c);}
#main .content-section .details-wrap .details-list {padding:20px 0 10px 0;}
#main .content-section .details-wrap .details-list .detail {display:flex; flex-wrap:wrap; margin-bottom:10px; line-height:var(--def-line-height);}
#main .content-section .details-wrap .details-list .detail .title {width:75%;}
#main .content-section .details-wrap .details-list .detail .text {width:25%; text-align:right;}
#main .content-section .details-wrap .details {padding-top:30px;}

#main .gallery-section {padding:0;}
#main .gallery-list {display:grid; grid-template-columns:repeat(5, minmax(0, 1fr)); gap:2px; padding:2px 0;}
#main .gallery-list .image .wrap {position:relative; display:block; background:var(--color-theme-c);}
#main .gallery-list .image .wrap .img {z-index:0; position:relative;}
#main .gallery-list .image .wrap .img:before {z-index:1; position:absolute; inset:0; content:''; background:rgba(0,0,0,0.5); opacity:0; transition:all 0.2s ease;}
#main .gallery-list .image .wrap:hover .img:before {opacity:1;}
#main .gallery-list .image .wrap .img .more {z-index:2; position:absolute; inset:50% auto auto 50%; display:block; width:30px; height:30px; text-indent:-9999px; opacity:0; transform:translate(-50%, -50%); transition:all 0.2s ease;}
#main .gallery-list .image .wrap:hover .img .more {opacity:1;}
#main .gallery-list .image .wrap .img .more::before,
#main .gallery-list .image .wrap .img .more::after {position:absolute; display:block; content:''; background:var(--color-theme-a); transition:all 0.3s ease;}
#main .gallery-list .image .wrap .img .more::before {inset:50% 0 auto 0; height:2px; transform:translateY(-50%);}
#main .gallery-list .image .wrap .img .more::after {inset:0 auto 0 50%; width:2px; transform:translateX(-50%);}
#main .gallery-list .image .wrap .img img {width:100%;}

#main .jumps-list {display:flex; flex-wrap:wrap; justify-content:center;}
#main .jumps-list.jumps-a {margin:0 -25px 20px -25px; row-gap:50px;}
#main .jumps-list.jumps-a .jump {width:33.33%; padding:0 25px; box-sizing:border-box;}
#main .jumps-list.jumps-b {margin:0 -10px 20px -10px; row-gap:20px;}
#main .jumps-list.jumps-b .jump {width:25%; padding:0 10px; box-sizing:border-box;}
#main .jumps-list.jumps-b .jump .wrap {position:relative; display:block; border-radius:25px; overflow:hidden;}
#main .jumps-list.jumps-b .jump .wrap::before {z-index:1; position:absolute; inset:0; content:''; background:linear-gradient(rgba(0,0,0,0) 50%, rgba(0,0,0,0.75) 100%);}
#main .jumps-list.jumps-b .jump .wrap img {z-index:0; position:relative; width:100%; transition:transform 0.5s ease;}
#main .jumps-list.jumps-b .jump .wrap:hover img {transform:scale(1.05);}
#main .jumps-list.jumps-b .jump .wrap h3 {z-index:2; position:absolute; inset:auto 0 0 0; margin:0; padding:20px; font-size:26px; color:var(--color-theme-a);}

#main .map-section {padding-bottom:0;}
#main .map-section .map-wrap {height:400px; text-align:center; background:#CCC;}

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

#footer {padding:50px 0; color:#858585; font-size:16px; line-height:var(--def-line-height); background:var(--color-theme-b); overflow:hidden;}
#footer a {color:#858585;}
#footer a:hover, 
#footer a:active, 
#footer a:focus {color:var(--color-theme-a);}

#footer .col-1 nav {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:50px;}

#footer .col-2 {text-align:right;}

/* #footer .col-2 address {margin:0 0 15px 0;} */
#footer .col-2 .contact {display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end;}
#footer .col-2 .contact li {display:flex; align-items:center; margin:5px 0 5px 5px;}
#footer .col-2 .contact li:not(:first-child)::before {margin:0 5px 0 0; content:'.';}
#footer .col-2 .contact li a {display:block;}

#footer .col-2 nav ul {display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end;}
#footer .col-2 nav ul li {display:flex; align-items:center; margin:5px 0 5px 5px;}
#footer .col-2 nav ul li:not(:first-child)::before {margin:0 5px 0 0; content:'.';}
#footer .col-2 nav ul li a {display:block;}
