/***************** variables *********************/
@font-face { font-family: "chaloops-bold"; src: url(../../assets/fonts/chaloops-bold.woff); }

:root {
  --primary: #60773d /*31343A*/;
  --secondary: #93a27c;
  --light: #f1f8ea /*fafcf8*/;
  --dark: #152004;
  --modedark: #0d120d;
  --black: #000;
  --success: #619533;
  --danger: #eb4034;
  --warning: #FFD14F;
  --info: #38CCE6;
  --prifade: #60773d80;
  --secfade: #93a27c80;

  --opac1light: rgba(255,255,255,0.1);
  --opac2light: rgba(255,255,255,0.2);
  --opac3light: rgba(255,255,255,0.3);
  --opac4light: rgba(255,255,255,0.4);
  --opac5light: rgba(255,255,255,0.5);
  --opac6light: rgba(255,255,255,0.6);
  --opac7light: rgba(255,255,255,0.7);
  --opac8light: rgba(255,255,255,0.8);
  --opac9light: rgba(255,255,255,0.9);
  --opac1dark: rgba(0,0,0,0.1);
  --opac2dark: rgba(0,0,0,0.2);
  --opac3dark: rgba(0,0,0,0.3);
  --opac4dark: rgba(0,0,0,0.4);
  --opac5dark: rgba(0,0,0,0.5);
  --opac6dark: rgba(0,0,0,0.6);
  --opac7dark: rgba(0,0,0,0.7);
  --opac8dark: rgba(0,0,0,0.8);
  --opac8dark: rgba(0,0,0,0.9);

  --customlight: rgba(206,124,42,0.8);
  --customdark: rgba(36,27,23,0.8);
  --offwhite: #f7f7f7;
  --custom1: #2e2e2e;
  --custom2: #4f4f4f;
  --custom3: #7a7a7a;
  --custom4: #a6a6a6;
  --custom5: #d9d9d9;
  --custom6: #e6e6e6;
  --custom7: #3B577C;
  --custom8: #baa7c7 /*93BBD1*/;
  --custom9: #C2D1E6;
  --ccard: #F8F7EE;

  --trans: .75s;
  --translow: 1s;
  --translower: 2s;
  --translowest: 3s;
  --boradius: 2rem;
  --borahalf: 1rem;
  --boracus: 2rem;

  --font1: 'Poppins', sans-serif;
  --font2: 'chaloops-bold', 'Poppins', sans-serif;
  --font3: 'Ms Madi', cursive;
  --fontdefault: "Inter", sans-serif;
  --fonticon: 600 1rem "Font Awesome 5 Free","Font Awesome 5 Brands";

  --glowinset: 0px 0px 5rem .5rem rgba(0,0,0,0.2) inset;
  --glowlightinset: 0px 0px 5rem .5rem rgba(255,255,255,0.2) inset;

  --borderwidth:1px;
  --border:var(--borderwidth) solid var(--opac3dark);
  --borderlight:var(--borderwidth) solid var(--opac3light);

  /* overscroll-behavior: none; */
  overflow-x: hidden;
}

html {background-color: var(--primary) !important; scroll-behavior: smooth !important; word-wrap:break-word;}
body {background-color: var(--light); /*overscroll-behavior: none;*/ color:var(--dark) !important; font-family: var(--font1); font-weight:300; font-size: 18px; line-height: 1.7; overflow-x:unset;}
section > .container {max-width: 70vw !important;}
main {z-index: 2; position: relative; background-color: inherit;}
.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {padding-inline:0;}
.container-fluid {padding-block:6rem;}

@media print { html, body { display: none; } }
html.no-ss {filter:blur(1rem); overflow: hidden;}

/***************** paragraphs *******************/

h0, h1, h2, h3, h4, h5, h6 {font-family:var(--font2); margin:0 0 1rem 0; padding:0; color: inherit; letter-spacing:.8px; line-height:1.3;}
h0 {font-size: 6rem; line-height:.9; margin-left: -8px;}
h1 {font-size: 4rem; line-height:.8;}
h2 {font-size: 3rem; line-height:1;}
h3 {font-size: 2.5rem; line-height:1.1;}
h4 {font-size: 2rem; line-height: 1.2;}
h5 {font-size: 1.5rem; line-height: 1.3; font-family: var(--font1); font-weight: 300;}
h6 {font-size: .8rem; line-height: 1.3; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; font-family:var(--font1);}
p {margin-bottom: 1rem;}
p, a, ul, ol, li {margin: 0; margin-bottom:0; padding: 0; font-family:inherit;}
b, strong {font-weight:900;}
h1 strong {font-weight:500; font-size: 5.5rem; line-height: 1;}

:is(h0, h1, h2, h3, h4, h5, h6) strong {color:var(--secondary);}
.text-light :is(h0, h1, h2, h3, h4, h5, h6) strong {color:var(--light);}


main a, main a * {transition:var(--trans); text-decoration:none; border:none;}
main a {color:inherit; transition: var(--trans); border-bottom:1px dashed; text-decoration:none !important; cursor:pointer;}
main a:hover {color:inherit;}
small {display:inline-block;}

::-webkit-scrollbar {display: none;}
::selection, ::-moz-selection {color: var(--light); background: var(--primary);}

hr {width: 100%; margin: 1rem auto auto auto; min-height: 1px; background-color: inherit; border-color: inherit;}
hr.spacer, .text-light hr.spacer {height: 30px; background: transparent !important; border:none !important;}

.font1, .font1 h0, .font1 h1, .font1 h2, .font1 h3, .font1 h4, .font1 h5, .font1 h6, .font1 :is(p, small, strong, label, span)  { font-family:var(--font1) !important; }
.font2, .font2 h0, .font2 h1, .font2 h2, .font2 h3, .font2 h4, .font2 h5, .font2 h6, .font2 :is(p, small, strong, label, span) { font-family:var(--font2) !important; }
.font3, .font3 h0, .font3 h1, .font3 h2, .font3 h3, .font3 h4, .font3 h5, .font3 h6, .font3 :is(p, small, strong, label, span) { font-family:var(--font3) !important;}
.font4, .font4 h0, .font4 h1, .font4 h2, .font4 h3, .font4 h4, .font4 h5, .font4 h6, .font4 :is(p, small, strong, label, span) { font-family:var(--font4) !important;}
.font-default, .font-default :is(h0, h1, h2, h3, h4, h5, h6, p) { font-family:var(--fontdefault), sans-serif !important; }
.font-100, .font-100 * {font-weight:100 !important;}
.font-300, .font-300 * {font-weight:300 !important;}
.font-400, .font-400 * {font-weight:400 !important;}
.font-500, .font-500 * {font-weight:500 !important;}
.font-600, .font-600 * {font-weight:600 !important;}
.font-700, .font-700 * {font-weight:700 !important;}
.font-900, .font-900 * {font-weight:900 !important;}
[class*='lh-'], [class*='lh-'] * {display: block;}
.lh-normal, .lh-normal * {line-height:normal;}
.lh-xs, .lh-xs * {line-height:1;}
.lh-sm, .lh-sm * {line-height:1.2;}
.lh-md, .lh-md * {line-height:1.5;}
.lh-lg, .lh-lg * {line-height:2;}
.lh-xl, .lh-xl * {line-height:2.5;}
.lh-xxl, .lh-xxl * {line-height:3;}





html:not(.cms) a:is([href*='wa.me'], [href*='sms:'], [href*='tel:'],[href*='mailto:'],[href*='goo.gl'],[href*='.com'],[href*='.se']):not(.btn) {}
html:not(.cms) a:is([href*='wa.me'], [href*='sms:'], [href*='tel:'],[href*='mailto:'],[href*='goo.gl'],[href*='.com'],[href*='.se']):before {font: var(--fonticon); margin-right:5px; font-size:inherit;}
.block-button {display: flex; align-items: center; flex-wrap: wrap; gap:1rem;}
.block-button[class*='text-right'] {justify-content: flex-end;}
.block-button[class*='text-center'] {justify-content: center;}
.block-button a[href*='sms:']:before, a[href*='wa.me']:before {content:"\f7cd";}
.block-button a[href*='tel:']:after, a[href*='tel:']:before {content:"\f095";}
.block-button a[href*='sms:']:after, a[href*='sms:']:before {content:"\f7cd";}
.block-button a[href*='mailto:']:after, a[href*='mailto:']:before {content:"\f0e0" !important;}
.block-button a[href*='goo.gl']:after, a[href*='goo.gl']:before {content:"\f3c5";}
.block-button a:is([href*='.com'],[href*='.se']):after, a:is([href*='.com'],[href*='.se']):before {content:"\f0ac";}
a[href*='facebook.com']:before, a.fblink:before {content:"\f082";}
a[href*='instagram.com']:before {content:"\f16d";}
a[href*='twitter.com']:before {content:"\f099";}
a[href*='linkedin.com']:before {content:"\f08c";}
a[href*='youtube.com']:before {content:"\f431";}
html:not(.cms) .clean:before, html:not(.cms) .clean a:before {display:none !important;}
.clean, .clean a {padding-inline:0 !important; border:none !important; text-decoration:none !important; margin-left:0 !important;}
main :is(.block-header, .block-text) a:has(:before) {margin-left:0 !important;}


/***************** buttons-v2 *********************/
.btn, .btn:is(:hover, :focus, :active) {box-shadow: none !important; outline:none !important;  text-decoration:none !important; background-color: var(--primary);}
.btn {margin-top: 2rem; border-radius:30px; text-transform:uppercase; letter-spacing:1px; color:var(--light) !important; font-weight:700; z-index: 1; position: relative; padding:.8rem 1.5rem !important; transition:var(--trans); max-width: 100%;}
.btn:is(:hover, :focus, :active):not(.btn-light, .btn-warning, .btn-info, .btn-outline, .btn-default) {color:var(--light) !important; background-color: var(--secondary) !important;}
.btn:is(:active) {opacity: .5;}
.btn-info {background:transparent !important; color:var(--dark) !important; padding:.3rem !important; font-size:.85rem;}
.btn-info:after {font: var(--fonticon); float:right; margin-left:10px; transition:var(--trans); content: "\f061" !important; }
.btn-info:hover:after {margin-left:15px;}

.btn {text-wrap: nowrap; font-weight: 400; font-size: 1rem; height: 3.5rem; padding: .5rem 4rem .5rem 1rem !important; display: inline-flex; flex-direction: column; justify-content: center; align-items: center; border:1px solid var(--opac3light) !important; background-color: var(--opac2dark); -webkit-box-shadow: var(--glowlightinset); box-shadow: var(--glowlightinset); -webkit-backdrop-filter:blur(1rem); backdrop-filter:blur(1rem); }
.btn:after {position: absolute; transition: var(--trans); right:.5rem; height:2.8rem; width: 2.8rem; display: inline-flex; flex-direction: row; align-items: center; justify-content: center; border-radius: 50%; background-color: var(--light); content: "\f061"; font:var(--fonticon);}
.btn span:nth-child(2) {display: none;}
.btn.btn-primary { color:var(--primary) !important;}
.btn.btn-primary:after {background-color: var(--primary); color:var(--light);}
.btn.btn-secondary:after {background-color: var(--secondary);}
.btn.btn-light {border-color:var(--light) !important;}
.btn.btn-light:after {color:var(--dark); background-color: var(--light);}
.btn.btn-dark:after {background-color: var(--dark);}
.btn:hover {border-color: var(--dark) !important;}
.btn.btn-light:hover {border-color: var(--light) !important;}
.btn.btn-snap:after {content:"\f030" !important;}
.btn.btn-top:after {transform: rotate(-90deg);}

.btn-view-message.preview small {font-family: var(--fontdefault); font-size: .45rem; text-transform: uppercase;}

.btn.btn-reload {padding-inline: 0 !important; border-radius: 50%; width: 3.5rem; height: 3.5rem;}
.btn.btn-reload:after {content:"\f021" !important; inset: 50% auto auto 50% !important; margin: 0 !important; transform: translate(-50%, -50%);}
.btn.btn-reload.loading:after {animation: rotatebtn .5s linear forwards; opacity: .2;}
@keyframes rotatebtn {
  99% {opacity: .2;}
  100% {transform: translate(-50%, -50%) rotate(260deg); opacity: 1;}
}

.disabled .btn {pointer-events: none !important; cursor: no-drop !important; opacity: .3;}

.btn.btn-icon {line-height: 1.2; height:8rem; width: 8rem; border-radius: 50%; text-wrap: auto; text-align: center; padding-right: 1rem !important; padding-top: 1rem !important; align-items: center; justify-content: center;}
.btn.btn-icon.btn-rsvp {background-color: var(--prifade) !important; border-color: var(--light) !important; color:var(--light) !important;}
.btn.btn-icon.btn-rsvp:hover {background-color: var(--primary) !important;}
.btn.btn-icon.btn-light {background-color: var(--opac3light) !important;}
.btn.btn-icon.btn-lg {height: 10rem; width: 10rem; padding-top: .5rem !important; font-size: 1.3rem;}
.btn.btn-icon:before {display: none !important;}
.btn.btn-icon:after {right:0; top:0; bottom: auto;}
.btn.btn-icon:hover:after {transform: translateX(.5rem) scale(.8);}
.btn.btn-icon[href^='#']:hover:after {top: 50%; right: 1rem; transform: translateX(50%) translateY(50%) rotate(90deg) scale(.8);}

.btn.btn-sm:not(.btn-icon) {font-size: .8rem; height: 2.5rem; padding-right: 3rem !important;}
.btn.btn-sm:not(.btn-icon):after {height: 2rem; width: 2rem; right: .25rem;}

.bg-primary .btn.btn-icon {color:var(--light) !important; border-color:var(--light) !important;}
.bg-primary .btn.btn-icon:after {background-color: var(--light); color:var(--dark);}
.btn-primary.disabled, .btn-primary:disabled {background-color: var(--custom2) !important; color:var(--light) !important;}

@media (max-width:767px) {
  .block-button:is(.text-right-left,.text-center-left) {justify-content: flex-start;}
  .block-button:is(.text-right-center,.text-left-center) {justify-content: center;}
  .block-button:is(.text-left-right,.text-center-right) {justify-content: flex-end;}

  .btn.btn-icon {padding-top: .75rem !important;}
  .btn.btn-icon.btn-lg {height: 8rem; width: 8rem; font-size: 1rem;}
  .btn.btn-icon[href^='#']:hover:after {transform: translateX(50%) translateY(50%) rotate(90deg) scale(.8);}
}

[class*='text-center'] .block-button:has(.btn-icon), .block-button[class*='text-center']:has(.btn-icon) {justify-content: center;}
.block-button:has(.btn-reload) {flex-wrap: nowrap;}

/***************** styling *********************/
main ol {margin-left:1rem !important;}
main ul {list-style:none;}
main ul li:before {content: "\f0da"; font: var(--fonticon); padding: 0 10px 0 0; color: var(--primary);}
main .bg-primary ul li:before {color: var(--secondary);}
main ul li ul {margin-top:0; margin-left:1rem; font-size: smaller; padding-bottom:.3rem !important;}
main ul li ul li {line-height:2;}
main ul li ul li:before {content: "-";}
main ul.clean {list-style: none;}
main ul.clean > li::before {display: none;}

.block-image .__content {position: relative;}

.block-header, .block-text {margin-bottom: 1.5rem;}
:is(.block-header, .block-text) *[tooltip]:after {content:"\f059"; font: var(--fonticon); font-size: inherit !important; opacity: .6; margin-left: 3px; transform: scale(.75); display: inline-flex;}
:is(.block-header, .block-text) p:has(+ p) {margin-bottom: 1rem;}

.bg-primary .block-form .form-3 .form-group > label, .div-bot.bg-primary + div:after, .bg-primary.flow .__col .block-image:first-child .__content, .bubble-primary + .sticky-bubbles .bubble, .banner-primary + .div-banner-roll, .filter-primary:before, .cards-primary .__col > .block-section, .bg-primary {background-color: var(--primary) !important;}
.bg-secondary .block-form .form-3 .form-group > label, .div-bot.bg-secondary + div:after, .bg-secondary.flow .__col .block-image:first-child .__content, .bubble-secondary + .sticky-bubbles .bubble, .banner-secondary + .div-banner-roll, .filter-secondary:before, .cards-secondary .__col > .block-section, .bg-secondary {background-color: var(--secondary) !important;}
.bg-dark .block-form .form-3 .form-group > label, .div-bot.bg-dark + div:after, .bg-dark.flow .__col .block-image:first-child .__content, .bubble-dark + .sticky-bubbles .bubble, .banner-dark + .div-banner-roll, .filter-dark:before, .cards-dark .__col > .block-section, .bg-dark {background-color: var(--dark) !important;}
.bg-modedark .block-form .form-3 .form-group > label, .div-bot.bg-modedark + div:after, .bg-modedark.flow .__col .block-image:first-child .__content, .bubble-modedark + .sticky-bubbles .bubble, .banner-modedark + .div-banner-roll, .filter-modedark:before, .cards-modedark .__col > .block-section, .bg-modedark {background-color: var(--modedark) !important;}
.bg-black .block-form .form-3 .form-group > label, .div-bot.bg-black + div:after, .bg-black.flow .__col .block-image:first-child .__content, .bubble-black + .sticky-bubbles .bubble, .banner-black + .div-banner-roll, .filter-black:before, .cards-black .__col > .block-section, .bg-black {background-color: var(--black) !important;}
.bg-light .block-form .form-3 .form-group > label, .div-bot.bg-light + div:after, .bg-light.flow .__col .block-image:first-child .__content, .bubble-light + .sticky-bubbles .bubble, .banner-light + .div-banner-roll, .filter-light:before, .cards-light .__col > .block-section, .bg-light {background-color: var(--light) !important;}
.bg-white .block-form .form-3 .form-group > label, .div-bot.bg-white + div:after, .bg-white.flow .__col .block-image:first-child .__content, .bubble-white + .sticky-bubbles .bubble, .banner-white + .div-banner-roll, .filter-white:before, .cards-white .__col > .block-section, .bg-white {background-color: #FFF !important;}
.bg-info .block-form .form-3 .form-group > label, .div-bot.bg-info + div:after, .bg-info.flow .__col .block-image:first-child .__content, .bubble-info + .sticky-bubbles .bubble, .banner-info + .div-banner-roll, .filter-info:before, .cards-info .__col > .block-section, .bg-info {background-color: var(--info);}
.bg-success .block-form .form-3 .form-group > label, .div-bot.bg-success + div:after, .bg-success.flow .__col .block-image:first-child .__content, .bubble-success + .sticky-bubbles .bubble, .banner-success + .div-banner-roll, .filter-success:before, .cards-success .__col > .block-section, .bg-success {background-color: var(--success);}
.bg-danger .block-form .form-3 .form-group > label, .div-bot.bg-danger + div:after, .bg-danger.flow .__col .block-image:first-child .__content, .bubble-danger + .sticky-bubbles .bubble, .banner-danger + .div-banner-roll, .filter-danger:before, .cards-danger .__col > .block-section, .bg-danger {background-color: var(--danger);}
.bg-warning .block-form .form-3 .form-group > label, .div-bot.bg-warning + div:after, .bg-warning.flow .__col .block-image:first-child .__content, .bubble-warning + .sticky-bubbles .bubble, .banner-warning + .div-banner-roll, .filter-warning:before, .cards-warning .__col > .block-section, .bg-warning {background-color: var(--warning);}
.bg-white .block-form .form-3 .form-group > label, .div-bot.bg-white + div:after, .bg-white.flow .__col .block-image:first-child .__content, .bubble-white + .sticky-bubbles .bubble, .banner-white + .div-banner-roll, .filter-white:before, .cards-white .__col > .block-section, .bg-white {background-color: white;}

.bg-customlight .block-form .form-3 .form-group > label, .div-bot.bg-customlight + div:after, .bg-customlight.flow .__col .block-image:first-child .__content, .bubble-customlight + .sticky-bubbles .bubble, .banner-customlight + .div-banner-roll, .filter-customlight:before, .cards-customlight .__col > .block-section, .bg-customlight {background-color: var(--opac8light) !important;}
.bg-customdark .block-form .form-3 .form-group > label, .div-bot.bg-customdark + div:after, .bg-customdark.flow .__col .block-image:first-child .__content, .bubble-customdark + .sticky-bubbles .bubble, .banner-customdark + .div-banner-roll, .filter-customdark:before, .cards-customdark .__col > .block-section, .bg-customdark {background-color: var(--opac8dark) !important;}
.bg-custom0 .block-form .form-3 .form-group > label, .div-bot.bg-custom0 + div:after, .bg-custom0.flow .__col .block-image:first-child .__content, .bubble-custom0 + .sticky-bubbles .bubble, .banner-custom0 + .div-banner-roll, .filter-custom0:before, .cards-custom0 .__col > .block-section, .bg-custom0 {background-color: var(--custom0) !important;}
.bg-custom1 .block-form .form-3 .form-group > label, .div-bot.bg-custom1 + div:after, .bg-custom1.flow .__col .block-image:first-child .__content, .bubble-custom1 + .sticky-bubbles .bubble, .banner-custom1 + .div-banner-roll, .filter-custom1:before, .cards-custom1 .__col > .block-section, .bg-custom1 {background-color: var(--custom1) !important;}
.bg-custom2 .block-form .form-3 .form-group > label, .div-bot.bg-custom2 + div:after, .bg-custom2.flow .__col .block-image:first-child .__content, .bubble-custom2 + .sticky-bubbles .bubble, .banner-custom2 + .div-banner-roll, .filter-custom2:before, .cards-custom2 .__col > .block-section, .bg-custom2 {background-color: var(--custom2) !important;}
.bg-custom3 .block-form .form-3 .form-group > label, .div-bot.bg-custom3 + div:after, .bg-custom3.flow .__col .block-image:first-child .__content, .bubble-custom3 + .sticky-bubbles .bubble, .banner-custom3 + .div-banner-roll, .filter-custom3:before, .cards-custom3 .__col > .block-section, .bg-custom3 {background-color: var(--custom3) !important;}
.bg-custom4 .block-form .form-3 .form-group > label, .div-bot.bg-custom4 + div:after, .bg-custom4.flow .__col .block-image:first-child .__content, .bubble-custom4 + .sticky-bubbles .bubble, .banner-custom4 + .div-banner-roll, .filter-custom4:before, .cards-custom4 .__col > .block-section, .bg-custom4 {background-color: var(--custom4) !important;}
.bg-custom5 .block-form .form-3 .form-group > label, .div-bot.bg-custom5 + div:after, .bg-custom5.flow .__col .block-image:first-child .__content, .bubble-custom5 + .sticky-bubbles .bubble, .banner-custom5 + .div-banner-roll, .filter-custom5:before, .cards-custom5 .__col > .block-section, .bg-custom5 {background-color: var(--custom5) !important;}
.bg-custom6 .block-form .form-3 .form-group > label, .div-bot.bg-custom6 + div:after, .bg-custom6.flow .__col .block-image:first-child .__content, .bubble-custom6 + .sticky-bubbles .bubble, .banner-custom6 + .div-banner-roll, .filter-custom6:before, .cards-custom6 .__col > .block-section, .bg-custom6 {background-color: var(--custom6) !important;}
.bg-custom7 .block-form .form-3 .form-group > label, .div-bot.bg-custom7 + div:after, .bg-custom7.flow .__col .block-image:first-child .__content, .bubble-custom7 + .sticky-bubbles .bubble, .banner-custom7 + .div-banner-roll, .filter-custom7:before, .cards-custom7 .__col > .block-section, .bg-custom7 {background-color: var(--custom7) !important;}
.bg-custom8 .block-form .form-3 .form-group > label, .div-bot.bg-custom8 + div:after, .bg-custom8.flow .__col .block-image:first-child .__content, .bubble-custom8 + .sticky-bubbles .bubble, .banner-custom8 + .div-banner-roll, .filter-custom8:before, .cards-custom8 .__col > .block-section, .bg-custom8 {background-color: var(--custom8) !important;}
.bg-custom9 .block-form .form-3 .form-group > label, .div-bot.bg-custom9 + div:after, .bg-custom9.flow .__col .block-image:first-child .__content, .bubble-custom9 + .sticky-bubbles .bubble, .banner-custom9 + .div-banner-roll, .filter-custom9:before, .cards-custom9 .__col > .block-section, .bg-custom9 {background-color: var(--custom9) !important;}

.bg-gradient1.flow .__col .block-image:first-child .__content, .bubble-gradient1 + .sticky-bubbles .bubble, .banner-gradient1 + .div-banner-roll, .filter-gradient1:before, .cards-gradient1 .__col > .block-section, .bg-gradient1 {background:linear-gradient(315deg, var(--primary), var(--custom7));}
.bg-gradient2.flow .__col .block-image:first-child .__content, .bubble-gradient2 + .sticky-bubbles .bubble, .banner-gradient2 + .div-banner-roll, .filter-gradient2:before, .cards-gradient2 .__col > .block-section, .bg-gradient2 {background:linear-gradient(315deg, var(--secondary), var(--custom8));}
.bg-gradient3.flow .__col .block-image:first-child .__content, .bubble-gradient3 + .sticky-bubbles .bubble, .banner-gradient3 + .div-banner-roll, .filter-gradient3:before, .cards-gradient3 .__col > .block-section, .bg-gradient3 {background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 70%, var(--custom7)) 150%;}
.bg-gradient4.flow .__col .block-image:first-child .__content, .bubble-gradient4 + .sticky-bubbles .bubble, .banner-gradient4 + .div-banner-roll, .filter-gradient4:before, .cards-gradient4 .__col > .block-section, .bg-gradient4 {background:linear-gradient(135deg, var(--custom5) 0%, var(--custom6) 70%, var(--custom4)) 150%;}
.bg-gradient5.flow .__col .block-image:first-child .__content, .bubble-gradient5 + .sticky-bubbles .bubble, .banner-gradient5 + .div-banner-roll, .filter-gradient5:before, .cards-gradient5 .__col > .block-section, .bg-gradient5 {background:linear-gradient(135deg, var(--custom4) 0%, var(--custom5) 70%, var(--custom2)) 150%;}
.bg-gradient6.flow .__col .block-image:first-child .__content, .bubble-gradient6 + .sticky-bubbles .bubble, .banner-gradient6 + .div-banner-roll, .filter-gradient6:before, .cards-gradient6 .__col > .block-section, .bg-gradient6 {background:linear-gradient(135deg, var(--custom2) 0%, var(--custom1) 70%, var(--dark)) 150%;}

.bg-transparent-secondary {background: linear-gradient(to bottom, transparent, var(--secondary));}
.bg-transparent-primary {background: linear-gradient(to bottom, transparent, var(--primary));}
.bg-primary-transparent {background: linear-gradient(to bottom, var(--primary), transparent);}
.bg-primary-light {background: linear-gradient(to bottom, var(--primary), var(--light));}
.bg-custom9-secondary {background: linear-gradient(to bottom, var(--custom9), var(--secondary));}
.bg-light-transparent {background: linear-gradient(to bottom, var(--light), transparent);}

.bg-light:not(.text-light) {color:var(--dark) !important;}

.__base .text-light, .text-light, .text-light p {color: var(--light) !important;}
.text-light h6, .text-light h1, .text-light h2, .text-light h3, .text-light h4, .text-light h5, .text-light a:not(.btn), .text-light a:not(.btn):hover {color: var(--light) !important; }
.text-light hr {background-color: var(--light) !important; color: var(--light) !important;}

.text-dark, .text-dark p, .text-dark h1, .text-dark h2, .text-dark h3, .text-dark h4, .text-dark h5, .text-dark h6, .text-dark a:not(.btn), .text-dark a:not(.btn):hover {color: var(--dark) !important;}
.text-primary, .text-primary p, .text-primary h1, .text-primary h2, .text-primary h3, .text-primary h4, .text-primary h5, .text-primary h6, .text-primary a, .text-primary a:hover {color: var(--primary) !important;}
.text-secondary, .text-secondary p, .text-secondary h1, .text-secondary h2, .text-secondary h3, .text-secondary h4, .text-secondary h5, .text-secondary h6, .text-secondary a, .text-secondary a:hover {color: var(--secondary) !important;}

.text-success, .text-success p, .text-success h1, .text-success h2, .text-success h3, .text-success h4, .text-success h5, .text-success h6, .text-success a, .text-success a:hover {color: var(--success);}
.text-danger, .text-danger p, .text-danger h1, .text-danger h2, .text-danger h3, .text-danger h4, .text-danger h5, .text-danger h6, .text-danger a, .text-danger a:hover {color: var(--danger);}
.text-warning, .text-warning p, .text-warning h1, .text-warning h2, .text-warning h3, .text-warning h4, .text-warning h5, .text-warning h6, .text-warning a, .text-warning a:hover {color: var(--warning);}
.text-info, .text-info p, .text-info h1, .text-info h2, .text-info h3, .text-info h4, .text-info h5, .text-info h6, .text-info a, .text-info a:hover {color: var(--info);}
.text-custom1, .text-custom1 p, .text-custom1 h1, .text-custom1 h2, .text-custom1 h3, .text-custom1 h4, .text-custom1 h5, .text-custom1 h6, .text-custom1 a, .text-custom1 a:hover {color: var(--custom1);}
.text-custom2, .text-custom2 p, .text-custom2 h1, .text-custom2 h2, .text-custom2 h3, .text-custom2 h4, .text-custom2 h5, .text-custom2 h6, .text-custom2 a, .text-custom2 a:hover {color: var(--custom2);}
.text-custom3, .text-custom3 p, .text-custom3 h1, .text-custom3 h2, .text-custom3 h3, .text-custom3 h4, .text-custom3 h5, .text-custom3 h6, .text-custom3 a, .text-custom3 a:hover {color: var(--custom3);}
.text-custom4, .text-custom4 p, .text-custom4 h1, .text-custom4 h2, .text-custom4 h3, .text-custom4 h4, .text-custom4 h5, .text-custom4 h6, .text-custom4 a, .text-custom4 a:hover {color: var(--custom4);}
.text-custom5, .text-custom5 p, .text-custom5 h1, .text-custom5 h2, .text-custom5 h3, .text-custom5 h4, .text-custom5 h5, .text-custom5 h6, .text-custom5 a, .text-custom5 a:hover {color: var(--custom5);}
.text-custom6, .text-custom6 p, .text-custom6 h1, .text-custom6 h2, .text-custom6 h3, .text-custom6 h4, .text-custom6 h5, .text-custom6 h6, .text-custom6 a, .text-custom6 a:hover {color: var(--custom6);}
.text-custom7, .text-custom7 p, .text-custom7 h1, .text-custom7 h2, .text-custom7 h3, .text-custom7 h4, .text-custom7 h5, .text-custom7 h6, .text-custom7 a, .text-custom7 a:hover {color: var(--custom7);}
.text-custom8, .text-custom8 p, .text-custom8 h1, .text-custom8 h2, .text-custom8 h3, .text-custom8 h4, .text-custom8 h5, .text-custom8 h6, .text-custom8 a, .text-custom8 a:hover {color: var(--custom8);}
.text-custom9, .text-custom9 p, .text-custom9 h1, .text-custom9 h2, .text-custom9 h3, .text-custom9 h4, .text-custom9 h5, .text-custom9 h6, .text-custom9 a, .text-custom9 a:hover {color: var(--custom9);}

[class*="filter-"] {position:relative; overflow:hidden;}
[class*="filter-"]:before {border-radius: inherit; ransition:1s all; position: absolute; content: " "; top: 0; left: 0; width: 100%; height: 100%; display: block; opacity: .3; z-index: 2;}
[class*="filter-"].hover:hover:before {opacity: .3 !important;}
.filter-opac1:before {opacity:.1 !important;} .filter-opac2:before {opacity:.2 !important;} .filter-opac3:before {opacity:.3 !important;} .filter-opac5:before {opacity:.5 !important;} .filter-opac6:before {opacity:.6 !important;} .filter-opac7:before {opacity:.7 !important;} .filter-opac8:before {opacity:.8 !important;} .filter-opac9:before {opacity:.9 !important;} .filter-opac95:before {opacity:.95 !important;} .filter-opac98:before {opacity:.98 !important;} .filter-opac:before {opacity:1 !important;}
.filter-blur3:before {backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px);} .filter-blur5:before {backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px);}
[class*="filter-blur"]:before { opacity:1 !important; filter:opacity(.8);}
.filter-left:before, .filter-right:before, .filter-bottom:before, .filter-top:before {background-color:inherit !important; width: 50%; left: auto !important; right: 0 !important; filter: blur(50px); transform: scale(1.6);}
.filter-bottom:before, .filter-top:before {width:100% !important; height: 50%; left:0 !important; bottom:0 !important; top: auto !important;}
.filter-left:before {left: 0 !important; right: auto !important;}
.filter-top:before {top:0 !important; bottom:auto !important;}
.filter-bnw:after {content:""; position:absolute; inset:0; background-color: black !important; opacity: 1; mix-blend-mode: saturation;}
[class*="filter-"] > div {position:relative; z-index:3;}
.filter-custom:before {filter: none; transform: none;}
.filter-custom.filter-left:before {border-radius: 0 0 150px 0;}
.filter-custom.filter-right:before {border-radius: 150px 0 0 0;}
.filter-slant.filter-left:before, .filter-slant.filter-right:before {filter: none; }
.filter-slant.filter-left:before {transform: skewX(-15deg) scaleX(1.5);}
.filter-slant.filter-right:before {transform: skewX(15deg) scaleX(1.5);}
.filter-multiply:before {opacity:1 !important; mix-blend-mode: multiply;}
.filter-color:before {opacity:1 !important; mix-blend-mode: color;}
.filter-overlay:before {opacity:1 !important; mix-blend-mode: overlay;}

.filter-left-top:before, .filter-right-top:before, .filter-bottom-right:before, .filter-bottom-left:before {width: 33%; height: 50%;}
.filter-bottom-right:before {inset: auto 0 0 auto;}
.filter-right-top:before {inset: 0 0 auto auto;}
.filter-bottom-left:before {inset: auto auto 0 0;}
.filter-left-top.filter-radius:before { border-bottom-right-radius: var(--boxadius);}
.filter-bottom-right.filter-radius:before { border-top-left-radius: var(--boxadius);}
.filter-right-top.filter-radius:before { border-bottom-left-radius: var(--boxadius);}
.filter-bottom-left.filter-radius:before { border-top-right-radius: var(--boxadius);}

.filtered-hue:before {mix-blend-mode:hue;}
.filtered-overlay:before {mix-blend-mode:overlay;}
.filtered-color:before {mix-blend-mode:color;}
.filtered-multiply:before {mix-blend-mode:multiply;}
.filtered-hue, .filtered-overlay, .filtered-color, .filtered-multiply {background-blend-mode:multiply;}

.bg-image {background-size: cover; background-repeat: no-repeat; background-position: 50% 50%;}
.bg-fixed, .bg-fixedd {background-attachment: fixed;}
.bg-contain {background-size: contain !important;}


:is(h0,h1,h2,h3,h4,h5,h6)[class*="filter-"]:before {z-index: -1;}

.w-5 {width: 5%;}
.w-10 {width: 10%;}
.w-15 {width: 15%;}
.w-20 {width: 20%;}
.w-25 {width: 25%;}
.w-30 {width: 30%;}
.w-35 {width: 35%;}
.w-40 {width: 40%;}
.w-45 {width: 45%;}
.w-50 {width: 50%;}
.w-55 {width: 55%;}
.w-60 {width: 60%;}
.w-65 {width: 65%;}
.w-70 {width: 70%;}
.w-75 {width: 75%;}
.w-80 {width: 80%;}
.w-85 {width: 85%;}
.w-90 {width: 90%;}
.w-95 {width: 95%;}
.w-100 {width: 100%;}

.wh-5 {width: 5vw;}
.wh-10 {width: 10vw;}
.wh-15 {width: 15vw;}
.wh-20 {width: 20vw;}
.wh-25 {width: 25vw;}
.wh-30 {width: 30vw;}
.wh-35 {width: 35vw;}
.wh-40 {width: 40vw;}
.wh-45 {width: 45vw;}
.wh-50 {width: 50vw;}
.wh-55 {width: 55vw;}
.wh-60 {width: 60vw;}
.wh-65 {width: 65vw;}
.wh-70 {width: 70vw;}
.wh-75 {width: 75vw;}
.wh-80 {width: 80vw;}
.wh-85 {width: 85vw;}
.wh-90 {width: 90vw;}
.wh-95 {width: 95vw;}
.wh-100 {width: 100vw;}

.object-bottom {object-position: bottom;}
.object-top {object-position: top;}


.bgy-0, .bgy-0:before, .bgy-0:after {background-position-y: 0%; -webkit-mask-position-y: 0% !important;}
.bgy-5, .bgy-5:before, .bgy-5:after {background-position-y: 5%; -webkit-mask-position-y: 5% !important;}
.bgy-10, .bgy-10:before, .bgy-10:after {background-position-y: 10%; -webkit-mask-position-y: 10% !important;}
.bgy-20, .bgy-20:before, .bgy-20:after {background-position-y: 20%; -webkit-mask-position-y: 20% !important;}
.bgy-30, .bgy-30:before, .bgy-30:after {background-position-y: 30%; -webkit-mask-position-y: 30% !important;}
.bgy-40, .bgy-40:before, .bgy-40:after {background-position-y: 40%; -webkit-mask-position-y: 40% !important;}
.bgy-50, .bgy-50:before, .bgy-50:after {background-position-y: 50%; -webkit-mask-position-y: 50% !important;}
.bgy-60, .bgy-60:before, .bgy-60:after {background-position-y: 60%; -webkit-mask-position-y: 60% !important;}
.bgy-70, .bgy-70:before, .bgy-70:after {background-position-y: 70%; -webkit-mask-position-y: 70% !important;}
.bgy-80, .bgy-80:before, .bgy-80:after {background-position-y: 80%; -webkit-mask-position-y: 80% !important;}
.bgy-90, .bgy-90:before, .bgy-90:after {background-position-y: 90%; -webkit-mask-position-y: 90% !important;}
.bgy-100, .bgy-100:before, .bgy-100:after {background-position-y: 100%; -webkit-mask-position-y: 100% !important;}

.bgx-0, .bgx-0:before, .bgx-0:after {background-position-x: 0%; -webkit-mask-position-x: 0% !important;}
.bgx-5, .bgx-5:before, .bgx-5:after {background-position-x: 5%; -webkit-mask-position-x: 5% !important;}
.bgx-10, .bgx-10:before, .bgx-10:after {background-position-x: 10%; -webkit-mask-position-x: 10% !important;}
.bgx-20, .bgx-20:before, .bgx-20:after {background-position-x: 20%; -webkit-mask-position-x: 20% !important;}
.bgx-30, .bgx-30:before, .bgx-30:after {background-position-x: 30%; -webkit-mask-position-x: 30% !important;}
.bgx-40, .bgx-40:before, .bgx-40:after {background-position-x: 40%; -webkit-mask-position-x: 40% !important;}
.bgx-45, .bgx-45:before, .bgx-45:after {background-position-x: 45%; -webkit-mask-position-x: 45% !important;}
.bgx-47, .bgx-47:before, .bgx-47:after {background-position-x: 47%; -webkit-mask-position-x: 47% !important;}
.bgx-50, .bgx-50:before, .bgx-50:after {background-position-x: 50%; -webkit-mask-position-x: 50% !important;}
.bgx-60, .bgx-60:before, .bgx-60:after {background-position-x: 60%; -webkit-mask-position-x: 60% !important;}
.bgx-70, .bgx-70:before, .bgx-70:after {background-position-x: 70%; -webkit-mask-position-x: 70% !important;}
.bgx-80, .bgx-80:before, .bgx-80:after {background-position-x: 80%; -webkit-mask-position-x: 80% !important;}
.bgx-90, .bgx-90:before, .bgx-90:after {background-position-x: 90%; -webkit-mask-position-x: 90% !important;}
.bgx-100, .bgx-100:before, .bgx-100:after {background-position-x: 100%; -webkit-mask-position-x: 100% !important;}

.cards-vh-5 .__col .block-section, .vh-5 {height: 5vh !important;}
.cards-vh-10 .__col .block-section, .vh-10 {height: 10vh !important;}
.cards-vh-15 .__col .block-section, .vh-15 {height: 15vh !important;}
.cards-vh-20 .__col .block-section, .vh-20 {height: 20vh !important;}
.cards-vh-25 .__col .block-section, .vh-25 {height: 25vh !important;}
.cards-vh-30 .__col .block-section, .vh-30 {height: 30vh !important;}
.cards-vh-35 .__col .block-section, .vh-35 {height: 35vh !important;}
.cards-vh-40 .__col .block-section, .vh-40 {height: 40vh !important;}
.cards-vh-45 .__col .block-section, .vh-45 {height: 45vh !important;}
.cards-vh-50 .__col .block-section, .vh-50 {height: 50vh !important;}
.cards-vh-55 .__col .block-section, .vh-55 {height: 55vh !important;}
.cards-vh-60 .__col .block-section, .vh-60 {height: 60vh !important;}
.cards-vh-65 .__col .block-section, .vh-65 {height: 65vh !important;}
.cards-vh-70 .__col .block-section, .vh-70 {height: 70vh !important;}
.cards-vh-75 .__col .block-section, .vh-75 {height: 75vh !important;}
.cards-vh-80 .__col .block-section, .vh-80 {height: 80vh !important;}
.cards-vh-85 .__col .block-section, .vh-85 {height: 85vh !important;}
.cards-vh-90 .__col .block-section, .vh-90 {height: 90vh !important;}
.cards-vh-95 .__col .block-section, .vh-95 {height: 95vh !important;}
.cards-vh-100 .__col .block-section, .vh-100 {height: 100vh !important;}
.cards-vh-150 .__col .block-section, .vh-150 {height: 150vh !important;}
.cards-vh-200 .__col .block-section, .vh-200 {height: 200vh !important;}

.cards-vh-min-25 .__col .block-section, .vh-min-25 {min-height: 25vh !important;}
.cards-vh-min-30 .__col .block-section, .vh-min-30 {min-height: 30vh !important;}
.cards-vh-min-40 .__col .block-section, .vh-min-40 {min-height: 40vh !important;}
.cards-vh-min-50 .__col .block-section, .vh-min-50 {min-height: 50vh !important;}
.cards-vh-min-60 .__col .block-section, .vh-min-60 {min-height: 60vh !important;}
.cards-vh-min-75 .__col .block-section, .vh-min-75 {min-height: 75vh !important;}
.cards-vh-min-100 .__col .block-section, .vh-min-100 {min-height: 100vh !important;}

.m0 .__content, .p0 .__content, .ms0 .__content *:not(:first-child) {margin-top: 0 !important; margin-bottom: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important;}
.m1st .__content *:first-child, .m0 *:is(h1, h2, h3, h4, h5, h6, p, img, ul, li, ol), .mu0 ul, .mo0 ol, .ml0 li, .mul0 ul, .mul0 li,
.mh0 *:is(h1, h2, h3, h4, h5, h6), .mp0 p, .mi0 img, .mh60 h6 {margin-top: 0 !important; margin-bottom: 0 !important;}
.p1st .__content *:first-child, .p0 *:is(h1, h2, h3, h4, h5, h6, p, img, ul, li, ol), .pu0 ul, .pl0 li, .pul0 ul, .pul0 li,
.ph0 *:is(h1, h2, h3, h4, h5, h6), .pp0 p, .pi0 img {padding-top: 0 !important; padding-bottom: 0 !important;}
.pc0 .__content {padding:0 !important;}
.mh5 h5 {margin-top: 1.5rem !important;}

.text-justify-left, .text-justify-right, .text-justify-center {text-align: justify;}
.text-left-center, .text-left-right, .text-left-justify {text-align: left;}
.text-right-center, .text-right-left, .text-right-justify {text-align: right;}
.text-center-right, .text-center-left, .text-center-justify {text-align:center !important;}



.flex-direction-column {display: flex; flex-direction: column;}
.flex-direction-row {display: flex; flex-direction: row; justify-content: space-between;}


:is(.pull-bottom,.pull-bottom-middle,.pull-middle,.pull-middle-bottom) .col, .col:is(.pull-bottom,.pull-bottom-middle,.pull-middle,.pull-middle-bottom) {display: flex; align-items: center;}
:is(.pull-bottom,.pull-bottom-middle) .col, .col:is(.pull-bottom,.pull-bottom-middle) {align-items: flex-end;}
:is(.pull-bottom,.pull-bottom-middle,.pull-middle,.pull-middle-bottom) .col > .block-section, .col:is(.pull-bottom,.pull-bottom-middle,.pull-middle,.pull-middle-bottom) > .block-section {height: unset;}

input:is(:active,:hover,:focus,:focus-within) {box-shadow: none !important; border-color:var(--primary) !important;}
.row {margin-inline:0; overflow: unset;}
.col-px-0 > [class*='col-'] {padding-inline:0;}
.gap {gap:1rem;}
.row-gap {row-gap:1rem;}
.col-gap {column-gap:1rem;}

/*---------------- gallery-carousel -------------------*/


.carousel.carousel-fade .carousel-item {display: block; opacity: 0; transition: opacity ease-out .7s;}
.carousel.carousel-fade .carousel-item.active {opacity: 1 !important;}

.carousel {height: 100%;}
.carousel :is(.carousel-inner, .carousel-item, .carousel-item img) {height: 100%; width:100%; object-fit: cover; object-position: center;}
.carousel .carousel-indicators {gap:.25rem; margin-inline:0 !important; bottom:1rem;}
.carousel .carousel-indicators li {cursor: pointer; background-color: var(--custom5); width: .75rem; height: .75rem; border-radius: 50%; transition: var(--trans);}
.carousel .carousel-indicators li.active {background-color: var(--primary);}
.carousel .carousel-caption {background-color: var(--opac7dark); transition: var(--trans); position: absolute; inset: 0; text-align: left; padding: 3rem; display: flex !important; align-items: flex-start; justify-content: flex-end; flex-direction: column;}
.carousel .carousel-item:hover .carousel-caption {background-color: var(--opac2dark);}
.carousel .carousel-caption *:not(:last-child) {margin-bottom: .5rem;}

hr[spacer] {margin-block: 3rem; border:none;}

img {width: 100%; object-fit: cover; object-position: center;}
.pull-right, .pull-right-left {float: right;}
.pull-left, .pull-left-right {float: left;}

/********cardscus*********/


.cards-1 .col .block-section {min-height: 60svh; display: flex; flex-direction: row; flex-wrap: nowrap; padding: 2rem; border-radius: var(--boradius); border:1px solid var(--opac3light); position: relative; overflow: hidden;}
.cards-1 .col .block-section > div {flex:1; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; position: relative;}
.cards-1 .col .block-section .left {padding-right: 2rem;}
.cards-1 .col .block-section .left h1:first-child {position: absolute; line-height: normal; font-size: 20rem; top: -10rem; left: -3rem; z-index: -1; opacity: .05;}
.cards-1 .col .block-section .right {border-radius: var(--boradius); overflow: hidden; padding: 2rem 6rem 2rem 2rem;}
.cards-1 .col .block-section .right .img-container {position: absolute; height: 100%; z-index: -1; inset:0; }
.cards-1 .col .block-section .right img {filter: brightness(0.3); height: 100%; width: 100%; transition: var(--trans);}
.cards-1 .col .block-section .right:hover img {transform: scale(1.5);filter: brightness(0.5);}
.cards-1 .col .block-section .right .icon-det span {display: block;}
.cards-1 .col .block-section .right .icon-det span:not(:last-child) {margin-bottom: .25rem;}
.cards-1 .col .block-section .right a.btn {background: var(--primary);  color: var(--light) !important; position: absolute; right: 2rem; bottom: 2rem; border-radius: 50%; height: 4rem; width: 4rem; display: flex; align-items: center; justify-content: center;}
.cards-1 .col .block-section .right a.btn:hover {color:var(--light) !important;}


@media (max-width:767px) {
  .cards-1 .col .block-section {padding: 3rem 1rem 1rem 1rem; flex-direction: column;}
  .cards-1 .col .block-section > div {flex:1; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; position: relative;}
  .cards-1 .col .block-section .left {margin-bottom: 2rem; padding-right: 0;}
}


.hover:is(.opac1,.opac3,.opac5,.opac7,.opac9) {transition:var(--trans);}
.hover:is(.opac1,.opac3,.opac5,.opac7,.opac9):hover {opacity:1;}
.opac1 {opacity:.1;} .opac2 {opacity:.2;} .opac3 {opacity:.3;} .opac4 {opacity:.4;} .opac5 {opacity:.5;} .opac6 {opacity:.6;} .opac7 {opacity:.75;} .opac8 {opacity:.8;} .opac9 {opacity:.9;}

.head {position: relative;}
.head:after {content:""; position: absolute; border-bottom: 1px solid var(--dark); width:5rem; height: 1px; margin-left: .5rem; top: 50%; transform: translateY(-50%);}
:is(body,dark, .text-light) .head:after, .text-light.head:after {border-color: var(--light);}
:is(body,dark, .text-custom8) .head:after, .text-custom8.head:after {border-color: var(--custom8);}




@media (max-width: 2050px) {
  body {font-size: 16px;}
}

@media (max-width: 1920px) {
  body {font-size: 13px;}
  section > .container {max-width: 80vw !important;}
}

@media (max-width: 1560px) {
  section > .container {max-width: 90vw !important;}
}


@media (max-width: 1280px) {
  h1 strong {font-size: 4rem; line-height: 1.2;}
}

@media (max-width: 992px) {
  h0, h1 {font-size: 3.5rem; letter-spacing: 2px;}
  h2 {font-size: 2.5rem; letter-spacing: 2px;}
  h3 {font-size: 2rem; letter-spacing: 2px;}
  h4 {font-size: 1.6rem; letter-spacing: 1px;}
  h5 {font-size: 1.2rem; letter-spacing: 0px;}


}

@media (min-width: 768px) {
  .col.order-2-md {order:2;}
  .h-md-100 {height: 100%;}
}

@media (max-width: 767px) {
  h0,h1,h2,h3,h4,h5 {letter-spacing: 0px;}
  h1:has(>strong), h1 strong {font-size: 3rem; line-height: 1.3;}
  h0 {margin-left: 0;}
  h0, h1 {font-size: 3rem;}
  h2 {font-size: 2rem;}
  h3 {font-size: 1.7rem;}
  h4 {font-size: 1.5rem;}
  h5 {font-size: 1rem; line-height: 1.7;}

  .bg-fixed {background-attachment: scroll;}
  .text-left-justify, .text-right-justify, .text-center-justify {text-align: justify !important;}
  .text-left-center, .text-right-center, .text-justify-center {text-align: center !important;}
  .text-right-left, .text-center-left, .text-justify-left {text-align: left !important;}
  .text-left-right, .text-center-right, .text-justify-right {text-align: right !important;}
  :is(.text-left-center, .text-right-center) .block-list.socials .block-list-group {justify-content: center;}


  :is(.pull-bottom-middle) .col, .col:is(.pull-bottom-middle) {align-items: center;}
  :is(.pull-middle-bottom) .col, .col:is(.pull-middle-bottom) {align-items: flex-end;}

  .filter-top-md:before {width: 100%; height: 30%; opacity: 1 !important; transform: scale(2);}

  .w-md-auto {width:auto !important;}
  .w-md-100 {width:100% !important;}
  .w-md-95 {width:95% !important;}
  .w-md-90 {width:90% !important;}
  .w-md-85 {width:85% !important;}
  .w-md-80 {width:80% !important;}
  .w-md-75 {width:75% !important;}
  .w-md-70 {width:70% !important;}
  .w-md-65 {width:65% !important;}
  .w-md-60 {width:60% !important;}
  .w-md-55 {width:55% !important;}
  .w-md-50 {width:50% !important;}
  .w-md-45 {width:45% !important;}
  .w-md-40 {width:40% !important;}
  .w-md-35 {width:35% !important;}
  .w-md-30 {width:30% !important;}
  .w-md-25 {width:25% !important;}
  .w-md-20 {width:20% !important;}
  .vh-md-auto {height:auto !important;}
  .vh-md-180 {height:180vh !important;}
  .vh-md-150 {height:150vh !important;}
  .vh-md-130 {height:130vh !important;}
  .vh-md-100 {height:100vh !important;}
  .vh-md-90 {height:90vh !important;}
  .vh-md-80 {height:80vh !important;}
  .vh-md-70 {height:70vh !important;}
  .vh-md-60 {height:60vh !important;}
  .vh-md-50 {height:50vh !important;}
  .vh-md-40 {height:40vh !important;}
  .vh-md-30 {height:30vh !important;}
  .vh-md-20 {height:20vh !important;}

  .wh-md-5 {width: 5vw !important;}
  .wh-md-10 {width: 10vw !important;}
  .wh-md-15 {width: 15vw !important;}
  .wh-md-20 {width: 20vw !important;}
  .wh-md-25 {width: 25vw !important;}
  .wh-md-30 {width: 30vw !important;}
  .wh-md-35 {width: 35vw !important;}
  .wh-md-40 {width: 40vw !important;}
  .wh-md-45 {width: 45vw !important;}
  .wh-md-50 {width: 50vw !important;}
  .wh-md-55 {width: 55vw !important;}
  .wh-md-60 {width: 60vw !important;}
  .wh-md-65 {width: 65vw !important;}
  .wh-md-70 {width: 70vw !important;}
  .wh-md-75 {width: 75vw !important;}
  .wh-md-80 {width: 80vw !important;}
  .wh-md-85 {width: 85vw !important;}
  .wh-md-90 {width: 90vw !important;}
  .wh-md-95 {width: 95vw !important;}
  .wh-md-100 {width: 100vw !important;}

  .d-none-md {display:none !important;}
  .order-md .block-column > .__col:nth-child(1) {order:2;}
  .order-md .block-column > .__col:nth-child(2) {order:1;}


  .__col.order-1-md {order:1;}
  .__col.order-2-md {order:2;}

  .pull-right-left {float: left;}
  .pull-left-right {float: right;}

  .p-0-md {padding:0 !important;}
  .p-1-md {padding:.5rem !important;}
  .p-2-md {padding:1rem !important;}
  .p-3-md {padding:1.5rem !important;}
  .p-4-md {padding:2rem !important;}
  .p-5-md {padding:3rem !important;}
  .pl-0-md {padding-left:0 !important;}
  .pl-5-md {padding-left:3rem !important;}
  .pr-0-md {padding-right:0 !important;}
  .pr-5-md {padding-right:3rem !important;}
  .pt-0-md {padding-top:0 !important;}
  .pt-5-md {padding-top:3rem !important;}
  .pb-0-md {padding-bottom:0 !important;}
  .pb-5-md {padding-bottom:3rem !important;}
  .px-0-md {padding-inline:0rem !important;}
  .px-1-md {padding-inline:.5rem !important;}
  .px-2-md {padding-inline:1rem !important;}
  .px-3-md {padding-inline:1.5rem !important;}
  .px-4-md {padding-inline:2rem !important;}
  .px-5-md {padding-inline:3rem !important;}
  .py-0-md {padding-block:0 !important;}
  .py-1-md {padding-block:.5rem !important;}
  .py-2-md {padding-block:1rem !important;}
  .py-3-md {padding-block:1.5rem !important;}
  .py-4-md {padding-block:2rem !important;}
  .py-5-md {padding-block:3rem !important;}

  .m-0-md {margin:0 !important;}
  .m-1-md {margin:.5rem !important;}
  .m-2-md {margin:1rem !important;}
  .m-3-md {margin:1.5rem !important;}
  .m-4-md {margin:2rem !important;}
  .m-5-md {margin:3rem !important;}
  .ml-0-md {margin-left:0 !important;}
  .ml-5-md {margin-left:3rem !important;}
  .mr-0-md {margin-right:0 !important;}
  .mr-5-md {margin-right:3rem !important;}
  .mt-0-md {margin-top:0 !important;}
  .mt-5-md {margin-top:3rem !important;}
  .mb-0-md {margin-bottom:0 !important;}
  .mb-5-md {margin-bottom:3rem !important;}
  .mx-0-md {margin-inline:0 !important;}
  .mx-1-md {margin-inline:.5rem !important;}
  .mx-2-md {margin-inline:1rem !important;}
  .mx-3-md {margin-inline:1.5rem !important;}
  .mx-4-md {margin-inline:2rem !important;}
  .mx-5-md {margin-inline:3rem !important;}
  .my-0-md {margin-block:0 !important;}
  .my-1-md {margin-block:.5rem !important;}
  .my-2-md {margin-block:1rem !important;}
  .my-3-md {margin-block:1.5rem !important;}
  .my-4-md {margin-block:2rem !important;}
  .my-5-md {margin-block:3rem !important;}


  .bgy-0-md, .bgy-0-md:before, .bgy-0-md:after {background-position-y: 0% !important; -webkit-mask-position-y: 0% !important;}
  .bgy-5-md, .bgy-5-md:before, .bgy-5-md:after {background-position-y: 5% !important; -webkit-mask-position-y: 5% !important;}
  .bgy-10-md, .bgy-10-md:before, .bgy-10-md:after {background-position-y: 10% !important; -webkit-mask-position-y: 10% !important;}
  .bgy-20-md, .bgy-20-md:before, .bgy-20-md:after {background-position-y: 20% !important; -webkit-mask-position-y: 20% !important;}
  .bgy-30-md, .bgy-30-md:before, .bgy-30-md:after {background-position-y: 30% !important; -webkit-mask-position-y: 30% !important;}
  .bgy-40-md, .bgy-40-md:before, .bgy-40-md:after {background-position-y: 40% !important; -webkit-mask-position-y: 40% !important;}
  .bgy-50-md, .bgy-50-md:before, .bgy-50-md:after {background-position-y: 50% !important; -webkit-mask-position-y: 50% !important;}
  .bgy-60-md, .bgy-60-md:before, .bgy-60-md:after {background-position-y: 60% !important; -webkit-mask-position-y: 60% !important;}
  .bgy-70-md, .bgy-70-md:before, .bgy-70-md:after {background-position-y: 70% !important; -webkit-mask-position-y: 70% !important;}
  .bgy-80-md, .bgy-80-md:before, .bgy-80-md:after {background-position-y: 80% !important; -webkit-mask-position-y: 80% !important;}
  .bgy-90-md, .bgy-90-md:before, .bgy-90-md:after {background-position-y: 90% !important; -webkit-mask-position-y: 90% !important;}
  .bgy-100-md, .bgy-100-md:before, .bgy-100-md:after {background-position-y: 100% !important; -webkit-mask-position-y: 100% !important;}

  .bgx-0-md, .bgx-0-md:before, .bgx-0-md:after {background-position-x: 0% !important; -webkit-mask-position-x: 0% !important;}
  .bgx-5-md, .bgx-5-md:before, .bgx-5-md:after {background-position-x: 5% !important; -webkit-mask-position-x: 5% !important;}
  .bgx-10-md, .bgx-10-md:before, .bgx-10-md:after {background-position-x: 10% !important; -webkit-mask-position-x: 10% !important;}
  .bgx-20-md, .bgx-20-md:before, .bgx-20-md:after {background-position-x: 20% !important; -webkit-mask-position-x: 20% !important;}
  .bgx-30-md, .bgx-30-md:before, .bgx-30-md:after {background-position-x: 30% !important; -webkit-mask-position-x: 30% !important;}
  .bgx-40-md, .bgx-40-md:before, .bgx-40-md:after {background-position-x: 40% !important; -webkit-mask-position-x: 40% !important;}
  .bgx-45-md, .bgx-45-md:before, .bgx-45-md:after {background-position-x: 45% !important; -webkit-mask-position-x: 45% !important;}
  .bgx-50-md, .bgx-50-md:before, .bgx-50-md:after {background-position-x: 50% !important; -webkit-mask-position-x: 50% !important;}
  .bgx-55-md, .bgx-55-md:before, .bgx-55-md:after {background-position-x: 55% !important; -webkit-mask-position-x: 55% !important;}
  .bgx-60-md, .bgx-60-md:before, .bgx-60-md:after {background-position-x: 60% !important; -webkit-mask-position-x: 60% !important;}
  .bgx-70-md, .bgx-70-md:before, .bgx-70-md:after {background-position-x: 70% !important; -webkit-mask-position-x: 70% !important;}
  .bgx-80-md, .bgx-80-md:before, .bgx-80-md:after {background-position-x: 80% !important; -webkit-mask-position-x: 80% !important;}
  .bgx-90-md, .bgx-90-md:before, .bgx-90-md:after {background-position-x: 90% !important; -webkit-mask-position-x: 90% !important;}
  .bgx-100-md, .bgx-100-md:before, .bgx-100-md:after {background-position-x: 100% !important; -webkit-mask-position-x: 100% !important;}

  .row {flex-direction: column;}
  .flex-direction-md-column {flex-direction: column;}
  .align-items-end .col {display: flex; justify-content: flex-end; flex-direction: column;}

  .btn {font-size: .8rem;}
  .carousel .carousel-caption {padding: 2rem !important;}

  .bg-fixedd {background-size: 0 !important;}
  .bg-fixedd:after {z-index:-1; max-height: 100%; pointer-events: none; content: ""; inset:0; background-image: inherit; background-size:cover; background-color:inherit; background-position:inherit; background-attachment: scroll; transition: var(--trans); position: unset; opacity: 0;}
  .bg-fixedd.show:after {opacity: 1; position: fixed;}
  .bg-fixedd:not(.show) {z-index:-10 !important; opacity:0; pointer-events: none; /*overflow: hidden; max-height: 1px; padding-block:0 !important;*/}

}

@media (max-width: 558px) {
  h0 {font-size: 3.5rem;}
  h1 {font-size: 2.5rem;}
  h2 {font-size: 2rem;}
  .btn {margin-top: .5rem;}
  html .tooltip {display: none !important;}
  .vh-sm-auto {height:auto !important;}

}

@media (max-width: 320px) {

}




/*************NAVIGATION BAR*************/

:root {--navh:5rem;}

html:has(.hero:hover) .navbar {/*opacity: .1;*/}

.navbar {transition:1s all; background: white; height:var(--navh); width:max-content; border-radius: calc(var(--boradius) * 2); position: fixed; top: 2rem; left:50%; transform:translateX(-50%) scale(.9); transform-origin: top; z-index: 999; display: flex; flex-direction: row; padding-inline:2rem;  flex-wrap: nowrap;}
.navbar a, .navbar>li>a {text-transform:unset;}
.navbar a:before {display: none;}
.navbar .navbar-brand {width: calc(var(--navh) * 2.5); padding: 0; margin: 0 0 0 0; height: 70%;}
.navbar .navbar-brand img {width:100%; margin-top:-3px; transition:var(--trans); height: 100%; object-fit: contain; object-position: left;}
.navbar .nav-toggler {display:none;}
.navbar .navbar-nav {transition:1s all; margin-left:2rem; display: flex; flex-direction: row; align-content: center; justify-content: space-around;}
.navbar .navbar-nav > .nav-item.has_childs > .nav-link:after {content: "\f078"; font:var(--fonticon); border:none; transition:var(--trans); font-size: .8rem; margin-left: .5rem;}
.navbar .navbar-nav > .nav-item.has_childs.show > .nav-link:after {transform: rotate(-180deg); /*background: white; transform: translateX(-5rem) translateY(3.5rem) scale(1) rotate(45deg); font-size: 0; width: 1rem; height: 1rem;*/}
.navbar .navbar-nav :is(.nav-item > .nav-link:hover, .nav-item.active > .nav-link) {color:var(--primary);}
.navbar .navbar-nav > .nav-item > .nav-link {font-weight:500; transition:var(--trans); margin-left:.5rem; padding:1rem 1.5rem; line-height:normal; color:var(--dark); font-size:1.1rem; display: flex; align-items: center;}
.navbar .navbar-nav .nav-item.no-child > ul, .navbar .navbar-nav .nav-item.no-child > .nav-link::after {display:none;}
.navbar .navbar-nav .dropdown-menu {background: white; border-radius: 1rem; position: absolute; margin-top: 1.5rem; width:max-content; padding:1rem; display: block; transition: .3s; transform: scale(0); transform-origin: top;}
.navbar .navbar-nav .dropdown-menu.show {transform:scale(1);}
.navbar .navbar-nav .dropdown-menu > li {}
.navbar .navbar-nav .dropdown-menu > li > a {transition:var(--trans); color:var(--dark); padding:.25rem 1rem;}
.navbar .navbar-nav .dropdown-menu > li > a:hover {color:var(--primary);}
.navbar .nav-contact {display:none;}
.navbar.scrolled:not(:hover) {opacity:.3;}
.navbar.scrolled:not(:hover,.open) .navbar-nav {overflow: hidden; max-width: 0; opacity: 0; margin:0;}
.navbar.bx:not(:hover) {top:-6rem;}

@media(max-width:1560px) {
    :root {--navh:4.5rem;}
    .navbar {padding-inline:1rem;}
    .navbar .navbar-nav .dropdown-menu {margin-top: 1rem; }
}

@media (min-width:768px) {
    .navbar .navbar-nav > .nav-item.nav-btn:last-child {margin-right: -.5rem;}
    .navbar .navbar-nav > .nav-item.nav-btn {margin-left: 1rem;}
    .navbar .navbar-nav > .nav-item.nav-btn > .nav-link:hover {background:var(--secondary);}
    .navbar .navbar-nav > .nav-item.nav-btn > .nav-link {background:var(--primary); border-radius:var(--boradius); color:var(--light);}
}

@media (max-width:767px) {
    :root{--navpads:2rem;}
    .navbar {max-height:calc(var(--navh) + var(--navpads)); overflow:hidden; opacity:1 !important; background:transparent; inset: 0; transform:none; height: 100%; border-radius: 0; width: 100vw; flex-direction: column; padding-inline:var(--navpads); padding-bottom:var(--navpads);}
    .navbar .nav-toggler {display:block; position: absolute; inset: 1rem var(--navpads) auto auto; height: var(--navh); color:var(--light); padding:0; font-size:1.5rem; display: flex; align-items: center; text-decoration:none; width: 3rem; display: flex; justify-content: flex-end;}
    .navbar .navbar-brand {display:flex; transition:var(--trans); position: absolute; inset: 1rem auto auto var(--navpads); height: var(--navh);}
    .navbar .navbar-brand img {object-fit: contain; filter:contrast(0) saturate(0) brightness(2);}
    .navbar .navbar-nav {flex-direction: column; width:100%; margin: calc(var(--navh) + 3rem) 0 0 0;}
    .navbar .navbar-nav .nav-item .nav-link {color:var(--light);}
    .navbar .navbar-nav > .nav-item > .nav-link {margin-left: 0; padding-inline:0; font-size:1.5rem; display: flex; justify-content: space-between;}
    .navbar .navbar-nav > .nav-item.has_childs > .nav-link:after {font-size:1rem; margin-right:5px;}
    .navbar .navbar-nav .dropdown-menu {inset:0 !important; border-radius:0; border-left:1px solid var(--light) !important; padding-block:0; max-height:0px; margin: 0 0 0 1rem; background: transparent; width: 100%; position: relative;}
    .navbar .navbar-nav .dropdown-menu.show {max-height:100%; padding-block:1rem;}
    .navbar .nav-contact {display:flex; flex-direction:column; width:100%;}
    .navbar .nav-contact li:has(a:empty) {display:none;}
    .navbar .nav-contact li {list-style:none;}
    .navbar .nav-contact li a {color:var(--light); padding-inline:0; letter-spacing:1px;}
    .navbar .nav-contact .contact li a:before {margin-right:.5rem;}
    .navbar .nav-contact .contact li {border-bottom: 1px solid var(--light); width: 100%; display: block; padding: .5rem 0;}
    .navbar .nav-contact .contact li:first-child {border-top: 1px solid var(--light); }
    .navbar .nav-contact .social {display:flex; gap:1rem; margin-top:2rem; justify-content: flex-start;}
    .navbar .nav-contact .social li {}
    .navbar .nav-contact .social li a {font-size:0; letter-spacing:0; line-height:normal; background:var(--primary); height:3rem; width:3rem; border-radius:50%; display:flex;align-items: center; justify-content: center;}
    .navbar .nav-contact .social li a:before {display:flex; font-size:1.5rem; align-items: center; justify-content: center; margin: 0;}


    .navbar.bx:not(.open) {top:-8rem !important;}
    html:not(:has(.hero)) .navbar, .navbar:is(.scrolled,.open) {background:var(--dark);}
    .navbar.open {max-height:100svh;}
    .navbar:not(.open) :is(.navbar-nav,.nav-contact) {overflow:hidden !important; max-height:0px;}
    .navbar.scrolled {box-shadow:0px 2px 10px rgba(0,0,0,0.1);}
}

@media (max-width:558px) {
    :root {--navh:3rem;}
    .navbar .nav-contact .contact li {padding:.75rem 0; line-height:1.5;}
}






/***************FOOTER*****************/

footer {transition: var(--trans); text-align: center; position: relative; bottom:0; z-index: 5; background-color: var(--dark); color:var(--light);}
footer a {color:var(--light) !important; transition: var(--trans); text-decoration: none !important; border:none !important;}
footer a:hover {color:var(--primary) !important;}
footer a:before {font-size: inherit !important;}
footer .row .col {padding:1rem 5rem;}
footer .row .col:not(:last-child) {border-right:1px solid var(--opac2light);}
footer .socials {display: flex; gap:1rem;     align-items: center;}
footer .socials a {display: flex; align-items: center; justify-content: center; font-size: 1.5rem; height: 3rem; width: 3rem; border-radius: 50%; border:1px solid var(--light) !important; transition: var(--trans);}
footer .socials a:hover {background-color:var(--primary) !important; color:var(--light) !important;}
footer .socials a:before {margin: 0 !important;}
footer .socials a[href=''] {display: none;}
footer .middle {display: flex; height: 100%; align-items: center; justify-content: center;}

@media (min-width:768px) {
  footer .row .col:nth-child(2) {display: flex; justify-content: center; gap: 2rem;}
}

@media (max-width:767px) {
    footer .row .col {border-right:none !important;}
    footer .row .col:not(:last-child) {padding-bottom: 0;}
    footer .socials {margin-top: 1rem;}
}


/***************RX-base*******************/

[hidden] {display: none !important;}
html:not(.load).unpreview:before {opacity: .5 !important; content: "no preview.\a click to reload."; text-align: center; line-height: 1.5; white-space: pre; background: transparent; color: var(--light); text-transform: uppercase; display: flex; align-items: center; justify-content: center; letter-spacing: 2px; font-size: .65rem;}
html.post main > .block-section {min-height: 100svh; display: flex; align-items: center;}
html.post main > .block-section > .block-section-container {width: 100%;}
html.post .navbar {display: none;}

html.ready main:after {content:""; opacity: .5; background: url("../../files/scroll.webp") 50% 50% / contain no-repeat scroll transparent; transition: var(--trans); position: fixed; inset: 88% auto auto 50%; z-index: 10; width: 3rem; height: 3rem; transform: translateX(-50%); filter:invert(1);}
html.ready main:has(>.block-section:nth-child(1).text-light,>.block-section:nth-child(2).text-light):after {filter:invert(0);}
html.ready main.scrolled:after {opacity: 0;}

:root {--herospacing: 2rem;}
body {transition: var(--trans); }
html:after, body:after {transition: var(--trans); opacity: 1; animation:bodybg-change 15s linear infinite; content:""; position: fixed; height: 100svh; inset:0; z-index: -1; background-image: url(""); background-size: cover !important; background-position: 50% 50% !important; background-repeat: no-repeat; background-attachment:scroll !important;}

@keyframes bodybg-change {
}

@keyframes blink { 50% { opacity:.1; } 100% {opacity:1;}}
html:before {filter:saturate(0) brightness(20); transition:var(--trans); content:""; position:fixed; inset:0; background:url("../../assets/images/icon-loader.gif") 50% 50% / 8rem no-repeat scroll transparent; z-index:2000;}
html.load:before {animation:blink 1s infinite linear; }
html.load body {background:var(--primary) !important; animation:unset !important;}
html.load {overflow:hidden;}
html:not(.load):before {opacity:0 !important; z-index:-10 !important;}
html:not(.cms,.ready) body {opacity:0;}

@media (max-width:767px) {
    html:before {background-size:5rem !important;}
}

div.preload {display:none; flex-direction: row; flex-wrap:nowrap;}
div.preload * {flex:1; width:1%;}

video {width:100%; height: 100%; object-fit: cover;}
.bg-video {position: absolute; inset:0; height: inherit; width:100%; z-index: 0;}
.bg-video:before {content:""; background: black; opacity: .3; position: absolute; inset:0;}
.bg-fixed > .bg-video {position: fixed; height: 100%;}

video.bg-video {height: 100%; border-radius: inherit;}
video.bg-video.overlay {opacity: .3; mix-blend-mode: overlay; filter: blur(5px);}


img.white {filter:contrast(0) brightness(3);}
img.invert {filter:invert(1);}
img[src$='.png']:not(.unmasked), img.mask {display: block; -webkit-mask-size: contain; mask-size: contain; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; object-position: -9999px; background: var(--primary);}
img.mask.hero-cover {-webkit-mask-size: cover; mask-size: cover;}
.text-light img[src$='.png']:not(.unmasked) {filter:contrast(0) brightness(3);}


main > .block-section {background-color: inherit; position: relative; z-index: 2;}
main > .block-section > .block-section-container {z-index: 3; position: relative;}
main > .block-section:not(.full-width-all,.full-width-all-md) > .block-section-container {overflow: hidden; width: 100%; max-width: 80vw; margin-inline:auto; padding-block:10rem;}
main .py-section {padding-block:10rem;}
/* main > .block-section .block-column .__col {padding-inline:0;} */

main .block-column {display: flex; flex-wrap: wrap; position: relative; z-index: 1;}
main .block-column .__col {margin-block: auto;}
main .pull-middle .block-column .__col {display: flex; align-items: center; flex-direction: column; justify-content: center;}
main .pull-middle .block-column .__col > * {width: 100%;}
main .pull-middle :is(.block-section-container, .block-column, .block-column .__col) {height: 100%;}

.mx-auto {display: block;}
.mx-15, .mx-md-15 {margin-inline:15px;}
.mt--5 {margin-top:-5rem !important;}

.border {border: var(--border) !important;}
.border-col .__col:not(:last-child) {border-right:var(--border) !important;}
.border-top {border-top:var(--border) !important;}
.border-bottom {border-bottom:var(--border) !important;}
.border-light {border-color: var(--light) !important;}
.border-dark {border-color: var(--dark) !important;}
.border-white {border-color: var(--white) !important;}
.border-primary {border-color: var(--primary) !important;}
.border-secondary {border-color: var(--secondary) !important;}
.text-light .border, .text-light.border {border-color: var(--opac3light) !important;}

.sticky-top {-webkit-position: sticky !important; position: sticky !important; top:0;}
.under {position: relative; z-index: 1;}
.above {position: relative; z-index: 3;}


@keyframes error {
  0% {transform: translateX(-3px);}
  10% {transform: translateX(3px);}
  20% {transform: translateX(-1px);}
  30% {transform: translateX(1px);}
  40% {transform: translateX(-2px);}
  50% {transform: translateX(2px);}
  100% {transform: translateX(0);}
}

main > .block-section#rsvp > .block-section-container {overflow: unset;}

.block-form {/*margin-top: 2rem;*/}
.block-form.text-light .form-control {color:var(--light);}
.block-form form {position: relative;}
.block-form form .form-border {border:1px solid; margin-inline:0; margin-bottom: 2rem;}
.block-form form .form-label {padding:1rem .8rem 1.5rem .8rem;}
.block-form form .form-label:has(+.form-group) {padding-bottom: 0;}
.block-form form .form-label small {display: block; padding-left: 1px; line-height: 1.3;}
.block-form form .form-group {padding-inline:0 !important; min-height: 3rem; padding-top:2rem; margin-bottom: 0;}
.block-form form .form-group:has(> .form-checkbox) {min-height: unset; padding-top: 0;}
.block-form form .form-group label {width: 100%; padding: 0; transition: var(--trans); z-index: 1; color:var(--custom4); font-size: 1rem; line-height: 1.1; position: absolute; min-height: inherit; display: flex; align-items: flex-start; height: 100%; margin: 0;}
.block-form form .form-group label:has(>a) {display: block !important;}
.block-form form .form-border .form-group label {padding: 0 .8rem; }
.block-form form .form-border .form-group select.form-control {padding-inline:.6rem !important;}
.block-form form .form-group label small {font-size: .6rem; margin-top: 3px; margin-left:auto; padding-left: .5rem; margin-bottom: -.3rem; text-align: right;}
.block-form form .form-group label small input[type="checkbox"] {margin-right: 2px;}
.block-form form .form-group label strong {margin-left: 5px;}
.block-form form .form-group select.form-control {margin-top: -.5px;}
.block-form form .form-group .form-control[type='color'] {cursor: pointer; height: 4rem;}
.block-form form .form-group:has(.form-control[readonly]) {background-color: var(--opac1dark); cursor: no-drop;}
.block-form form .form-group .form-control[readonly] {cursor: inherit;}
.block-form form .form-group:has(.form-control[type='color']:not([required])) label {opacity: .4;}
.block-form form .form-group:has(.form-control[type='color']:not([required])) > input {pointer-events: none;}
.block-form form .form-group:has(.form-control[type='color']:not([required])) > input:before {content: ""; position: absolute; background: var(--light); inset: .8rem; opacity: .8;}
.block-form form .form-border .form-group .form-control {padding-inline: .8rem;}
.block-form form .form-group .form-control {font-family: sans-serif !important; padding: .8rem 0; border:none; z-index: 2; position: relative; border-bottom: 1px solid; background: transparent; border-radius: 0; line-height: normal; height: unset; min-height: inherit; box-shadow:none !important; outline:none !important;}
.block-form form .form-group .form-control[type='file'] {font-size: .8rem; margin-top: -1.5px;}
.block-form form .form-group.col-md-6:has(+ .col-md-6), .block-form form .form-group.col-md-4:has(+ .col-md-4) {/*border-right:1px solid;*/}
.block-form form .form-group.d-flex {display: flex; flex-direction: row;}
.block-form form .form-group.d-flex label {position: relative; margin:0 !important; color:var(--dark); padding-right: 0;}
.block-form form .form-group.d-flex .form-control {flex:1;}
.block-form form .form-group.captcha {border-bottom: 1px solid;}
.block-form form .form-group .form-checkbox {display: flex; cursor: pointer; margin-bottom: .5rem; align-items: center; border-bottom: 1px solid; padding-bottom: .5rem;}
.block-form form .form-group .form-checkbox label {color:var(--dark); margin: 0 !important; position: relative; line-height: 1.3;}
.block-form form .form-group .form-checkbox input[type="checkbox"] {transition: var(--trans); min-height: 1.25rem; justify-content: flex-start; width: 1.25rem; margin-inline: .4rem 1rem;}
.block-form form .form-group .form-checkbox input[type="checkbox"]:is(:focus,:active,:focus-within,.invalid):not(:checked) {box-shadow: 0 0 .5rem var(--danger) !important; background: var(--danger) !important;}
.block-form form .form-group .form-checkbox input[type="checkbox"]:is(:focus,:active,:focus-within,.invalid):checked {box-shadow: 0 0 .5rem var(--dark) !important; background: var(--dark) !important;}
.block-form form .form-group .form-checkbox.first {border-top: 1px solid !important; padding-top: .5rem;}
.block-form form :is(.form-group,.form-checkbox):has(.form-control.invalid) > label {animation: error .5s linear 1 forwards; color:var(--danger);}
.block-form form :is(.form-group,.form-checkbox):has(.form-control[required]) > label:before {content:"*"; margin-right: 5px;}

form.locked > * {display: none !important;}
form.locked:after {content:"RSVP form is now closed."; display: block; text-align: center; border: 1px dashed var(--opac1dark); padding: .5rem; font-style: italic;}
form .form-group .form-control {font-family: var(--fontdefault) !important; /*font-size: .7rem;*/}
form .form-group textarea.form-control {min-height: 8rem !important; overflow: hidden; resize: none; }
form .form-group textarea.form-control.lg {min-height: 15rem !important;}
form:before {opacity: 0 !important; position: absolute; content:"EMAIL SENT"; font-size: 0px; display: flex; align-items: flex-start; justify-content: center; inset:auto 0 0 0; transition: var(--trans); transform: scale(0); transform-origin: bottom; filter: blur(2rem);}
form.loading:before {background: /*url("../../assets/images/icon-loader.gif")*/ 50% calc(100% - 4rem) / 8rem no-repeat scroll var(--light); opacity: .5; inset: 0; z-index: 10; /*cursor: wait;*/ transform: scale(1); filter: blur(0);}
form > :not(.captcha) {transition: var(--trans);}
form.loading > :not(.captcha) {filter:blur(1px) opacity(0.5) !important;}
.bg-custom6 form.loading:before {background-color:var(--custom6) !important;}
form.loading.sent:before {text-transform: uppercase; font-weight: 700; font-size: 1.3rem; background: transparent; opacity: 1; top: auto; bottom: -4rem;}
form.loading:not(.sent) > *:not(.captcha) * {pointer-events: none;}
form.authenticating .captcha {transform: translateX(-50%) scale(.6); z-index: 12;}
form .captcha {
  color:var(--dark); transition: var(--trans); max-width: 40rem; min-width: 20rem; background-color: white; border-radius: var(--boradius); padding:2rem; border:1px solid var(--opac3dark); position: absolute; bottom: 0%; left: 50%; transform: translateX(-50%) scale(0); z-index: -1; transform-origin: bottom;
  * {margin:0; font-family:"Inter"; color: inherit !important;}
  .close {font-size: 1rem; text-decoration: none; border:none; cursor: pointer; position: absolute; right: -1rem; top: -1rem; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--dark); color: var(--light) !important; height: 3rem; width: 3rem; opacity: 1;}
  [class*='fa-']:before {font: var(--fonticon);}
  .title {
    display: flex; align-items: center; justify-content: space-between; gap:1rem;
  }
  .text {
    display: flex; align-items: center; justify-content: space-between; gap:1rem; margin-top:0; text-align: left;
    h5 {flex:1;}
    .base {color:var(--opac3dark); border:1px solid; width: 6rem; height: 6rem; display: flex; align-items: center; justify-content: center; padding: 1rem; border-radius: 50%;}
  }
  .body {
    display: flex; align-items: center; justify-content: space-between; flex-wrap: nowrap; gap:1rem; margin-top:1rem;
    .option {color:var(--opac5dark); font-weight: 800; transition: var(--trans); cursor: pointer; flex:1; background: var(--opac1dark); width: 6rem; height: 6rem; display: flex; align-items: center; justify-content: center; padding: 1rem; border-radius: 50%; position: relative; overflow: hidden;}
    .option:before {content:""; opacity: .25; background: url('../../assets/images/dots.png') 50% 50% / 2.5rem repeat scroll transparent; position: absolute; inset:0;}
    .option:is(.active,:active,:focus,:focus-within) {font-size: 1.7rem;}
    .option.invalid:before {background-color: var(--danger);}
    .option.success:before {background-color: var(--success);}
  }
}
form .captcha:has(.option:is(.invalid,.success)) > *:not(.close) {pointer-events: none !important; opacity: .5;}
form .captcha:has(.option:is(.invalid,.success)) {cursor: wait;}
form .captcha:has(.option.invalid) .title h6:after {content:"[INVALID, TRY AGAIN]"; color:var(--danger); margin-left: 5px; font-weight: 900;}
form .captcha:has(.option.success) .title h6:after {content:"[SUCCESS, PLEASE WAIT]"; color:var(--success); margin-left: 5px; font-weight: 900;}
form .captcha:has(.option.success) .close {display: none; pointer-events: none !important; color:var(--dark) !important;}

.text-center .form-group .form-control {text-align: center;}
.block-form-2 .row {flex-wrap: wrap; flex-direction: row;}
.block-form-2 .form-group {padding-inline:0;}
.block-form-2 .form-group label {margin-bottom: .25rem;}
.block-form-2 .form-group.no-border-right .form-control {border-right: inherit !important;}
.block-form-2 .form-group .form-control {border-color:var(--border);border-radius: 1rem; outline: none !important; box-shadow: none !important;}
.block-form-2 .form-group select.form-control {font-size: .8rem !important; -webkit-appearance: none; -moz-appearance: none; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'%3E%3C/path%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right .5rem center; background-size: 14px; }
.block-form-2 .form-group .form-control:not(textarea) {min-height: 2.5rem;}
.block-form-2 :is(.form-group,.form-checkbox):has(.form-control.invalid) > label {animation: error .5s linear 1 forwards; color:var(--danger);}
.block-form-2 :is(.form-group,.form-checkbox):has(.form-control[required]) > label:before {content:"*"; margin-right: 5px;}
.block-form-2 .parent-group {display: flex; flex-wrap: wrap; flex-direction: row; width: 100%;}
.block-form-2 .parent-group .form-group {flex:1;}
.block-form-2 .parent-group .form-group .form-control {border-radius: 0;}
.block-form-2 .parent-group .form-group:not(:last-child) .form-control {border-right:none !important;}
.block-form-2 .parent-group .form-group:first-child .form-control {border-bottom-left-radius: 1rem; border-top-left-radius: 1rem;}
.block-form-2 .parent-group .form-group:last-child .form-control {border-bottom-right-radius: 1rem; border-top-right-radius: 1rem;}

@media (min-width:768px) {
  .block-form form .captcha .body:has(.option:hover) .option:not(:hover) {color:var(--opac2dark);}
  .block-form form .form-group:last-child, .block-form form .form-group.last {margin-bottom: 0;}
  .block-form form .form-group:has(.form-control:focus, .form-control:active, .form-control:focus-within, .form-control:not(:placeholder-shown)) label {font-size: .8rem; min-height: 0; margin-top: -.8rem; margin-left: 0 !important;}
  .block-form form .form-group:last-child:not(.col-md-6,.col-md-4) .form-control, .block-form form .form-group.last .form-control {/*border-bottom: none !important;*/}
}
@media (max-width:767px) {
  :is(html,body):has(.block-form form .captcha) {overflow: hidden;}
  .block-form form .captcha {max-width: 100%; position: fixed; top:50%; bottom: auto; transform-origin: center;}
  .block-form form .captcha .close {font-size: 1rem; height: 2rem; width: 2rem; right: -.5rem; top: -.5rem;}
  .block-form form .captcha :is(.text, .body) {gap:.5rem;}
  .block-form form .captcha :is(.text .base, .body .option) {width: 4rem; height: 4rem;}
  .block-form form .captcha .body .option:before {opacity: .3;}
  .block-form form.authenticating .captcha {transform: translate(-50%, -50%) scale(.7);}
  .block-form form .captcha .title {margin-bottom: .5rem;}

  html:has(.form-control:focus, .form-control:active, .form-control:focus-within) .tooltip {display: none;}
  .block-form form .form-group:last-child {margin-bottom: 0;}
  .block-form form .form-group:last-child .form-control {/*border-bottom: none;*/}
  .block-form form .form-group label {font-size: .8rem; position: relative; min-height: unset;}
  .block-form form .form-group .form-control {font-size: .9rem;}
  .block-form form .form-group .form-control .form-checkbox label {font-size: .8rem;}
  .block-form form .form-group select.form-control {margin-inline:-4px;}

  .block-form-2 .form-group label small {display: block; line-height: normal;}
  /* .block-form-2 .form-group .form-control {font-size: .9rem;} */
}

.block-tabs .nav-tabs {border: none;}
.block-tabs .nav-tabs .nav-item:before {display: none;}
.block-tabs .nav-tabs .nav-item {padding-right:.5rem;}
.block-tabs .nav-tabs .nav-link {border-radius: 0; background-color: var(--light); border: 1px solid var(--opac3dark); border-bottom-color: var(--dark);}
.block-tabs .nav-tabs .nav-link.active {border-color:var(--dark); border-bottom-color: var(--light); color:var(--primary);}
.block-tabs .nav-tabs .nav-link:not(.active):hover {background-color: var(--opac1dark);}
.block-tabs .tab-content {border:1px solid; background-color: var(--light);}

.tooltip.bs-tooltip-right * {text-align: left !important;}
.tooltip.bs-tooltip-right p {font-size: .7rem !important;}

.no-border-right {border-right:none !important;}

.pull-middle .__col .col-section {display: flex; align-items: center; flex-wrap: wrap; height: 100%;}
.d-flex.flex-column {flex-direction: column;}
.d-flex.justify-end {justify-content: flex-end;}

.slick {width: 100%; overflow: hidden;}
.slick :is(.slick-list,.slick-track) {display: flex;}
.slick .slick-dots {display: flex; flex-direction: row; justify-content: center; width: 100%; gap:.5rem;}
.slick .slick-dots li:before {display:none;}
.slick .slick-dots li button {display: flex; box-shadow: none; outline:none; border:none; width: .75rem; height: .75rem; border-radius: 50%; background-color: var(--custom4); font-size: 0; transition: var(--trans); opacity: .6;}
.slick .slick-dots li.slick-active button {background-color: var(--dark);}
.slick .slick-dots li:hover button {opacity: 1;}


table td {overflow-wrap:anywhere;}

/***************customs*******************/

html {-ms-overflow-style: none;}
html.ss .aos-init {opacity: 1 !important; transform: none !important;}
html.ss :is(.template-settings, footer) {display: none !important;}
html.ss .bg-fixed {background-attachment: scroll !important;}
html.ss .sticky-top {-webkit-position: relative !important; position: relative !important;}
html.ss [class*='bg-svg']:after {-webkit-mask-size: 40% !important; mask-size: 40% !important;}

/* theme colors */
/*pink*/ html.theme-1, .set-color ul li.theme-1 {--light:#fff5f9; --primary:#F56276; --secondary:#F34C64; --prifade:#F5627680; --secfade:#F34C6480; --custom7:#7d3b54; --custom8:#ab2156; --custom9:#ffd6e0; --dark:#2e2e2e; --pridark:#2e2e2e80;}
/*purple*/ html.theme-2, .set-color ul li.theme-2 {--light:#faf5ff; --primary:#8d5ea6; --secondary:#6a4d7a; --prifade:#8d5ea680; --secfade:#6a4d7a80; --custom7:#483951; --custom8:#562277; --custom9:#cdb2e0; --dark:#2e2e2e; --pridark:#2e2e2e80;}
/*blue*/ html.theme-3, .set-color ul li.theme-3 {--light:#f5faff; --primary:#487EAA; --secondary:#406181; --prifade:#487EAA80; --secfade:#40618180; --custom7:#446269; --custom8:#397b93; --custom9:#C5D8E7; --dark:#2e2e2e; --pridark:#2e2e2e80;}
/*red*/ html.theme-4, .set-color ul li.theme-4 {--light:#fff0f0; --primary:#4A0101; --secondary:#5F2423; --prifade:#4A010180; --secfade:#5F242380; --custom7:#4e272a; --custom8:#782b30; --custom9:#f59ea3; --dark:#231a1a; --pridark:#231a1a80;}
/*orange*/ html.theme-5, .set-color ul li.theme-5 {--light:#fff9f5; --primary:#cd6713; --secondary:#e1873d; --prifade:#cd671380; --secfade:#e1873d80; --custom7:#d09a67; --custom8:#6a3316; --custom9:#ffbda8; --dark:#2e2e2e; --pridark:#2e2e2e80;}
/*green*/ html.theme-6, .set-color ul li.theme-6 {--light:#f1f8ea; --primary:#60773d; --secondary:#93a27c; --prifade:#60773d80; --secfade:#93a27c80; --custom7:#4d4d23; --custom8:#5f5f35; --custom9:#d7d8b1; --dark:#2e2e2e; --pridark:#2e2e2e80;}
/*black*/ html.theme-7, .set-color ul li.theme-7 {--light:#f7f7f7; --primary:#1D1B1C; --secondary:#161616; --prifade:#1D1B1C80; --secfade:#16161680; --custom7:#232323; --custom8:#2C2C2C; --custom9:#444444; --dark:#0A0A0A; --pridark:#0A0A0A80;}
/*brown*/ html.theme-8, .set-color ul li.theme-8 {--light:#D8D1C7; --primary:#51300F; --secondary:#893307; --prifade:#51300F80; --secfade:#89330780; --custom7:#624120; --custom8:#C58930; --custom9:#A6633D; --dark:#672505; --pridark:#67250580;}

html.font-1, .set-font ul li.font-1 {--font1: 'Cormorant Garamond', serif; --font2: 'Playfair Display', serif; --font3: 'DM Serif Display', serif;}
html.font-2, .set-font ul li.font-2 {--font1: 'Inter', sans-serif; --font2: 'Oswald', sans-serif; --font3: 'Roboto Condensed', sans-serif;}
html.font-3, .set-font ul li.font-3 {--font1: 'Amatic SC', cursive; --font2: 'Gloria Hallelujah', cursive; --font3: 'Rock Salt', cursive;}
html.font-4, .set-font ul li.font-4 {--font1: 'Poppins', cursive; --font2: 'Parisienne', cursive; --font3: 'WindSong', cursive;}
html.font-5, .set-font ul li.font-5 {--font1: 'Cormorant Garamond', serif; --font2: 'Ballet', cursive; --font3: 'Playfair Display', serif;}
html.font-6, .set-font ul li.font-6 {--font1: 'Poppins', sans-serif; --font2: 'chaloops-bold', sans-serif; --font3: 'Ms Madi', serif;}

html.mode-dim body {
  --border: var(--borderwidth) solid var(--opac3light); background-color: var(--dark); color:var(--light) !important;
  .cover .top img.mask {background-color: var(--dark) !important;}
  .cover .bottom {background-color: var(--primary) !important;}
  .bg-light-transparent {background: linear-gradient(to bottom, var(--dark), transparent);}
  .bg-light {background-color: var(--dark) !important;}
}
html.mode-dark body {
  --border: var(--borderwidth) solid var(--opac3light); background-color: var(--modedark); color:var(--white) !important;
  .cover .top img.mask {background-color: var(--modedark) !important;}
  .cover .bottom {background-color: var(--secondary) !important;}
  .bg-light-transparent {background: linear-gradient(to bottom, var(--modedark), transparent);}
  .bg-light {background-color: var(--modedark) !important;}
}
html:is(.mode-dim,.mode-dark) {
  .block-section:not([class*='bg-']) .block-image img[src$='.png'] {filter:contrast(0) brightness(3);}
  .filter-light:not(.hover):before {background-color: var(--dark) !important;}
  [class*='frame-']:before, .frame-top-bottom:before, :is(img[src$='.png']:not(.hero-cover,.unmasked), img.mask:not(.hero-cover)), .timeline-h > div strong:before, .timeline-h > div strong:after {background-color: var(--light) !important;}
  .btn.btn-primary {color:var(--light) !important;}
  .timeline-h > div strong {border-color: var(--light) !important;}
  .bg-custom9 {background-color: var(--dark) !important; color: var(--light) !important;}
  .bg-light {color: var(--light) !important;}
  :is(.bg-light, .bg-custom9) :is(.text-primary, .text-secondary, .text-dark) *, :is(.bg-light, .bg-custom9):is(.text-primary, .text-secondary, .text-dark) * {color:var(--light) !important;}
  .border {border-color:var(--opac3light) !important;}
  form .captcha {background-color: var(--dark); color: var(--light);}
  form .captcha :is(.option, .base) {color: var(--opac5light) !important;}
  form.loading:before {background-color: var(--opac5dark) !important;}
}


/*filtered*/
html[class*='filtered'] {
    :is(.block-section:not([class*='filter-']).bg-image,.bg-image-container:not([class*='filter-']) > .block-section-container:not([class*='filter-'])):before, .block-gallery .gallery-item .image-container > a:before, .block-image > .__content:before {content: ""; border-radius:inherit; position: absolute; inset: 0; background: linear-gradient(45deg, var(--dark), black, var(--custom1)); mix-blend-mode: soft-light; transition:.3s all !important; opacity:.6; display:block !important;}
    /*.block-gallery .gallery-item:hover .image-container > a:before, .block-image:hover > .__content:before {opacity:0;}*/
} html.filtered-primary {
    :is(.block-section:not([class*='filter-']).bg-image,.bg-image-container:not([class*='filter-']) > .block-section-container:not([class*='filter-'])):before, .block-gallery .gallery-item .image-container > a:before, .block-image > .__content:before {background: linear-gradient(45deg, var(--dark), var(--primary), var(--prifade));}
} html.filtered-secondary {
    :is(.block-section:not([class*='filter-']).bg-image,.bg-image-container:not([class*='filter-']) > .block-section-container:not([class*='filter-'])):before, .block-gallery .gallery-item .image-container > a:before, .block-image > .__content:before {background: linear-gradient(45deg, var(--dark), var(--secondary), var(--secfade));}
} html.filtered-light {
    :is(.block-section:not([class*='filter-']).bg-image,.bg-image-container:not([class*='filter-']) > .block-section-container:not([class*='filter-'])):before, .block-gallery .gallery-item .image-container > a:before, .block-image > .__content:before {background: linear-gradient(45deg, var(--light), white, var(--custom6));}
}

main:not(:has(*)) + footer {height: 100svh; display: flex; align-items: flex-end;}
main:not(:has(*)) + footer > div {border-top:1px solid var(--opac3light);}
.hero {min-height: 100svh;}

html:has(.cover:not(.hide):not(.d-none)) {overflow: hidden !important;}
html:has(.cover:not(.hide):not(.d-none)) main > div:not(.cover) {opacity: 0;}
html:has(.cover:not(.hide):not(.d-none)) footer {bottom: -100vh !important;}
.cover:before {content: ""; background: url("../../assets/images/bg-noise.png") 10rem 10rem / contain repeat; position: fixed; inset: 0; z-index: 4; transition: inherit;}
.cover.hide:before {opacity: 0;}
.cover {cursor: pointer; position: fixed; inset: 0; z-index: 200; transition: var(--trans);}
.cover .top {height: 80svh; margin-top: 0px; transition: inherit; z-index: 5; position: absolute; inset:0; filter:drop-shadow(0 1rem 1rem var(--opac2dark));}
.cover .top img {background: var(--secondary) !important; top:0; position: absolute; transition: var(--trans); height: 100%; -webkit-mask-size:cover !important; mask-size:cover !important; -webkit-mask-position:50% 100% !important;}
.cover .top:before, .cover .top:after {content: ""; background: url("../../files/cover-seal.png") 50% 50% / contain no-repeat scroll transparent; z-index: 2; position: absolute; inset:auto auto -4rem 50%; transform:translateX(-50%); height:8rem; width: 8rem; transition: inherit; font-size: .7rem; color: var(--opac5light); text-transform: uppercase; text-align: center; display: flex; align-items: center; justify-content: center; padding: 2rem; line-height: normal;}
.cover .top:after {background-image: url("../../files/cover-text.png"); filter: contrast(0) brightness(3) drop-shadow(1px 1px 2px black); transform: translateX(-50%) scale(1.4); z-index: 3; opacity: .5;}
.cover .bottom {background: var(--custom9); transition: inherit; position: absolute; inset: auto 0 0 0; height: 100svh; z-index: 1; box-shadow: 0 -1rem 1rem var(--opac2dark);}
.cover.clicked .top {/*margin-top: -1rem;*/}
.cover.clicked .top:before {animation:rotate 1.5s linear forwards;}
.cover.clicked .top:after {opacity: 0;}
.cover.hide .top:before, .cover.hide .top:after {opacity: 0 !important; padding:0 !important;}
.cover.hide :is(.top, .bottom) {height: 0px !important;}
/* .cover.hide .bottom {-webkit-filter:blur(3rem); filter:blur(3rem); width: 150%; left: -25%;} */
.cover:not(.clicked):not(.hide) .top:hover {animation: sneak .5s linear forwards;}
.cover:not(.clicked):not(.hide) .top:hover:before {}

@keyframes rotate {
  90% {opacity: 1;}
  100% {opacity: 0; transform: translateX(-50%) rotate(260deg);}
} @keyframes sneak {
  50% {margin-top: -1rem;}
}


main:before {content:""; background: url("../../assets/images/bg-noise.png") 10rem 10rem / contain repeat; position: fixed; inset:0; z-index: 1;}
span.date {line-height: normal; margin-inline: .5rem auto; border: 1px solid var(--opac3light); border-radius: 5px; padding: 2px 4px; font-size: 1rem; letter-spacing: 1px; font-family: var(--font2); margin-bottom: 1rem; display: inline-block;}
.text-outline * {color: transparent !important; -webkit-text-stroke: 1.5px var(--dark); text-stroke: 1.5px var(--dark); display: block;}
.text-primary.text-outline * {color:transparent !important; -webkit-text-stroke: 1.5px var(--primary); text-stroke: 1.5px var(--primary);}
.text-secondary.text-outline * {color:transparent !important; -webkit-text-stroke: 1.5px var(--secondary); text-stroke: 1.5px var(--secondary);}
.text-light.text-outline * {color:transparent !important; -webkit-text-stroke: 1.5px var(--light); text-stroke: 1.5px var(--light);}

.fd-column {display: flex; flex-direction: column;}
.overflow-unset {overflow: unset !important;}
.z--1 {position: relative; z-index: -1;}

@keyframes pan-lr {
  50% {background-position-x:100%;}
}

.pop {transition: var(--trans) all, 0s background-color 0s; inset:0; background-color: transparent; -webkit-backdrop-filter: blur(.2rem); backdrop-filter: blur(.2rem); position: fixed; z-index: 20000; display: flex; align-items: center; justify-content: center; align-content: center; overflow: hidden; transform: scale(0); transform-origin: center; opacity: 0;}
.pop.show {transform: scale(1); opacity: 1; background-color: var(--opac1dark); transition: var(--trans) all, var(--trans) background-color var(--trans);}
.pop .close {z-index: 10 !important; font-size: 1rem; text-decoration: none; border:none; cursor: pointer; position: absolute !important; right: -1rem; top: -1rem; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--dark); color: var(--light) !important; height: 3rem; width: 3rem; opacity: 1;}
.pop .block-section {min-width: 40vw; max-width: 80vw; background: url("../../files/bg.jpg") 50% 50% / cover no-repeat scroll transparent; position: relative; border-radius: var(--boradius); color: var(--light);}
.pop .block-section-container {padding: 3rem; border-radius: inherit; background:url("../../files/pop-cute.gif") -5% 90% / 40vh no-repeat scroll transparent;}
.pop .block-section-container:before {position: absolute; content:""; inset:0; z-index: :1; background: var(--dark); opacity: .4; border-radius: inherit;}
.pop .block-section-container *:not(.close) {position: relative; z-index: 3; }

.cardx {border-radius: var(--boradius);}

:root {--ulgap:.4rem; --ulheight: 1.4rem; --ulres: calc(var(--ulgap) + var(--ulheight));}
.template-settings {font-family: var(--fontdefault); position: fixed; z-index: 100; left:2rem; top: 2rem; backdrop-filter: blur(10px); background: var(--opac5dark); color: var(--light); border-radius: 1rem; padding:1rem; display: flex; flex-direction: column; align-items: center; transition: var(--trans); opacity: .4;}
.template-settings.hold {opacity: .4 !important; cursor: wait !important; background-color: var(--opac1light) !important} .template-settings.hold * {pointer-events: none !important;}
.template-settings.right {left:auto; right: 2rem;}
.template-settings:is(.hover), .template-settings:has(.show) {opacity: 1;}
.template-settings .d-flex {display: flex; gap: .5rem;}
.template-settings [class*='set-'] {display: flex; justify-content: flex-start !important; flex-direction: column; align-items: center; justify-content: center;}
.template-settings [class*='set-'] label {margin: 0;}
.template-settings [class*='set-'] span {cursor: pointer; font-size: 1.5rem; width: 2rem; height: 1.5rem; position: relative; }
.template-settings [class*='set-'] span:before {content: "\f204";  opacity: .5; font:var(--fonticon); position: absolute; inset:0; transition: var(--trans); font-size: inherit; display: flex; justify-content: center;}
.template-settings [class*='set-'] span.on:before {content: "\f205"; opacity: 1;}
.template-settings [class*='set-'] span:hover:before {opacity: 1;}
.template-settings [class*='set-'] small {margin-left: -.3rem; font-size: .6rem; color:var(--opac5light);}
.template-settings [class*='set-']:has(span.on) small {font-weight: 800; color:var(--light);}
.template-settings [class*='set-'] ul {font-size: .8rem; width: 4rem; list-style: none; display: flex; flex-direction: column; gap: .4rem; position: relative;}
.template-settings [class*='set-'] ul:not(.show) li:not(.active) {display: none;}
.template-settings [class*='set-'] ul li {min-width: inherit; width: inherit; height: 1.4rem; line-height: .9; text-align: center; padding: 5px 8px; border-radius: .4rem; cursor: pointer; display: flex; align-items: center; justify-content: center; border:1px solid;     flex-direction: column;}
.template-settings [class*='set-'] ul:not(.show) li.active {order:1;}
.template-settings [class*='set-'] ul.show li {position: absolute; inset: 0; top: 0;}
.template-settings [class*='set-'] ul.show li.active {outline: 2px solid;}
.template-settings [class*='set-'] ul.show li:nth-child(2) {top: calc(var(--ulres) * 1);}
.template-settings [class*='set-'] ul.show li:nth-child(3) {top: calc(var(--ulres) * 2);}
.template-settings [class*='set-'] ul.show li:nth-child(4) {top: calc(var(--ulres) * 3);}
.template-settings [class*='set-'] ul.show li:nth-child(5) {top: calc(var(--ulres) * 4);}
.template-settings [class*='set-'] ul.show li:nth-child(6) {top: calc(var(--ulres) * 5);}
.template-settings [class*='set-'] ul.show li:nth-child(7) {top: calc(var(--ulres) * 6);}
.template-settings [class*='set-'] ul.show li:nth-child(8) {top: calc(var(--ulres) * 7);}
.template-settings [class*='set-'].set-mode ul li.mode-light {color:var(--dark); background-color: var(--light);}
.template-settings [class*='set-'].set-mode ul li.mode-dim {color:var(--light); background-color: var(--dark);}
.template-settings [class*='set-'].set-mode ul li.mode-dark {color:var(--white); background-color: var(--modedark);}
.template-settings [class*='set-'].set-color ul li:before {display: none;}
.template-settings [class*='set-'].set-color ul li {background: linear-gradient(45deg, var(--primary), var(--secondary), var(--custom7), var(--custom8), var(--custom9));}
.template-settings [class*='set-'].set-font {}
.template-settings [class*='set-'].set-font ul {font-size: .65rem;}
.template-settings [class*='set-'].set-font ul li {font-family: var(--font1); font-weight: 600; background: var(--light); color: var(--primary);}
.template-settings [class*='set-'].set-font ul li label {width: 100%; display: block; font-family: var(--font2);}
html:has(.template-settings .show) .tooltip {display: none !important;}
html.hide-setting:has(.template-settings) .template-settings.right {right:-50vw;}
html.hide-setting:has(.template-settings) .template-settings:not(.right) {padding: .5rem;}
html.hide-setting:has(.template-settings) .template-settings:not(.right) :is(h6, .d-flex > [class*='set-']:not(.set-setting), .set-setting > label) {display: none;}

#control-music {color:var(--light); border:1px solid var(--light); background-color: var(--opac3dark); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); position: fixed; font-size: 2rem; bottom: 1rem; right:1rem; border-radius: 50%; width: 4rem; height: 4rem; z-index: 10; cursor: pointer; transition:var(--trans); opacity:.4;}
#control-music:hover {opacity: 1;}
#control-music:before {content:"\f6a9"; opacity: .5; font:var(--fonticon); position: absolute; inset:0; transition: var(--trans); font-size: inherit; display: flex; justify-content: center;     align-items: center;}
#control-music.on {background-color: var(--prifade);}
#control-music.on:before {content:"\f028"; }

#goto-snap {color:var(--light); border:1px solid var(--light); background-color: var(--opac3dark); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); position: fixed; font-size: 2rem; bottom: 1rem; left:1rem; border-radius: 50%; width: 4rem; height: 4rem; z-index: 10; cursor: pointer; transition:var(--trans); opacity:.4;}
#goto-snap:hover {opacity: 1;}
#goto-snap:before {content:"\f030"; opacity: .5; font:var(--fonticon); position: absolute; inset:0; transition: var(--trans); font-size: inherit; display: flex; justify-content: center;     align-items: center;}

html:has(.cover:not(.hide):not(.d-none)) :is(#control-music, #goto-snap) {transform: scale(0); opacity: 0;}


.block-header.date {display: flex; flex-direction: row; align-content: center; justify-content: center; gap: 2rem; font-size: 3rem;}
.block-header.date span {border-block: 1px solid; padding-inline:1rem;}
.block-header.date label {display: flex; align-items: center; flex-direction: column; line-height: normal; position: relative;}
.block-header.date label strong {font-family: var(--font3) !important; line-height: 1; font-size: 6rem; margin-top: -1rem;}
.block-header.date label small {font-size: 1.5rem !important; position: absolute; width: 100%; bottom: -1rem;}
.text-light {--border:1px solid var(--light);}
.block-header.date2 {display: flex; flex-direction: row; align-items: center;}
.block-header.date2 .left {padding:1rem; border-right:var(--border); font-size: 8rem; line-height: .8; font-weight: 800; font-family: var(--font3);}
.block-header.date2 .right {padding:1rem; display: flex; flex-direction: column; align-items: flex-start; font-size: 1.5rem; line-height: normal;}
.block-header.date2 .right strong {display: flex; font-size: 2.5rem;}
.block-header.date2:is(.text-right, .text-right-left, .text-right-center) {justify-content: flex-end;}

.countdown {gap:1em; display: flex; justify-content: center; flex-direction: row; flex-wrap: wrap; align-items: center;}
.countdown [class*='c-'] {border-radius: var(--boradius); margin-top: 1em; position: relative; display: flex; flex-direction: column; justify-content: center; align-items: center;  border: 1px solid; padding: 1em; width: 6em; -webkit-backdrop-filter:blur(2em); backdrop-filter:blur(2em);}
.countdown [class*='c-']:before {background: url('../../files/png-spring1.png') 50% 50% / contain no-repeat scroll transparent; content:""; display: block; width:inherit; height: 2em; top: -1em; position: absolute; left: 50%; transform: translateX(-50%);}
.countdown [class*='c-'] label {margin: 0; font-size: 2em; line-height: normal; font-family: var(--font3);}
.countdown [class*='c-'] span:after {content:"S";}
.countdown [class*='c-'].ws span:after {content:"";}
.countdown.d-day [class*='c-'] {outline:1px solid var(--primary); animation:pulse 1s linear infinite;}
.countdown.countdown-sm {font-size: .7rem;}
.countdown .c-month.ws {/*display: none;*/}

@keyframes pulse {
  100% {outline-offset: -.5rem; outline-color: transparent;}
}

.image-section.block-section {margin-top:calc(-1 * (var(--hero) / 2));}
ul.colors {list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; transition: var(--trans);}
ul.colors li:before {display: none;}
ul.colors li {height: 6rem; width: 6rem; border-radius: 50%; outline:1px solid var(--primary); transition: var(--trans);}
ul.colors li:hover {transform: scale(1.2); outline-offset:-.5rem; outline-color: var(--opac3light);}
ul.colors li span {display: block; white-space: nowrap; margin-top: 4.5rem; font-size: .65rem; transition: var(--trans);}
ul.colors li:hover span {transform: scale(.6); color:white; margin-top: 1.5rem;}
ul.colors:has(li:hover) li:not(:hover) {transform: scale(.8);}
ul.colors.sm {gap:.5rem;}
ul.colors.sm li {height: 3rem !important; width: 3rem !important;}
.__col ul.colors li {height: 4rem; width: 4rem;}
.dress {position: relative;}
.dress:before {content:""; position: absolute; inset:0; background-color: var(--bgc); mix-blend-mode: multiply; transition: var(--trans);}
.dress img {transition: var(--trans);}

main > .block-section:has(> [class*='mt--']) {background-color: transparent !important;}
main > .block-section > .mt--5 {margin-top: -10rem;}
.timeline-h {margin-block:2rem; display: flex; flex-direction: row; flex-wrap:nowrap; justify-content: space-around; gap: 0;}
.timeline-h * {transition: var(--trans);}
.timeline-h:before {content:""; position: absolute;}
.timeline-h > div {overflow: hidden; padding-top: 2rem; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; text-align: center; gap:2rem; flex:1; position: relative; padding-inline:1rem;}
.timeline-h > div img {order:1; width: 4rem; height: 4rem;}
.timeline-h > div:hover img {animation:shaky 1s linear 1 forwards;}
.timeline-h > div strong {order:2; /*background-color: var(--light);*/ border: 1px solid var(--primary); border-radius: 50%; width: 5rem; height: 5rem; overflow: unset; display: flex; justify-content: center; align-items: center; flex-direction: column; padding: 1rem; font-size: 1.1rem; line-height: normal; font-family: var(--font2); position:relative;}
.timeline-h > div:hover strong {transform: scale(1.1); background-color: var(--primary); color:var(--light);}
.timeline-h > div strong small {display: block; font-family: var(--font1); font-size: .8rem;}
.timeline-h > div strong:before, .timeline-h > div strong:after {content:""; position: absolute; background-color: var(--primary); height: 1px; width:100%; left:-100%; top:50%; transform: translateY(-50%); z-index: -1;}
.timeline-h > div strong:after {left:auto; right:-100%;}
.timeline-h > div span {order:3;}
.text-light {
  .timeline-h > div img {filter:contrast(0) brightness(3);}
  .timeline-h > div strong {border-color:var(--light);}
  .timeline-h > div strong:before, .timeline-h > div strong:after {background-color: var(--light);}
  .timeline-h > div:hover strong {background-color: var(--light); color:var(--primary);}
}

@keyframes shaky {
    15% {transform:scale(1.3);}
    30% {transform:scale(1.1);}
    45% {transform:scale(1.3);}
    60% {transform:scale(1.1);}
    75% {transform:scale(1.2);}
    95% {transform:scale(1);}
}

@keyframes shakx {
    15% {transform:scale(1.03);}
    20% {transform:rotate(-10deg);}
    30% {transform:scale(1.01);}
    40% {transform:rotate(5deg);}
    45% {transform:scale(1.03);}
    50% {transform:rotate(-6deg);}
    60% {transform:scale(1.01);}
    70% {transform:rotate(12deg);}
    75% {transform:scale(1.02);}
    90% {transform:rotate(-5deg);}
    95% {transform:scale(1);}
    100% {transform:rotate(-15deg);}
}

[class*='bg-svg'] > * {z-index: 2; position: relative;}
[class*='bg-svg']:after {opacity: .2; content: ""; position: absolute; inset: 0; background-color: var(--primary); -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-size: 40%; mask-size: 40%; -webkit-mask-position-y: 50%; mask-position-y: 50%; z-index:0;}
[class*='bg-svg1']:after {-webkit-mask-image: url("../../files/svg-01.svg"); mask-image: url("../../files/svg-01.svg");}
[class*='bg-svg2']:after {-webkit-mask-image: url("../../files/svg-02.svg"); mask-image: url("../../files/svg-02.svg");}
[class*='bg-svg3']:after {-webkit-mask-image: url("../../files/svg-03.svg"); mask-image: url("../../files/svg-03.svg");}
.bg-svg1-right:after, .bg-svg2-right:after, .bg-svg3-right:after {transform: scale(-1, -1);}
[class*='bg-svg'].svg-dark:after {background-color: var(--dark);}
.bg-contain[class*='bg-svg']:after {-webkit-mask-size:contain; mask-size:contain;}
:is(html.mode-dim,html.mode-dark) [class*='bg-svg']:after, [class*='bg-svg'].svg-light:after {background-color: var(--light);}

.block-gallery.event-gallery .gallery {transition: var(--trans); gap: 1rem; display: flex; flex-wrap: wrap; padding: 1rem;}
.block-gallery.event-gallery .gallery-item {background-size: cover; position: relative; cursor: pointer; overflow: hidden; flex: 1 0 20rem; max-width: 100%; height: 10rem; transition:inherit;}
.block-gallery.event-gallery .gallery-item:before {position: absolute; inset:0; -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); background-color: var(--opac1light); content:""; z-index: 0;}
.block-gallery.event-gallery .gallery-item a {transition: inherit;}
.block-gallery.event-gallery .gallery-item:nth-child(odd) {flex-basis:8rem;}
.block-gallery.event-gallery .gallery-item:nth-child(3n+1):nth-child(even) {flex-basis: 5rem;}
.block-gallery.event-gallery .gallery-item:nth-child(4n+1):nth-child(odd) {flex-basis: 12rem;}
.block-gallery.event-gallery .gallery-item img {height: 100%; width: 100%; object-fit: cover; object-position: 50% 30%; transition:inherit; z-index: 2; position: relative;}
.block-gallery.event-gallery .gallery-item:hover img {transform: scale(1.1);}

.gallery.lightbox:empty:before, .gallery.lightbox:not(:has(*)):before {content:"No photos on the gallery. Take your first shot!"; padding: 1rem; border:1px dashed var(--opac3light); color:var(--light); display: block; width: 100%; text-align: center; font-style:italic; transition: var(--trans);}
.gallery.lightbox.disabled:empty:before, .gallery.lightbox.disabled:not(:has(*)):before {content:"SNAP IS STILL CLOSED.\aWill open 8 hours before the event."; white-space: break-spaces; opacity: .5;}
.gallery.lightbox.uploading:empty:before, .gallery.lightbox.uploading:not(:has(*)):before {opacity: .5;}
.gallery.lightbox.uploading .gallery-item {opacity: .5;}
.gallery.lightbox.uploading .gallery-item.dummy {background: url('../../assets/images/loader.gif') 50% 50% / 15% no-repeat scroll var(--custom6);}
.gallery.lightbox.uploading .gallery-item.dummy:before {-webkit-backdrop-filter:none !important; backdrop-filter:none !important;}
.gallery.lightbox:not(.uploading) .gallery-item.dummy {display: none;}

.bg-paper {background-blend-mode:color-burn; background:url('../../files/texture-paper.jpg') 50% 50% / cover no-repeat scroll var(--custom7);}

:is(html,body):has(.modal-custom.show) {overflow: hidden !important;}
.modal-custom {overflow: hidden; margin-top:-100svh; height: 100%; opacity: 0; position: fixed; z-index: 200; inset:0 0 auto 0; background-color: var(--opac5dark); transition: var(--trans); -webkit-backdrop-filter:blur(.25rem); backdrop-filter:blur(.25rem);}
.modal-custom:after {content:"Click anywhere outside the main box to close."; position: absolute; opacity: 1; left: 0; right: 0; top: 1rem; color: var(--light); text-align: center; font-size: .5rem; letter-spacing: 1px;}
.modal-custom:hover {cursor: zoom-out;}
.modal-custom:hover > * {cursor: default !important;}
.modal-custom.show {margin-top: 0px; opacity: 1; }
.modal-custom * {transition: inherit;}
.modal-custom .modal-container {overflow-y:auto; background-blend-mode:color-burn; background:url('../../files/texture-paper.jpg') 50% 50% / cover no-repeat scroll var(--custom7); width: 80vw; min-height: 60svh; max-height: 90svh; left: 50%; top: 50%; transform: translate(-50%, -50%); position: relative;}
.modal-custom .modal-container:before {opacity: 0; background-color: var(--custom7);}
.modal-custom .modal-container iframe {width: 100%; height: 60svh; border:none; margin-bottom: -10px;}
.modal-custom form:before {background-color: var(--opac3dark) !important;}
.modal-custom form .captcha {/*transform: translate(-50%, -1rem) scale(0);*/ background-color: var(--custom7);}
.modal-custom form.authenticating .captcha {/*transform: translate(-50%, -1rem) scale(.5);*/}
.modal-custom form .captcha .option {color:var(--opac3light) !important;}
.modal-custom .block-form form .form-group label {color:var(--opac6light);}
.modal-custom:has(iframe,video) iframe {display: none !important;}
.modal-custom:has(iframe,video) video {object-fit: contain; min-height: inherit; margin-bottom: -10px;}

#lightboxModal .lb-image {height: 100%; width: 100%;}
#lightboxModal .lb-image img {height: 100%; width: 100%; object-fit: contain;}
#lightboxModal .lb-controls {}
#lightboxModal .lb-controls a {position: absolute; inset: 0 auto 0 0; color:var(--light); width: 5rem; display: flex; align-items: center; justify-content: center; font-size: 2rem; text-decoration: none; opacity: .5; cursor: pointer;}
#lightboxModal .lb-controls a:hover {background-color: var(--opac3dark); opacity: 1;}
#lightboxModal .lb-controls a.next {left:auto; right:0;}
#lightboxModal .lb-options {position: absolute; z-index: 10; padding: 1rem; gap: 1rem; inset: auto 0 0 0; display: flex; justify-content: center; color: var(--light);}
#lightboxModal .lb-options a {background-color: var(--opac5dark); color:inherit; border: 1px solid; cursor: pointer; padding: .5rem 1rem; border-radius: var(--boradius); text-decoration: none; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); transition: var(--trans); text-align: center; display: flex; justify-content: center; flex-direction: column-reverse; line-height: 1;}
#lightboxModal .lb-options a:hover {background-color: var(--opac8light); color:var(--dark);}
#lightboxModal .lb-options a.save-solo {}
#lightboxModal .lb-options a.save-frame {}
#lightboxModal .lb-options a.save-strip {}

:root {--grh:30vh;}
.gradient-top:before, [class*='gradient-top-']:before {content:""; position: relative; inset:calc(-1 * var(--grh) / 2) 0 0 0; height: var(--grh); display: block;}
[class*='gradient-top-']:before {top:0;}
[class*='gradient-top-'] > .block-section-container {margin-top: calc(-1 * var(--grh));}
.gradient-top.bg-primary:before {background: linear-gradient(to bottom, transparent 0%, var(--primary) 50%);}
.gradient-top.bg-secondary:before {background: linear-gradient(to bottom, transparent 0%, var(--secondary) 50%);}
.gradient-top-primary-transparent:before {background: linear-gradient(to bottom, var(--primary) 0%, transparent 50%);}
.gradient-top > .block-section-container:first-child {margin-top: calc(-1 * var(--grh));}

/***************RX*******************/


@media (prefers-reduced-motion: reduce) {
    .fade {
        transition: opacity .15s linear;
    }
}

@media (max-width:1560px) {

}


@media (min-width:993px) {

}

@media (max-width:992px) {
  .countdown {font-size: .7rem !important;}
}

@media (min-width: 768px) {
  /* html.device-mobile main {width: 375px; margin-inline:auto; border-inline:var(--border); container-name: mobile-view; container-type: inline-size;} */
  .bg-fixed[class*='bg-svg']:after {position: fixed;}
  .column-2 {column-count: 2; column-rule-style: dotted; gap: 4rem;}
  .column-2 > *:first-child {margin-top: 0 !important;}

  .mx-15-md {margin-inline:15px;}
  .mt--5-md {margin-top:-5rem !important;}
}


@media (max-width: 767px) {
  .sticky-top {-webkit-position: relative !important; position: relative !important;}

  main > .block-section:not(.full-width-all,.full-width-all-md) > .block-section-container {padding-block:5rem; padding-inline:15px;}
  main > .block-section:is(.full-width-all-md) > .block-section-container {max-width: 80vw; margin-inline:auto; padding-block:5rem;}
  main .py-section {padding-block:5rem;}
  .border-col .__col:not(:last-child) {border-right:none !important; border-bottom:var(--border) !important;}

  .mx-md-15 {margin-inline:0;}
  .mw-100-md {max-width: 100% !important;}

  .template-settings {left:1rem; top:1rem;}
  .template-settings.right {right:1rem;}
  .template-settings {transform-origin: top left; transform: scale(.8);}
  .template-settings.right {transform-origin: top right; transform: scale(.8);}
  /*.template-settings:is(.hover) {right:1rem;}*/
  /*.template-settings.right:is(.hover) {left:1rem;}*/
  .template-settings .set-device {display: none !important;}
  /*html:has(.template-settings:is(.hover), .template-settings .show) .template-settings:not(.hover,:has(.show)) {opacity: 0; z-index: -100;}*/
  /*html:has(.navbar.scrolled) .template-settings:not(:hover) {transform: scale(.6) translateX(-10rem); opacity: .3;}*/
  /*html:has(.navbar.scrolled) .template-settings.right:not(:hover) {transform: scale(.6) translateX(5rem); opacity: .3;}*/
  html:has(.template-settings) .tooltip {display: none;}

  .template-settings.right > * {width: 5rem;}
  .template-settings:not(.right) .d-flex {flex-direction: row !important; flex-wrap: nowrap; width: unset; gap:.5rem !important;}
  .template-settings:not(.hover) .d-flex {flex-direction: column;}
  .template-settings:is(.hover) .d-flex {gap: .5rem 1rem; flex-wrap: wrap; justify-content: center; flex-direction: column;}
  /*html:has(.navbar.scrolled) .template-settings:not(.hover) {transform: scale(.6);}*/
  /*html:has(.navbar.scrolled) .template-settings.right:not(.hover) {transform: scale(.6);}*/

  .hero .block-header.date {transform: scale(.7); transform-origin: top;}
  .block-header.date {flex-direction: column; font-size: 2rem; gap:1rem; width: max-content; margin-inline: auto;}
  .block-header.date label {padding-inline:3rem;}
  .block-header.date2 {background-color: var(--secondary); padding: 1rem;}
  .block-header.date2 .left {font-size: 4rem; padding-block:.5rem;}
  .block-header.date2 .right {font-size: 1rem;}
  .block-header.date2 .right strong {font-size: 1.5rem; line-height: .8;}
  .block-header.date2.text-right-left {justify-content: flex-start;}
  .block-header.date2.text-right-center {justify-content: center;}

  ul.colors li {width: 4rem; height: 4rem;}
  ul.colors.sm li {height: 3rem !important; width: 3rem !important;}
  ul.colors:has(li:nth-child(5)) {gap:2rem;}
  ul.colors:has(li:nth-child(5)) li {width: 5rem; height: 5rem;}
  ul.colors:has(li:nth-child(5)) li span {margin-top: 5.25rem;}
  ul.colors:has(li:nth-child(5)) li:hover span {margin-top: 2.1rem; transform: scale(.75);}

  [class*='bg-svg']:after {-webkit-mask-size: 60%; mask-size: 60%;}
  .svg-none-md[class*='bg-svg']:after {display: none !important;}

  .timeline-h {flex-direction: column;}
  .timeline-h > div {gap:1rem; border: 1px solid var(--opac1light); padding-top: 1rem;}
  .timeline-h > div:not(:last-child) {margin-bottom:2rem;}
  .timeline-h > div img {order:2;}
  .timeline-h > div strong {order:1;}

  .flex-wrap-md {flex-wrap: wrap;}

}

@media (max-width: 558px) {

  main > .block-section:not(.full-width-all,.full-width-all-md) > .block-section-container {max-width: 90vw;}

  .countdown {gap:.8em; font-size: .6rem !important;}
  .countdown [class*='c-'] {width: 4.5em;}
  .countdown [class*='c-'] label {font-size: 1.5em;}
  .countdown [class*='c-'] span {font-size: .7em;}

  .cover .top {background:linear-gradient(to bottom, var(--secondary) 70%, transparent 70%);}
  .cover .top:before, .cover .top:after {height: 6rem; width: 6rem; bottom:-3rem;}
  .cover .top img {-webkit-mask-size:150% !important; mask-size:150% !important;}

  .block-gallery.event-gallery .gallery-item {flex:1 0 5rem; height: 7rem;}
  .block-gallery.event-gallery .gallery-item:nth-child(odd) {flex-basis:2rem !important;}
  .modal-custom .lb-controls a {font-size: 1.2rem; width: 3rem; background-color: transparent !important;}
  .modal-custom .block-form form .captcha {transform-origin: bottom;}
  .modal-custom .block-form form.authenticating .captcha {transform:translate(-50%, 0%) scale(.7);}
  .modal-custom .block-form form .captcha :is(.text .base, .body .option) {max-width: 3.5rem; max-height: 3.5rem; font-size: 1.5rem;}

  .block-gallery.event-gallery .gallery {padding-inline:0;}

  #lightboxModal .lb-options {gap:.5rem;}
  #lightboxModal .lb-options a {border-radius: calc(var(--boradius) / 2); font-size: .6rem;}
  #lightboxModal .lb-options a i {margin-bottom: .25rem;}
  :is(#control-music, #goto-snap) {font-size: 1.2rem; width: 3rem; height: 3rem;}
}
