:root {
    --transition: all 0.3s ease;
    --border-color: rgba(125,125,125, 0.5);
    --primary: var(--wp--preset--color--primary);
    --secondary: var(--wp--preset--color--secondary);
    --tertiary: var(--wp--preset--color--tertiary);
    --dark: var(--wp--preset--color--contrast);
    --base: var(--wp--preset--color--base);
    --swiper-theme-color: var(--wp--preset--color--base);
    --wp-admin: 32px;
    --top-variable: 0px;
    --top: var(--top-variable);
    --indent: 27.333%;
    --indent: calc(var(--wp--style--global--wide-size)/ 12);
    --serif: var(--wp--preset--font-family--serif);
    --san-serif: var(--wp--preset--font-family--sans-serif);
    --monospace: var(--wp--preset--font-family--monospace);
    --border-radius: .3rem;
    --border-radius: .5rem;
}

@media screen and (max-width: 782px) {
  :root {
    --wp-admin: 46px;
  }
}

@media screen and (max-width: 991px) {
  :root {
    --indent: 0;
  }
}

* {
  margin: 0;
  padding: 0;
}

*, ::after, ::before {
    box-sizing: border-box;
}

html {background-color: var(--dark);scroll-behavior: smooth;}
::-moz-selection { 
  color: var(--primary);
  background: var(--dark);
}
::selection {
  color: var(--primary);
  background: var(--dark);
}


hr {
  border: none;
  border-top: 1px solid currentcolor;
}

.is-layout-constrained > .container-fluid {
  width: 100% !important;
  max-width: 100% !important;
}

/* HELPERS ============================== */
.bg-img {
  background-position: center center;
  background-repeat: no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}
.transition {transition: var(--transition);}
.overflow-hidden {overflow: hidden;}
.line-height-1 {line-height: 1 !important;}
.rounded {border-radius:var(--border-radius) !important;overflow: hidden;}
.rounded-lg {border-radius:1.5rem;overflow: hidden;}
.z-1 {z-index: 1;}
.z-2 {z-index: 2;}
.z-3 {z-index: 3;}
.z-4 {z-index: 4;}
.z-5 {z-index: 5;}
.o-10 {opacity: .1;}
.o-20 {opacity: .2;}
.o-30 {opacity: .3;}
.o-40 {opacity: .4;}
.o-50 {opacity: .5;}
.o-60 {opacity: .6;}
.o-70 {opacity: .7;}
.o-80 {opacity: .8;}
.o-90 {opacity: .9;}

/* Hide scrollbar  */
.scrollbar-hidden::-webkit-scrollbar {display: none;}
.scrollbar-hidden {-ms-overflow-style: none; scrollbar-width: none;}


/* Typography */
.serif{font-family: var(--wp--preset--font-family--serif);} 
.sans-serif{font-family: var(--wp--preset--font-family--sans-serif);} 
.monospace{font-family: var(--wp--preset--font-family--monospace);}
.uppercase {text-transform: uppercase;}
.h1, .fs-1, .h1 *,.fs-1 * {font-size: var(--wp--preset--font-size--h-1);}
.h2, .fs-2, .h2 *,.fs-2 * {font-size: var(--wp--preset--font-size--h-2);}
.h3, .fs-3, .h3 *,.fs-3 * {font-size: var(--wp--preset--font-size--h-3);}
.h4, .fs-4, .h4 *,.fs-4 * {font-size: var(--wp--preset--font-size--h-4);}
.h5, .fs-5, .h5 *,.fs-5 * {font-size: var(--wp--preset--font-size--h-5);}
.h6, .fs-6, .h6 *,.fs-6 * {font-size: var(--wp--preset--font-size--h-6);}
.h1, .fs-1, .h1 *,.fs-1 *,
.h2, .fs-2, .h2 *,.fs-2 *,
.h3, .fs-3, .h3 *,.fs-3 *,
.h4, .fs-4, .h4 *,.fs-4 *,
.h5, .fs-5, .h5 *,.fs-5 *,
.h6, .fs-6, .h6 *,.fs-6 * {line-height: 1.125;-webkit-font-smoothing: antialiased;font-weight: 100;}

.fs-p, .fs-p * {font-size: var(--wp--preset--font-size--paragraph);}
.fs-small, .fs-small *,.small *, .small {font-size: var(--wp--preset--font-size--small);}
.display-1,.display-1 * {font-size: var(--wp--preset--font-size--display-1);}
b, strong {font-weight: bold;}

.fw-100 {font-weight: 100 !important;font-variation-settings: "wght" 100 !important;}
.fw-200 {font-weight: 200 !important;font-variation-settings: "wght" 200 !important;}
.fw-300 {font-weight: 300 !important;font-variation-settings: "wght" 300 !important;}
.fw-400 {font-weight: 400 !important;font-variation-settings: "wght" 400 !important;}
.fw-500 {font-weight: 500 !important;font-variation-settings: "wght" 500 !important;}
.fw-600 {font-weight: 600 !important;font-variation-settings: "wght" 600 !important;}
.fw-700 {font-weight: 700 !important;font-variation-settings: "wght" 700 !important;}
.fw-800 {font-weight: 800 !important;font-variation-settings: "wght" 800 !important;}
.fw-900 {font-weight: 900 !important;font-variation-settings: "wght" 900 !important;}
.white-space-nowrap {white-space: nowrap;}

/* Text Align */
.text-center {text-align: center;}
.text-right {text-align: right;} 
.text-left {text-align: left;} 
.text-justify {text-align: justify;}
@media screen and (max-width: 767px) {
  .text-sm-center {text-align: center;}
  .text-sm-right {text-align: right;} 
  .text-sm-left {text-align: left;} 
  .text-sm-justify {text-align: justify;}
}
@media screen and (min-width: 768px) {
  .text-lg-center {text-align: center;}
  .text-lg-right {text-align: right;} 
  .text-lg-left {text-align: left;} 
  .text-lg-justify {text-align: justify;}
}

/* Buttons */
a.btn {padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);display: inline-block;border-radius: 3rem;font-size: var(--wp--preset--font-size--paragraph);}
.btn-primary {background-color: var(--primary);border: 1px solid var(--primary);color: white;text-align: center;}
.btn-outline-primary {border: 1px solid var(--primary);color: var(--dark);text-align: center;}
.open-modal-btn {cursor: pointer;}

/* Images */
.figure-square,.figure-wide,.figure-landscape,.figure-portrait {position: relative;width: 100%;max-width: 100%;height: 0;padding-top: calc(100% * 1);overflow: hidden;margin-bottom: var(--wp--preset--spacing--20)}
.figure-landscape{padding-top: calc(100% * 0.65);}
.figure-wide{padding-top: calc(100% * 0.45);}
.figure-portrait {padding-top: calc(100% * 1.33);}
.figure-square img,.figure-landscape img,.figure-wide img,.figure-portrait img {top: 0;left: 0;position: absolute;width: 100%;height: 100%;object-fit: cover;}

a figure img {transition: all 600ms ease-in-out;}
a:hover figure img {scale: 1.2;}

/* Color */
.text-dark, .text-dark * {color: var(--dark)}
.text-white, .text-white * {color: #ffffff !important;}
.text-primary, .text-primary * {color: var(--primary) !important;}
.text-secondary, .text-secondary * {color: var(--secondary) !important;}
.text-tertiary, .text-tertiary * {color: var(--tertiary) !important;}


.bg-primary {background-color: var(--primary);}
.bg-secondary {background-color: var(--secondary);}
.bg-tertiary {background-color: var(--tertiary);}
.bg-white {background-color: #ffffff !important;}
.bg-dark {background-color: var(--dark);color: #ffffff;}
.bg-black {background-color: #000000;color: #ffffff;}
.bg-base {background-color: var(--base) !important;}

/* Size */
.w-100 {width: 100% !important;height: auto;}
.h-100 {height: 100% !important;}
.min-vh-100 {min-height: 100vh;}
.min-vh-50 {min-height: 50vh;}
.min-vh-25 {min-height: 25vh;}

/* Position */
.p-relative {position: relative;}
.p-absolute {position: absolute;}
.p-fixed {position: fixed;}
.p-sticky {position: sticky;position: -webkit-sticky;}
.top-offset {top:calc(65px + var(--wp-admin--admin-bar--position-offset)) !important;}
.top {top:0}
.bottom {bottom:0}

.fixed-top {position: fixed;top: var(--top) !important;}
.sticky-top {position: sticky;position: -webkit-sticky;top: var(--top);}

.logged-in.admin-bar .fixed-top {position: fixed;top: var(--wp-admin) !important;}
.logged-in.admin-bar .sticky-top {position: sticky;position: -webkit-sticky;top: calc(var(--top)+var(--wp-admin));}


.gap-1 {gap: var(--wp--preset--spacing--20)}
.gap-2 {gap: var(--wp--preset--spacing--30)}
.gap-3 {gap: var(--wp--preset--spacing--40)}
.gap-4 {gap: var(--wp--preset--spacing--50)}
.gap-5 {gap: var(--wp--preset--spacing--60)}


/* Border */
.border {border: 1px solid var(--border-color)}
.border-top {border-top: 1px solid var(--border-color)}
.border-right {border-right: 1px solid var(--border-color)}
.border-bottom {border-bottom: 1px solid var(--border-color)}
.border-left {border-left: 1px solid var(--border-color)}
.border-primary{border-color: var(--primary);} 
.border-white{border-color: white;} 

/* NAVBAR =============================== */
nav ul {list-style: none;padding-left: 0;}


/* MODAL BOX ============================ */
.modal {position: fixed;margin: 0;z-index: 1000;top: 0;left: 0;width: 100%;max-width: 100%;height: 100%;overflow: auto;background-color: rgba(0, 0, 0, 0.02); display: none; opacity: 0; transform: translateY(100vh); transition: opacity 0.6s ease, transform 0.6s ease; /* backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px);  */}
.modal-content {margin: 0;padding: 0 var(--wp--preset--spa---cing--50);background-color: rgba(256, 256, 256, 0.9);width: 100%;max-width: 100%;position: relative;pointer-events: all;overflow: scroll;
}.modal-box {background-color: rgba(256, 256, 256, 0.9);padding: var(--wp--preset--spacing--50);border-radius: 1rem;max-width: 100%;box-shadow: var(--wp--preset--shadow--deep);position: relative;pointer-events: all;}
.modal-close-wrap {position: sticky;top: 10px;right: 20px;text-align: end;width: 100%;display: block;}
.close-btn {font-size: 24px;color: var(--wp--preset--color--contrast);cursor: pointer;top: 16px;border: 1px solid rgb(209, 209, 209);width: 42px;height: 42px;display: inline-block;text-align: center;line-height: 36px;border-radius: 50%;}
.close-btn:hover {color: #8c8c8c;}

/* TABS ================================ */
.tabs {max-width: 100%;margin: auto;}
.tab-button {padding: 1rem 1.5rem;background: none;border: 1px solid var(--tertiary);cursor: pointer;transition: border-color 0.3s, background 0.3s;font-size: 1rem;border-radius: 100vw;color: var(--dark);margin: 0 4px 4px 0;}
.tab-button:hover {background: var(--tertiary);}
.tab-button.active {background-color: var(--primary);border-color: var(--primary);}
.tab-content {padding: 1rem 0;background: var(--base);border-top: none;}
.tab-panel {display: none;}
.tab-panel.active {display: block;animation: fadeIn 0.3s ease-in-out;}
@keyframes fadeIn {from { opacity: 0; }to { opacity: 1; }}