:root {
  /*colors*/
  --color-primary: #01a63b;
  --color-primary-active: #3fd15a;
  --color-secondary: #ffcf11;
  --color-secondary-active: #ffe45e;
  --color-accent: #6a6f73;
  --color-accent-light: #dee2e6;
  --color-accent-dark: #1a232b;
  --color-white: #ffffff;
  --color-black: #1a232b;
  --menu-color: #141414;
  --accent-color: #01a63b;
  --main-color: #fffbe6;
  /*colors end*/
  /*contast colors*/
  --color-contast-white: #ffffff;
  --color-contast-black: #000000;
  --color-contast-gray: #808080;
  --color-contast-yellow: #ffff00;
  /*contast colors end*/
  --transition: 0.2s;
  --radius: 2px;
  /*animations*/
  --animate-duration: 1s;
  --animate-delay: 1s;
  --animate-repeat: 1;
  /*animations end*/
}

/*reduced motion mode*/
@media (prefers-reduced-motion: reduce) {
  :root {
    --transition: 0s;
    /*animations*/
    --animate-duration: 0s;
    --animate-delay: 0s;
    --animate-repeat: 1;
    /*animations end*/
  }
}
.reduced-animation-mode {
  --transition: 0s;
  /*animations*/
  --animate-duration: 0s;
  --animate-delay: 0s;
  --animate-repeat: 1;
  /*animations end*/
}

/*reduced motion mode end*/
:root {
  --text-scale: 1;
  /*body*/
  --body-bg: #ffffff;
  /*text*/
  --text-font-family: "Plus Jakarta Sans", sans-serif;
  --text-size: 1rem;
  --text-size-clamp: var(--text-size);
  --text-lh: 1.5;
  --text-weight: 400;
  --text-color: #6a6f73;
  --text-letter-spacing: normal;
  --text-margin: 0 0 1rem;
  /*headings*/
  --heading-font-family: "Plus Jakarta Sans", sans-serif;
  --heading-lh: 1;
  --heading-weight: 700;
  --heading-color: var(--text-white);
  --heading-letter-spacing: -2%;
  --heading-margin: 0 0 1rem;
  /*
    * --hx: header font size
    * --hx-lh: header line height
    */
  --h1: 3.25rem; /*52px*/
  --h1-clamp: clamp(
    2.25rem,
    1.5732rem + 2.7073vw,
    3.25rem
  ); /*36px - 52px (400px - 991px)*/
  --h1-lh: var(--heading-lh);
  --h2: 2.875rem; /*46px*/
  --h2-clamp: clamp(1.75rem, 1.2rem + 1.8vw, 2.875rem);
  /* 28px - 46px przy ~320px - 991px */
  /*32px - 46px (400px - 991px)*/
  --h2-lh: var(--heading-lh);
  --h3: 2.5rem; /*40px*/
  --h3-clamp: clamp(
    1.75rem,
    1.2424rem + 2.0305vw,
    2.5rem
  ); /*28px - 40px (400px - 991px)*/
  --h3-lh: var(--heading-lh);
  --h4: 2.125rem; /*34px*/
  --h4-clamp: clamp(
    1.5rem,
    1.077rem + 1.692vw,
    2.125rem
  ); /*24px - 34px (400px - 991px)*/
  --h4-lh: var(--heading-lh);
  --h5: 1.75rem; /*28px*/
  --h5-clamp: clamp(
    1.25rem,
    0.9116rem + 1.3536vw,
    1.75rem
  ); /*20px - 28px (400px - 991px)*/
  --h5-lh: var(--heading-lh);
  --h6: 1.375rem; /*22px*/
  --h6-clamp: clamp(
    1rem,
    0.7462rem + 1.0152vw,
    1.375rem
  ); /*16px - 22px (400px - 991px)*/
  --h6-lh: var(--heading-lh);
  /*page title*/
  --title-font-family: var(--heading-font-family);
  --title-size: 3.5rem; /*56px*/
  --title-size-clamp: clamp(
    2.25rem,
    1.404rem + 3.3841vw,
    4.5rem
  ); /*36x - 56px (400px - 991px)*/
  --title-lh: 1.1;
  --title-weight: var(--heading-weight);
  --title-color: var(--heading-color);
  --title-letter-spacing: var(--heading-letter-spacing);
  --title-margin: var(--heading-margin);
  /*links*/
  --link-color: var(--color-primary);
  --link-color-active: var(--color-primary-active);
}

/*contrast mode*/
@media (prefers-contrast: more) {
  :root {
    --body-bg: var(--color-contast-black);
    --text-color: var(--color-contast-white);
    --heading-color: var(--color-contast-white);
    --title-color: var(--color-contast-white);
    --link-color: var(--color-contast-yellow);
    --link-color-active: var(--color-contast-yellow);
  }
  /*links*/
  a {
    text-decoration: underline;
  }
  a:is(:hover, :focus) {
    text-decoration: underline;
  }
}
.contrast-mode {
  --body-bg: var(--color-contast-black);
  --text-color: var(--color-contast-white);
  --heading-color: var(--color-contast-white);
  --title-color: var(--color-contast-white);
  --link-color: var(--color-contast-yellow);
  --link-color-active: var(--color-contast-white);
  /*links*/
}
.contrast-mode a {
  text-decoration: underline;
}
.contrast-mode a:is(:hover, :focus) {
  text-decoration: underline;
}

/*contrast mode end*/
html {
  font-size: calc(100% * var(--text-scale));
}

body {
  font-family: var(--text-font-family);
  font-size: var(--text-size);
  font-size: var(--text-size-clamp);
  line-height: var(--text-lh);
  font-style: normal;
  font-weight: var(--text-weight);
  color: var(--text-color);
  letter-spacing: var(--text-letter-spacing);
  background: var(--body-bg);
}

p {
  margin: var(--text-margin);
}

.paragraph {
  font-family: var(--text-font-family);
  font-size: var(--text-size);
  line-height: var(--text-lh);
  color: var(--text-color);
  margin: var(--text-margin);
}

/*headings*/
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: var(--heading-font-family);
  font-weight: var(--heading-weight);
  color: var(--heading-color);
  line-height: var(--heading-lh);
  letter-spacing: var(--heading-letter-spacing);
  margin: var(--heading-margin);
}

h1,
.h1 {
  font-size: var(--h1);
  font-size: var(--h1-clamp);
  line-height: var(--h1-lh);
}

h2,
.h2 {
  font-size: var(--h2);
  font-size: var(--h2-clamp);
  line-height: var(--h2-lh);
}

h3,
.h3 {
  font-size: var(--h3);
  font-size: var(--h3-clamp);
  line-height: var(--h3-lh);
}

h4,
.h4 {
  font-size: var(--h4);
  font-size: var(--h4-clamp);
  line-height: var(--h4-lh);
}

h5,
.h5 {
  font-size: var(--h5);
  font-size: var(--h5-clamp);
  line-height: var(--h5-lh);
}

h6,
.h6 {
  font-size: var(--h6);
  font-size: var(--h6-clamp);
  line-height: var(--h6-lh);
}

/*headings end*/
/*page title*/
.page-title {
  font-family: var(--title-font-family);
  font-size: var(--title-size);
  font-size: var(--title-size-clamp);
  line-height: var(--title-lh);
  font-weight: var(--title-weight);
  color: var(--title-color);
  letter-spacing: var(--title-letter-spacing);
  margin: var(--title-margin);
}

/*links*/
a {
  color: var(--link-color);
  text-decoration: none;
  transition: var(--transition);
}
a:is(:hover, :focus) {
  text-decoration: none;
  color: var(--link-color-active);
}

/*links end*/
/*breakpoint XL*/
/*breakpoint XL end*/
/*breakpoint LG*/
/*breakpoint LG end*/
/*breakpoint MD*/
/*breakpoint MD end*/
/*breakpoint SM*/
/*breakpoint SM end*/
/*breakpoint XS*/
@media only screen and (max-width: 575px) {
  :root {
    --h1: 2.25rem; /*36px*/
    --h2: 2rem; /*32px*/
    --h3: 1.75rem; /*28px*/
    --h4: 1.5rem; /*24px*/
    --h5: 1.25rem; /*20px*/
    --h6: 1rem; /*16px*/
  }
}
/*breakpoint XS end*/
:root {
  --aspect-ratio: 16 / 9;
  --img-tint-color: var(--color-primary);
  --img-tint-opacity: 0;
  --img-tint-opacity-active: 0.6;
  --img-tint-transition: var(--transition);
  --img-zoom-scale: scale(1.2);
  --img-zoom-transition: 0.5s; /*var(--transition)*/
}

/*contrast mode*/
@media (prefers-contrast: more) {
  :root {
    --img-tint-color: transparent;
  }
}
.contrast-mode {
  --img-tint-color: transparent;
}

/*contrast mode end*/
/*reduced motion*/
@media (prefers-reduced-motion: reduce) {
  :root {
    --img-zoom-transition: 0;
  }
}
.reduced-animation-mode {
  --img-zoom-transition: 0;
}

/*reduced motion*/
img {
  display: inline-block;
  max-width: 100%;
  height: auto;
}

video {
  display: block;
  max-width: 100%;
  height: auto;
}

iframe {
  display: block;
  max-width: 100%;
  height: auto;
  background: no-repeat center/cover;
  aspect-ratio: var(--aspect-ratio);
}
iframe[data-video-type="youtube-shorts"] {
  --aspect-ratio: 9 / 16;
}

/*image tint*/
.img-tint {
  display: inline-block;
  position: relative;
  overflow: hidden;
}
.img-tint:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: var(--img-tint-color);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  opacity: var(--img-tint-opacity);
  transition: var(--img-tint-transition);
}
.img-tint img {
  display: block;
}
.img-tint:is(:hover, :focus) img {
  transform: var(--img-zoom-scale);
}

a:is(:hover, :focus) .img-tint {
  --img-tint-opacity: var(--img-tint-opacity-active);
}

/*image zoom*/
.img-zoom {
  display: inline-block;
  overflow: hidden;
}
.img-zoom img {
  display: block;
  transform: scale(1);
  transition: var(--img-zoom-transition);
}
.img-zoom:is(:hover, :focus) img {
  transform: var(--img-zoom-scale);
}

a:is(:hover, :focus) .img-zoom img {
  transform: var(--img-zoom-scale);
}

:root {
  /*button*/
  --btn-padding: 17px 36px;
  --btn-text: 0.875rem; /*14px*/
  --btn-text-lh: 1.2;
  --btn-weight: 700;
  --btn-radius: var(--radius);
  --btn-border-size: 1px;
  --btn-bg: transparent;
  --btn-bg-active: transparent;
  --btn-border-color: transparent;
  --btn-border-color-active: transparent;
  --btn-text-color: var(--link-color);
  --btn-text-color-active: var(--link-color-active);
  --btn-shadow: none;
  --btn-shadow-active: none;
  --btn-outline-width-focus: 1px;
  --btn-outline-style-focus: auto;
  --btn-outline-color-focus: rgb(from var(--btn-text-color-active) r g b / 60%);
  --btn-transition: var(--transition);
  /*primary button*/
  --btn-primary-bg: var(--color-primary);
  --btn-primary-bg-active: var(--color-primary-active);
  --btn-primary-border-color: var(--color-primary);
  --btn-primary-border-color-active: var(--color-primary-active);
  --btn-primary-text-color: var(--color-white);
  --btn-primary-text-color-active: var(--color-white);
  --btn-primary-shadow: var(--btn-shadow);
  --btn-primary-shadow-active: var(--btn-shadow-active);
  --btn-primary-outline-color-focus: rgb(
    from var(--color-primary-active) r g b / 60%
  );
  /*secondary button*/
  --btn-secondary-bg: var(--color-secondary);
  --btn-secondary-bg-active: var(--color-secondary-active);
  --btn-secondary-border-color: var(--color-secondary);
  --btn-secondary-border-color-active: var(--color-secondary-active);
  --btn-secondary-text-color: #2c2614;
  --btn-secondary-text-color-active: var(--btn-secondary-text-color);
  --btn-secondary-shadow: var(--btn-shadow);
  --btn-secondary-shadow-active: var(--btn-shadow-active);
  /*button icons*/
  --btn-icon-width: 10px;
  --btn-icon-height: 10px;
  --btn-icon-gap: 0.75rem; /*12px*/
  --btn-icon-arrow: url("../images/icons/arrow_right.svg");
  --btn-icon-hamburger: url("../images/icons/hamburger.svg");
  --btn-icon-dropdown: url("../images/icons/chevron.svg");
  --btn-icon-download: url("../images/icons/download.svg");
  --btn-icon-search: url("../images/icons/search.svg");
  --btn-icon-close: url("../images/icons/close.svg");
  /*buttons end*/
}

/*contrast mode*/
@media (prefers-contrast: more) {
  :root {
    /*button*/
    --btn-text-color: var(--color-contast-yellow);
    --btn-text-color-active: var(--color-contast-white);
    --btn-shadow: none;
    --btn-shadow-active: none;
    --btn-outline-width-focus: 1px;
    --btn-outline-style-focus: auto;
    --btn-outline-color-focus: var(--color-contast-black);
    /*primary button*/
    --btn-primary-bg: var(--color-contast-yellow);
    --btn-primary-bg-active: var(--color-contast-white);
    --btn-primary-border-color: var(--color-contast-yellow);
    --btn-primary-border-color-active: var(--color-contast-white);
    --btn-primary-text-color: var(--color-contast-black);
    --btn-primary-text-color-active: var(--color-contast-black);
    --btn-primary-outline-color-focus: var(--color-contast-black);
    /*secondary button*/
    --btn-secondary-bg: var(--color-contast-yellow);
    --btn-secondary-bg-active: var(--color-contast-white);
    --btn-secondary-border-color: var(--color-contast-yellow);
    --btn-secondary-border-color-active: var(--color-contast-white);
    --btn-secondary-text-color: var(--color-contast-black);
    --btn-secondary-text-color-active: var(--color-contast-black);
    --btn-secondary-outline-color-focus: var(--color-contast-black);
  }
}
.contrast-mode {
  /*button*/
  --btn-text-color: var(--color-contast-yellow);
  --btn-text-color-active: var(--color-contast-white);
  --btn-shadow: none;
  --btn-shadow-active: none;
  --btn-outline-width-focus: 1px;
  --btn-outline-style-focus: auto;
  --btn-outline-color-focus: var(--color-contast-black);
  /*primary button*/
  --btn-primary-bg: var(--color-contast-yellow);
  --btn-primary-bg-active: var(--color-contast-white);
  --btn-primary-border-color: var(--color-contast-yellow);
  --btn-primary-border-color-active: var(--color-contast-white);
  --btn-primary-text-color: var(--color-contast-black);
  --btn-primary-text-color-active: var(--color-contast-black);
  --btn-primary-outline-color-focus: var(--color-contast-black);
  /*secondary button*/
  --btn-secondary-bg: var(--color-contast-yellow);
  --btn-secondary-bg-active: var(--color-contast-white);
  --btn-secondary-border-color: var(--color-contast-yellow);
  --btn-secondary-border-color-active: var(--color-contast-white);
  --btn-secondary-text-color: var(--color-contast-black);
  --btn-secondary-text-color-active: var(--color-contast-black);
  --btn-secondary-outline-color-focus: var(--color-contast-black);
}

/*contrast mode end*/
/*buttons*/
.btn {
  font-family: "Plus Jakarta Sans" "sans-serif";
  padding: var(--btn-padding);
  font-size: var(--btn-text);
  line-height: var(--btn-text-lh);
  font-weight: var(--btn-weight);
  text-transform: uppercase;
  box-shadow: var(--btn-shadow);
  border-radius: var(--btn-radius);
  transition: var(--btn-transition);
  letter-spacing: 2%;
  border-radius: 4px;
  background: var(--btn-bg);
  border: var(--btn-border-size) solid var(--btn-border-color);
  color: var(--btn-text-color);
}

.btn:is(.active, :hover, :focus, :active, :first-child:active) {
  box-shadow: var(--btn-shadow-active);
  background: var(--btn-bg-active);
  border-color: var(--btn-border-color-active);
  color: var(--btn-text-color-active);
}

/*overwrite bootrap focus shadow*/
.btn:focus-visible {
  outline: var(--btn-outline-width-focus) var(--btn-outline-style-focus)
    var(--btn-outline-color-focus);
  box-shadow: var(--btn-shadow-active);
}

.btn.btn-wide {
  display: block;
}

/*button primary*/
.btn.btn-primary {
  --btn-bg: var(--btn-primary-bg);
  --btn-bg-active: var(--btn-primary-bg-active);
  --btn-border-color: var(--btn-primary-border-color);
  --btn-border-color-active: var(--btn-primary-border-color-active);
  --btn-text-color: var(--btn-primary-text-color);
  --btn-text-color-active: var(--btn-primary-text-color-active);
  --btn-shadow: var(--btn-primary-shadow);
  --btn-shadow-active: var(--btn-primary-shadow-active);
  --btn-outline-color-focus: var(--btn-primary-outline-color-focus);
}

/*button primary end*/
/*button secondary*/
.btn.btn-secondary {
  --btn-bg: var(--btn-secondary-bg);
  --btn-bg-active: var(--btn-secondary-bg-active);
  --btn-border-color: var(--btn-secondary-border-color);
  --btn-border-color-active: var(--btn-secondary-border-color-active);
  --btn-text-color: var(--btn-secondary-text-color);
  --btn-text-color-active: var(--btn-secondary-text-color-active);
  --btn-shadow: var(--btn-secondary-shadow);
  --btn-shadow-active: var(--btn-secondary-shadow-active);
  --btn-outline-color-focus: var(--btn-secondary-outline-color-focus);
}

/*button secondary end*/
/*button primary outline*/
.btn.btn-outline-primary {
  --btn-bg: transparent;
  --btn-bg-active: var(--btn-primary-bg-active);
  --btn-border-color: var(--btn-primary-bg);
  --btn-border-color-active: var(--btn-primary-bg-active);
  --btn-text-color: var(--btn-primary-bg);
  --btn-text-color-active: var(--btn-primary-text-color-active);
  --btn-shadow: var(--btn-primary-shadow);
  --btn-shadow-active: var(--btn-primary-shadow-active);
  --btn-outline-color-focus: var(--btn-primary-outline-color-focus);
}

/*button primary outline end*/
/*button secondary outline*/
.btn.btn-outline-secondary {
  --btn-bg: transparent;
  --btn-bg-active: var(--btn-secondary-bg-active);
  --btn-border-color: var(--btn-secondary-bg);
  --btn-border-color-active: var(--btn-secondary-bg-active);
  --btn-text-color: var(--btn-secondary-bg);
  --btn-text-color-active: var(--btn-secondary-text-color-active);
  --btn-shadow: var(--btn-secondary-shadow);
  --btn-shadow-active: var(--btn-secondary-shadow-active);
  --btn-outline-color-focus: var(--btn-secondary-outline-color-focus);
}

/*button secondary outline end*/
/*button icons*/
.btn[class*="btn-icon-"] {
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--btn-icon-gap);
}
.btn[class*="btn-icon-"]:after {
  content: "";
  display: inline-block;
  width: var(--btn-icon-width);
  height: var(--btn-icon-height);
  flex: 0 0 var(--btn-icon-width);
  background: var(--btn-text-color);
  mask: var(--btn-icon) no-repeat center/contain;
  -webkit-mask: var(--btn-icon) no-repeat center/contain;
  transition: var(--transition);
}
.btn[class*="btn-icon-"].btn-wide {
  display: flex;
  width: 100%;
  justify-content: center;
}

.btn.btn-icon-left:after {
  order: -1;
}

/*button arrow / arrow back*/
.btn.btn-icon-arrow,
.btn.btn-icon-arrow-back {
  --btn-icon: var(--btn-icon-arrow);
}

.btn.btn-icon-arrow-back:after {
  order: -1;
  transform: scaleX(-1);
}

/*button hamburger*/
.btn.btn-icon-hamburger {
  --btn-icon: var(--btn-icon-hamburger);
}

/*button dropdown*/
.btn.btn-icon-dropdown {
  --btn-icon: var(--btn-icon-dropdown);
}
.btn.btn-icon-dropdown:after {
  transform: rotate(-90deg);
}
.btn.btn-icon-dropdown.collapsed:after {
  transform: rotate(90deg);
}

/*button download*/
.btn.btn-icon-download {
  --btn-icon: var(--btn-icon-download);
}

/*button search*/
.btn.btn-icon-search:after {
  --btn-icon: var(--btn-icon-search);
}

/*button close*/
.btn.btn-icon-close {
  --btn-icon: var(--btn-icon-close);
}

.btn[class*="btn-icon-"]:is(.active, :hover, :focus, :active):after {
  background: var(--btn-text-color-active);
}

/*button icons end*/
.btn .btn-text-collapse {
  display: inline;
}

.btn .btn-text-collapse.collapsed {
  display: none;
}

.btn.collapsed .btn-text-collapse {
  display: none;
}

.btn.collapsed .btn-text-collapse.collapsed {
  display: inline;
}

/*buttons end*/
:root {
  /*dot list*/
  --list-dot-padding: 0 0 0 1.5rem;
  --list-dot-gap: 0;
  --list-dot-size: 0.75rem; /*14px*/
  --list-dot-border: 2px;
  --list-dot-color: var(--color-primary);
  --list-dot-border-color: color-mix(
    in srgb,
    var(--list-dot-color) 30%,
    transparent
  );
  /*dash list*/
  --list-dash-padding: 0 0 0 1.5rem;
  --list-dash-gap: 0;
  --list-dash-width: 0.5rem; /*8px*/
  --list-dash-height: 1px;
  --list-dash-color: var(--color-primary);
  /*arrow list*/
  --list-arrow-padding: 0 0 0 1.5rem;
  --list-arrow-gap: 0;
  --list-arrow-width: 0.75rem; /*14px*/
  --list-arrow-height: 0.75rem; /*14px*/
  --list-arrow-color: var(--color-primary);
  --list-arrow-icon: url("../images/icons/arrow.svg");
  /*check list*/
  --list-check-padding: 0 0 0 1.5rem;
  --list-check-gap: 0;
  --list-check-width: 0.75rem; /*14px*/
  --list-check-height: 0.75rem; /*14px*/
  --list-check-color: var(--color-primary);
  --list-check-icon: url("../images/icons/check.svg");
}

/*contrast mode*/
@media (prefers-contrast: more) {
  :root {
    /*dot list*/
    --list-dot-color: var(--color-contast-yellow);
    --list-dot-border-color: var(--color-contast-yellow);
    /*dash list*/
    --list-dash-color: var(--color-contast-yellow);
    /*arrow list*/
    --list-arrow-color: var(--color-contast-yellow);
    /*check list*/
    --list-check-color: var(--color-contast-yellow);
  }
}
.contrast-mode {
  /*dot list*/
  --list-dot-color: var(--color-contast-yellow);
  --list-dot-border-color: var(--color-contast-yellow);
  /*dash list*/
  --list-dash-color: var(--color-contast-yellow);
  /*arrow list*/
  --list-arrow-color: var(--color-contast-yellow);
  /*check list*/
  --list-check-color: var(--color-contast-yellow);
}

/*contrast mode end*/
/*dot list*/
.list-dot {
  list-style: none;
  padding: 0;
}
.list-dot > li {
  padding: var(--list-dot-padding);
  position: relative;
}
.list-dot > li:before {
  content: "";
  display: block;
  width: calc(0.75rem - var(--list-dot-border) * 2);
  height: calc(0.75rem - var(--list-dot-border) * 2);
  background: var(--list-dot-color);
  box-shadow: 0 0 0 var(--list-dot-border) var(--list-dot-border-color);
  border-radius: 50%;
  position: absolute;
  top: calc(var(--text-size) * var(--text-lh) / 2);
  top: 0.5lh;
  left: 0;
  transform: translateY(-50%);
}
.list-dot > li + li {
  margin-top: var(--list-dot-gap);
}

/*dot list end*/
/*dash list*/
.list-dash {
  list-style: none;
  padding: 0;
}
.list-dash > li {
  padding: var(--list-dash-padding);
  position: relative;
}
.list-dash > li:before {
  content: "";
  display: block;
  width: var(--list-dash-width);
  height: var(--list-dash-height);
  background: var(--list-dash-color);
  position: absolute;
  top: calc(var(--text-size) * var(--text-lh) / 2);
  top: 0.5lh;
  left: 0;
  transform: translateY(-50%);
}
.list-dash > li + li {
  margin-top: var(--list-dash-gap);
}

/*dash list end*/
/*arrow list*/
.list-arrow {
  list-style: none;
  padding: 0;
}
.list-arrow > li {
  padding: var(--list-arrow-padding);
  position: relative;
}
.list-arrow > li:before {
  content: "";
  display: block;
  width: var(--list-arrow-width);
  height: var(--list-arrow-height);
  background: var(--list-arrow-color);
  mask: var(--list-arrow-icon) no-repeat center/contain;
  -webkit-mask: var(--list-arrow-icon) no-repeat center/contain;
  position: absolute;
  top: calc(var(--text-size) * var(--text-lh) / 2);
  top: 0.5lh;
  left: 0;
  transform: translateY(-50%);
}
.list-arrow > li + li {
  margin-top: var(--list-arrow-gap);
}

/*arrow list end*/
/*check list*/
.list-check {
  list-style: none;
  padding: 0;
}
.list-check > li {
  padding: var(--list-check-padding);
  position: relative;
}
.list-check > li:before {
  content: "";
  display: block;
  width: var(--list-check-width);
  height: var(--list-check-height);
  background: var(--list-check-color);
  mask: var(--list-check-icon) no-repeat center/contain;
  -webkit-mask: var(--list-check-icon) no-repeat center/contain;
  position: absolute;
  top: calc(var(--text-size) * var(--text-lh) / 2);
  top: 0.5lh;
  left: 0;
  transform: translateY(-50%);
}
.list-check > li + li {
  margin-top: var(--list-check-gap);
}

/*check list end*/
.table {
  --bs-table-bg: var(--color-white);
  --bs-table-color: var(--color-accent);
  --bs-table-border-color: var(--color-accent-light);
  --bs-table-striped-color: var(--color-accent);
  --bs-table-striped-bg: var(--color-accent-light);
  --bs-table-hover-color: var(--color-accent);
  --bs-table-hover-bg: var(--color-accent-dark);
  --table-padding: 0.5rem;
  --text-size: 0.875rem; /*14px*/
  --text-size-clamp: 0.875rem; /*14px*/
  font-size: var(--text-size);
  font-size: var(--text-size-clamp);
  /*Bootstrap 5  th & td selector*/
}
.table td > *:last-child,
.table th > *:last-child {
  margin-bottom: 0;
}
.table th {
  --text-size: 0.875rem; /*14px*/
  --text-size-clamp: 0.875rem; /*14px*/
  --text-weight: 500;
  font-size: var(--text-size);
  font-size: var(--text-size-clamp);
  font-weight: var(--text-weight);
}
.table > :not(caption) > * > * {
  padding: var(--table-padding);
}
.table .col-stretch {
  width: 99%;
}

/*contrast mode*/
@media (prefers-contrast: more) {
  .table {
    --bs-table-bg: var(--color-contast-black);
    --bs-table-color: var(--color-contast-white);
    --bs-table-border-color: var(--color-contast-white);
    --bs-table-striped-color: var(--color-contast-white);
    --bs-table-striped-bg: var(--color-contast-black);
    --bs-table-hover-color: var(--color-contast-black);
    --bs-table-hover-bg: var(--color-contast-white);
  }
}
.contrast-mode .table {
  --bs-table-bg: var(--color-contast-black);
  --bs-table-color: var(--color-contast-white);
  --bs-table-border-color: var(--color-contast-white);
  --bs-table-striped-color: var(--color-contast-white);
  --bs-table-striped-bg: var(--color-contast-black);
  --bs-table-hover-color: var(--color-contast-black);
  --bs-table-hover-bg: var(--color-contast-white);
}

/*contrast mode end*/
/*margin*/
.mt-n-100 {
  margin-top: -100px !important;
}

.mb-n-100 {
  margin-bottom: -100px !important;
}

.mt-100 {
  margin-top: 100px !important;
}

.mb-100 {
  margin-bottom: 100px !important;
}

.mt-60 {
  margin-top: 60px !important;
}

.mb-60 {
  margin-bottom: 60px !important;
}

.mt-50 {
  margin-top: 50px !important;
}

.mb-50 {
  margin-bottom: 50px !important;
}

.mt-30 {
  margin-top: 30px !important;
}

.mb-30 {
  margin-bottom: 30px !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

/*margin end*/
/*padding*/
.pt-100 {
  padding-top: 100px !important;
}

.pb-100 {
  padding-bottom: 100px !important;
}

.pt-60 {
  padding-top: 60px !important;
}

.pb-60 {
  padding-bottom: 60px !important;
}

.pt-50 {
  padding-top: 50px !important;
}

.pb-50 {
  padding-bottom: 50px !important;
}

.pt-30 {
  padding-top: 30px !important;
}

.pb-30 {
  padding-bottom: 30px !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

/*padding end*/
/*breakpoint SM*/
@media only screen and (min-width: 576px) {
  /*margin*/
  .mt-n-100 {
    margin-top: -100px !important;
  }
  .mb-n-100 {
    margin-bottom: -100px !important;
  }
  .mt-100 {
    margin-top: 100px !important;
  }
  .mb-100 {
    margin-bottom: 100px !important;
  }
  .mt-60 {
    margin-top: 60px !important;
  }
  .mb-60 {
    margin-bottom: 60px !important;
  }
  .mt-50 {
    margin-top: 50px !important;
  }
  .mb-50 {
    margin-bottom: 50px !important;
  }
  .mt-30 {
    margin-top: 30px !important;
  }
  .mb-30 {
    margin-bottom: 30px !important;
  }
  .mt-0 {
    margin-top: 0 !important;
  }
  .mb-0 {
    margin-bottom: 0 !important;
  }
  /*margin end*/
  /*padding*/
  .pt-100 {
    padding-top: 100px !important;
  }
  .pb-100 {
    padding-bottom: 100px !important;
  }
  .pt-60 {
    padding-top: 60px !important;
  }
  .pb-60 {
    padding-bottom: 60px !important;
  }
  .pt-50 {
    padding-top: 50px !important;
  }
  .pb-50 {
    padding-bottom: 50px !important;
  }
  .pt-30 {
    padding-top: 30px !important;
  }
  .pb-30 {
    padding-bottom: 30px !important;
  }
  .pt-0 {
    padding-top: 0 !important;
  }
  .pb-0 {
    padding-bottom: 0 !important;
  }
  /*padding end*/
}
/*breakpoint SM end*/
/*breakpoint SM*/
@media only screen and (min-width: 768px) {
  /*margin*/
  .mt-sm-n-100 {
    margin-top: -100px !important;
  }
  .mb-sm-n-100 {
    margin-bottom: -100px !important;
  }
  .mt-sm-100 {
    margin-top: 100px !important;
  }
  .mb-sm-100 {
    margin-bottom: 100px !important;
  }
  .mt-sm-60 {
    margin-top: 60px !important;
  }
  .mb-sm-60 {
    margin-bottom: 60px !important;
  }
  .mt-sm-50 {
    margin-top: 50px !important;
  }
  .mb-sm-50 {
    margin-bottom: 50px !important;
  }
  .mt-sm-30 {
    margin-top: 30px !important;
  }
  .mb-sm-30 {
    margin-bottom: 30px !important;
  }
  .mt-sm-0 {
    margin-top: 0 !important;
  }
  .mb-sm-0 {
    margin-bottom: 0 !important;
  }
  /*margin end*/
  /*padding*/
  .pt-sm-100 {
    padding-top: 100px !important;
  }
  .pb-sm-100 {
    padding-bottom: 100px !important;
  }
  .pt-sm-60 {
    padding-top: 60px !important;
  }
  .pb-sm-60 {
    padding-bottom: 60px !important;
  }
  .pt-sm-50 {
    padding-top: 50px !important;
  }
  .pb-sm-50 {
    padding-bottom: 50px !important;
  }
  .pt-sm-30 {
    padding-top: 30px !important;
  }
  .pb-sm-30 {
    padding-bottom: 30px !important;
  }
  .pt-sm-0 {
    padding-top: 0 !important;
  }
  .pb-sm-0 {
    padding-bottom: 0 !important;
  }
  /*padding end*/
}
/*breakpoint SM end*/
/*breakpoint MD*/
@media only screen and (min-width: 768px) {
  /*margin*/
  .mt-md-n-100 {
    margin-top: -100px !important;
  }
  .mb-md-n-100 {
    margin-bottom: -100px !important;
  }
  .mt-md-100 {
    margin-top: 100px !important;
  }
  .mb-md-100 {
    margin-bottom: 100px !important;
  }
  .mt-md-60 {
    margin-top: 60px !important;
  }
  .mb-md-60 {
    margin-bottom: 60px !important;
  }
  .mt-md-50 {
    margin-top: 50px !important;
  }
  .mb-md-50 {
    margin-bottom: 50px !important;
  }
  .mt-md-30 {
    margin-top: 30px !important;
  }
  .mb-md-30 {
    margin-bottom: 30px !important;
  }
  .mt-md-0 {
    margin-top: 0 !important;
  }
  .mb-md-0 {
    margin-bottom: 0 !important;
  }
  /*margin end*/
  /*padding*/
  .pt-md-100 {
    padding-top: 100px !important;
  }
  .pb-md-100 {
    padding-bottom: 100px !important;
  }
  .pt-md-60 {
    padding-top: 60px !important;
  }
  .pb-md-60 {
    padding-bottom: 60px !important;
  }
  .pt-md-50 {
    padding-top: 50px !important;
  }
  .pb-md-50 {
    padding-bottom: 50px !important;
  }
  .pt-md-30 {
    padding-top: 30px !important;
  }
  .pb-md-30 {
    padding-bottom: 30px !important;
  }
  .pt-md-0 {
    padding-top: 0 !important;
  }
  .pb-md-0 {
    padding-bottom: 0 !important;
  }
  /*padding end*/
}
/*breakpoint MD end*/
/*breakpoint LG*/
@media only screen and (min-width: 992px) {
  /*margin*/
  .mt-lg-n-100 {
    margin-top: -100px !important;
  }
  .mb-lg-n-100 {
    margin-bottom: -100px !important;
  }
  .mt-lg-100 {
    margin-top: 100px !important;
  }
  .mb-lg-100 {
    margin-bottom: 100px !important;
  }
  .mt-lg-60 {
    margin-top: 60px !important;
  }
  .mb-lg-60 {
    margin-bottom: 60px !important;
  }
  .mt-lg-50 {
    margin-top: 50px !important;
  }
  .mb-lg-50 {
    margin-bottom: 50px !important;
  }
  .mt-lg-30 {
    margin-top: 30px !important;
  }
  .mb-lg-30 {
    margin-bottom: 30px !important;
  }
  .mt-lg-0 {
    margin-top: 0 !important;
  }
  .mb-lg-0 {
    margin-bottom: 0 !important;
  }
  /*margin end*/
  /*padding*/
  .pt-lg-100 {
    padding-top: 100px !important;
  }
  .pb-lg-100 {
    padding-bottom: 100px !important;
  }
  .pt-lg-60 {
    padding-top: 60px !important;
  }
  .pb-lg-60 {
    padding-bottom: 60px !important;
  }
  .pt-lg-50 {
    padding-top: 50px !important;
  }
  .pb-lg-50 {
    padding-bottom: 50px !important;
  }
  .pt-lg-30 {
    padding-top: 30px !important;
  }
  .pb-lg-30 {
    padding-bottom: 30px !important;
  }
  .pt-lg-0 {
    padding-top: 0 !important;
  }
  .pb-lg-0 {
    padding-bottom: 0 !important;
  }
  /*padding end*/
}
/*breakpoint LG end*/
/*breakpoint XL*/
@media only screen and (min-width: 1200px) {
  /*margin*/
  .mt-xl-n-100 {
    margin-top: -100px !important;
  }
  .mb-xl-n-100 {
    margin-bottom: -100px !important;
  }
  .mt-xl-100 {
    margin-top: 100px !important;
  }
  .mb-xl-100 {
    margin-bottom: 100px !important;
  }
  .mt-xl-60 {
    margin-top: 60px !important;
  }
  .mb-xl-60 {
    margin-bottom: 60px !important;
  }
  .mt-xl-50 {
    margin-top: 50px !important;
  }
  .mb-xl-50 {
    margin-bottom: 50px !important;
  }
  .mt-xl-30 {
    margin-top: 30px !important;
  }
  .mb-xl-30 {
    margin-bottom: 30px !important;
  }
  .mt-xl-0 {
    margin-top: 0 !important;
  }
  .mb-xl-0 {
    margin-bottom: 0 !important;
  }
  /*margin end*/
  /*padding*/
  .pt-xl-100 {
    padding-top: 100px !important;
  }
  .pb-xl-100 {
    padding-bottom: 100px !important;
  }
  .pt-xl-60 {
    padding-top: 60px !important;
  }
  .pb-xl-60 {
    padding-bottom: 60px !important;
  }
  .pt-xl-50 {
    padding-top: 50px !important;
  }
  .pb-xl-50 {
    padding-bottom: 50px !important;
  }
  .pt-xl-30 {
    padding-top: 30px !important;
  }
  .pb-xl-30 {
    padding-bottom: 30px !important;
  }
  .pt-xl-0 {
    padding-top: 0 !important;
  }
  .pb-xl-0 {
    padding-bottom: 0 !important;
  }
  /*padding end*/
}
/*breakpoint XL end*/
/*breakpoint XXL*/
@media only screen and (min-width: 1400px) {
  /*margin*/
  .mt-xxl-n-100 {
    margin-top: -100px !important;
  }
  .mb-xxl-n-100 {
    margin-bottom: -100px !important;
  }
  .mt-xxl-100 {
    margin-top: 100px !important;
  }
  .mb-xxl-100 {
    margin-bottom: 100px !important;
  }
  .mt-xxl-60 {
    margin-top: 60px !important;
  }
  .mb-xxl-60 {
    margin-bottom: 60px !important;
  }
  .mt-xxl-50 {
    margin-top: 50px !important;
  }
  .mb-xxl-50 {
    margin-bottom: 50px !important;
  }
  .mt-xxl-30 {
    margin-top: 30px !important;
  }
  .mb-xxl-30 {
    margin-bottom: 30px !important;
  }
  .mt-xxl-0 {
    margin-top: 0 !important;
  }
  .mb-xxl-0 {
    margin-bottom: 0 !important;
  }
  /*margin end*/
  /*padding*/
  .pt-xxl-100 {
    padding-top: 100px !important;
  }
  .pb-xxl-100 {
    padding-bottom: 100px !important;
  }
  .pt-xxl-60 {
    padding-top: 60px !important;
  }
  .pb-xxl-60 {
    padding-bottom: 60px !important;
  }
  .pt-xxl-50 {
    padding-top: 50px !important;
  }
  .pb-xxl-50 {
    padding-bottom: 50px !important;
  }
  .pt-xxl-30 {
    padding-top: 30px !important;
  }
  .pb-xxl-30 {
    padding-bottom: 30px !important;
  }
  .pt-xxl-0 {
    padding-top: 0 !important;
  }
  .pb-xxl-0 {
    padding-bottom: 0 !important;
  }
  /*padding end*/
}
/*breakpoint XXL end*/
/*breakpoint SM*/
@media only screen and (max-width: 767px) {
  /*margin*/
  .mt-n-100 {
    margin-top: -60px !important;
  }
  .mb-n-100 {
    margin-bottom: -60px !important;
  }
  .mt-100 {
    margin-top: 60px !important;
  }
  .mb-100 {
    margin-bottom: 60px !important;
  }
  /*margin end*/
  /*padding*/
  .pt-100 {
    padding-top: 60px !important;
  }
  .pb-100 {
    padding-bottom: 60px !important;
  }
  /*padding end*/
}
/*breakpoint SM end*/
:root {
  /*hr*/
  --hr-margin: 30px 0;
  --hr-color: var(--color-accent);
  /*hr end*/
}

/*contrast mode*/
@media (prefers-contrast: more) {
  :root {
    --hr-color: var(--color-contast-white);
  }
}
.contrast-mode {
  --hr-color: var(--color-contast-white);
}

/*contrast mode end*/
hr {
  margin: var(--hr-margin);
  background: var(--hr-color);
  opacity: 1;
}

.rounded {
  border-radius: var(--radius);
}

:root {
  /*text-white*/
  --text-white-color: var(--color-white);
  /*text-brack*/
  --text-black-color: var(--color-black);
  /*underline*/
  --underline-width: 40px;
  --underline-height: 2px;
  --underline-radius: 0;
  --underline-margin: 30px 0 0;
  --underline-center-margin: 30px auto 0;
  --underline-color: var(--color-primary);
  /*paragraph-icon / text-icon*/
  --text-icon-size: 1lh;
  --text-icon-min-size: 1rem;
  --text-icon-max-size: 1.5rem;
  --text-icon-gap: 0.75rem;
  --text-icon-color: var(--color-primary);
  --text-icon-address: url("../images/icons/location-pin.svg");
  --text-icon-mail: url("../images/icons/mail.svg");
  --text-icon-phone: url("../images/icons/phone.svg");
}

/*contrast mode*/
@media (prefers-contrast: more) {
  :root {
    /*text-white*/
    --text-white-color: var(--color-contast-white);
    /*text-brack*/
    --text-black-color: var(--color-contast-white);
    /*underline*/
    --underline-color: var(--color-contast-yellow);
    /*paragraph-icon / text-icon*/
    --text-icon-color: var(--color-contast-yellow);
  }
}
.contrast-mode {
  /*text-white*/
  --text-white-color: var(--color-contast-white);
  /*text-brack*/
  --text-black-color: var(--color-contast-white);
  /*underline*/
  --underline-color: var(--color-contast-yellow);
  /*paragraph-icon / text-icon*/
  --text-icon-color: var(--color-contast-yellow);
}

/*contrast mode end*/
.text-white {
  --text-color: var(--text-white-color);
  --heading-color: var(--text-white-color);
  color: var(--text-color);
}

.text-black {
  --text-color: var(--text-black-color);
  --heading-color: var(--text-black-color);
  color: var(--text-color);
}

.lead {
  font-family: var(--heading-font-family);
  font-weight: var(--heading-weight);
  color: var(--heading-color);
  font-size: var(--h3);
  font-size: var(--h3-clamp);
  line-height: var(--h3-lh);
  letter-spacing: var(--heading-letter-spacing);
  margin: var(--heading-margin);
}

.underline:after,
.underline-center:after {
  content: "";
  display: block;
  width: var(--underline-width);
  height: var(--underline-height);
  border-radius: var(--underline-radius);
  margin: var(--underline-margin);
  background: var(--underline-color);
}
.underline-center:after,
.underline-center-center:after {
  margin: var(--underline-center-margin);
}

/*paragraph with icon*/
[class*="paragraph-icon-"] {
  display: flex;
  gap: var(--text-icon-gap);
}
[class*="paragraph-icon-"]:before {
  content: "";
  display: inline-block;
  width: clamp(
    var(--text-icon-min-size),
    var(--text-icon-size),
    var(--text-icon-max-size)
  );
  height: clamp(
    var(--text-icon-min-size),
    var(--text-icon-size),
    var(--text-icon-max-size)
  );
  flex-shrink: 0;
  background: var(--text-icon-color);
  mask: var(--text-icon) no-repeat center/contain;
  -webkit-mask: var(--text-icon) no-repeat center/contain;
  position: relative;
  top: 0.5lh;
  transform: translateY(-50%);
}

[class*="text-icon-"] {
  display: inline-flex;
  gap: var(--text-icon-gap);
  vertical-align: bottom;
}
[class*="text-icon-"]:before {
  content: "";
  display: inline-block;
  width: clamp(
    var(--text-icon-min-size),
    var(--text-icon-size),
    var(--text-icon-max-size)
  );
  height: clamp(
    var(--text-icon-min-size),
    var(--text-icon-size),
    var(--text-icon-max-size)
  );
  flex-shrink: 0;
  align-self: center;
  background: var(--text-icon-color);
  mask: var(--text-icon) no-repeat center/contain;
  -webkit-mask: var(--text-icon) no-repeat center/contain;
}

.paragraph-icon-address,
.text-icon-address {
  --text-icon: var(--text-icon-address);
}

.paragraph-icon-email,
.text-icon-email {
  --text-icon: var(--text-icon-mail);
}

.paragraph-icon-phone,
.text-icon-phone {
  --text-icon: var(--text-icon-phone);
}

:root {
  --column-gutter: 1.5rem;
  --column-gutter-wide: 60px;
  --column-gutter-thin: 2px;
}

.row {
  --bs-gutter-x: var(--column-gutter);
  /*no gutter*/
  /*thin gutter*/
}
.row.row-no-gutter {
  --bs-gutter-x: 0;
}
.row.row-thin-gutter {
  --bs-gutter-x: var(--column-gutter-thin);
}

/*wide gutter*/
@media only screen and (min-width: 768px) {
  .row.row-wide-gutter {
    --bs-gutter-x: var(--column-gutter-wide);
  }
}
/*breakpoint SM*/
@media only screen and (max-width: 767px) {
  :root {
    --column-gutter-wide: var(--column-gutter);
  }
}
/*breakpoint SM end*/
/*no reduced motion*/
@media (prefers-reduced-motion: no-preference) {
  /*animation*/
  .animate {
    opacity: 0;
  }
  /*animation end*/
}
/*no reduced motion*/
/*reduced motion mode*/
@media (prefers-reduced-motion: reduce) {
  /*animation*/
  .animate {
    opacity: 1;
  }
  /*animation end*/
}
.reduced-animation-mode {
  /*animation*/
  /*animation end*/
}
.reduced-animation-mode .animate {
  opacity: 1;
}

/*reduced motion mode end*/
/*layout*/
:root {
  --container-padding: 60px;
  --container-wide-width: max(1200px, 85.714vw); /* 85.714vw = 100vw * 12/14 */
  --container-narrow-width: 900px;
}

.wrapper {
  max-width: 100%;
  position: relative;
  overflow: hidden;
}

/*container*/
.container,
.container-fluid {
  padding-left: var(--container-padding);
  padding-right: var(--container-padding);
}

.container-wide {
  width: 100%;
  max-width: calc(var(--container-wide-width) + 2 * var(--container-padding));
  margin: auto;
  padding-left: var(--container-padding);
  padding-right: var(--container-padding);
}

.container-narrow {
  width: 100%;
  max-width: calc(var(--container-narrow-width) + 2 * var(--container-padding));
  margin: auto;
  padding-left: var(--container-padding);
  padding-right: var(--container-padding);
}

.container,
.container-fluid,
.container-wide,
.container-narrow {
  padding-left: var(--container-padding);
  padding-right: var(--container-padding);
}
.container
  :is(.container, .container-fluid, .container-wide, .container-narrow),
.container-fluid
  :is(.container, .container-fluid, .container-wide, .container-narrow),
.container-wide
  :is(.container, .container-fluid, .container-wide, .container-narrow),
.container-narrow
  :is(.container, .container-fluid, .container-wide, .container-narrow) {
  padding-left: 0;
  padding-right: 0;
}
.container .container-wide,
.container-fluid .container-wide,
.container-wide .container-wide,
.container-narrow .container-wide {
  max-width: var(--container-wide-width);
}
.container .container-narrow,
.container-fluid .container-narrow,
.container-wide .container-narrow,
.container-narrow .container-narrow {
  max-width: var(--container-narrow-width);
}

/*container end*/
/*breakpoint SM*/
@media only screen and (max-width: 767px) {
  :root {
    --container-padding: 0.75rem;
  }
}
/*breakpoint SM end*/
:root {
  --layout-display: flex;
  --layout-margin: 0;
  --layout-padding: 60px 0 0;
  --layout-sidebar-margin: 0;
  --layout-sidebar-padding: 0;
  --layout-sidebar-width: 300px;
  --layout-sidebar-content-height: calc(100vh - var(--header-height-scrolled));
  --layout-sidebar-gap: 60px;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--header-height-scrolled);
}

.page-content {
  display: var(--layout-display);
  gap: var(--layout-sidebar-gap);
  margin: var(--layout-margin);
  padding: var(--layout-padding);
  /*main content*/
  /*left side content*/
}
.page-content > .main-content {
  flex-grow: 1;
  max-width: 100%;
  margin-bottom: var(--layout-sidebar-margin);
}
.page-content > .left-side-content {
  flex: 0 0 var(--layout-sidebar-width);
  margin: var(--layout-sidebar-margin);
  position: relative;
}
.page-content > .left-side-content .left-side {
  max-height: var(--layout-sidebar-content-height);
  position: sticky;
  top: var(--header-height-scrolled);
  overflow: auto;
  overflow: clip auto;
}

/*reduced motion mode*/
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}
.reduced-animation-mode {
  scroll-behavior: auto;
}

/*reduced motion mode end*/
/*breakpoint MD*/
@media only screen and (max-width: 991px) {
  :root {
    --layout-sidebar-width: 240px;
    --layout-sidebar-gap: 1.5rem;
  }
}
/*breakpoint MD end*/
/*breakpoint SM*/
@media only screen and (max-width: 767px) {
  :root {
    --layout-display: block;
    --layout-sidebar-margin: 0 0 60px;
    --layout-sidebar-content-height: none;
  }
  .page-content {
    display: block;
  }
}
/*breakpoint SM end*/
:root {
  --header-navbar-height: 5rem; /*80px*/
  --header-navbar-height-scrolled: 3.75rem; /*60px*/
  /*header*/
  --header-height: var(--header-navbar-height);
  --header-height-scrolled: var(--header-navbar-height);
  --header-background: var(--color-white);
  --header-text-size: var(--text-size);
  --header-text-weight: var(--text-weight);
  --header-text-color: var(--text-color);
  --header-text-letter-spacing: var(--text-letter-spacing);
  --header-shadow: 0 4px 4px rgba(0, 0, 0, 0.04);
  --header-transition: var(--transition);
  /*header top*/
  --header-top-height: 1.875rem; /*30px*/
  --header-top-height-scrolled: 1.875rem; /*30px*/
  --header-top-background: transparent;
  --header-top-text-size: var(--header-text-size);
  --header-top-text-weight: var(--header-text-weight);
  --header-top-text-color: var(--header-text-color);
  --header-top-text-letter-spacing: var(--header-text-letter-spacing);
  /*header with banner*/
  --header-banner-background: transparent;
  --header-banner-text-color: var(--color-white);
  --header-banner-shadow: 0 0 0 rgba(0, 0, 0, 0);
  /*header top with banner*/
  --header-top-background: transparent;
  --header-top-text-color: var(--color-white);
  /*header pillow*/
  --header-pillow-height: var(--header-height);
  --header-pillow-top-height: calc(
    var(--header-navbar-height) + var(--header-top-height)
  );
}

/*contrast mode*/
@media (prefers-contrast: more) {
  :root {
    /*header*/
    --header-background: var(--color-contast-black);
    --header-text-color: var(--color-contast-white);
    --header-shadow: 0 1px 0 var(--color-contast-white);
    /*header top*/
    --header-top-background: transparent;
    --header-top-text-color: var(--header-text-color);
    /*header with banner*/
    --header-banner-background: var(--color-contast-black);
    --header-banner-text-color: var(--color-contast-white);
    --header-banner-shadow: 0 1px 0 var(--color-contast-white);
    /*header top with banner*/
    --header-top-banner-background: transparent;
    --header-top-banner-text-color: var(--header-text-color);
  }
}
.contrast-mode {
  /*header*/
  --header-background: var(--color-contast-black);
  --header-text-color: var(--color-contast-white);
  --header-shadow: 0 1px 0 var(--color-contast-white);
  /*header top*/
  --header-top-background: transparent;
  --header-top-text-color: var(--header-text-color);
  /*header with banner*/
  --header-banner-background: var(--color-contast-black);
  --header-banner-text-color: var(--color-contast-white);
  --header-banner-shadow: 0 1px 0 var(--color-contast-white);
  /*header top with banner*/
  --header-top-banner-background: transparent;
  --header-top-banner-text-color: var(--header-text-color);
}

/*contrast mode end*/
/*header height if it has .page-header-top*/
body:has(.page-header .page-header-top) {
  --header-height: calc(var(--header-navbar-height) + var(--header-top-height));
  --header-pillow-height: var(--header-pillow-top-height);
}

.page-header {
  --text-color: var(--header-text-color);
  --heading-color: var(--header-text-color);
  background: var(--header-background);
  color: var(--header-text-color);
  font-size: var(--header-text-size);
  font-weight: var(--header-text-weight);
  color: var(--header-text-color);
  letter-spacing: var(--header-text-letter-spacing);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  box-shadow: var(--header-shadow);
  transition: var(--header-transition);
}
.page-header-top {
  --text-color: var(--header-top-color);
  --heading-color: var(--header-top-color);
  min-height: var(--header-top-height);
  color: var(--header-top-text-color);
  font-size: var(--header-top-text-size);
  font-weight: var(--header-top-text-weight);
  color: var(--header-text-top-color);
  letter-spacing: var(--header-top-text-letter-spacing);
}
.page-header .navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  padding: 0;
  min-height: var(--header-navbar-height);
  transition: var(--transition);
}
.page-header .navbar-brand {
  padding: 5px 0;
  margin: 0;
  height: var(--header-navbar-height);
  transition: var(--transition);
}
.page-header .navbar-brand img {
  display: block;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}
.page-header .navbar-content {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.header-pillow {
  height: var(--header-pillow-height);
}

@media only screen and (min-width: 992px) {
  /*with banner*/
  body:has(.banner) .header-pillow {
    display: none;
  }
  body:has(.banner):not(.scrolled) {
    /*header*/
    --header-background: var(--header-banner-background);
    --header-text-color: var(--header-banner-text-color);
    --header-shadow: var(--header-banner-shadow);
    /*header top*/
    --header-top-background: var(--header-top-banner-background);
    --header-top-color: var(--header-top-banner-text-color);
  }
  /*with banner end*/
  /*scrolled*/
  body.scrolled {
    --header-top-height: var(--header-top-height-scrolled);
    --header-navbar-height: var(--header-navbar-height-scrolled);
    /*hide .header-top on scroll*/
  }
  body.scrolled .page-header:has(.page-header-top) {
    transform: translateY(calc(var(--header-top-height) * -1));
  }
  /*scrolled end*/
  .page-header .hamburger {
    display: none;
  }
}
@media only screen and (max-width: 991px) {
  :root {
    --header-navbar-height: 3.75rem; /*60px*/
    --header-navbar-height-scrolled: 3.75rem; /*60px*/
    --header-pillow-height: var(--header-height);
    --header-pillow-top-height: calc(
      var(--header-navbar-height) + var(--header-top-height)
    );
  }
  /*scrolled*/
  body.scrolled {
    --header-top-height: var(--header-top-height-scrolled);
    --header-navbar-height: var(--header-navbar-height-scrolled);
    /*hide .header-top on scroll*/
  }
  body.scrolled .page-header:has(.page-header-top) {
    transform: translateY(calc(var(--header-top-height) * -1));
  }
  /*scrolled end*/
}
:root {
  /*footer*/
  --footer-margin: 60px 0 0;
  --footer-padding: 0;
  --footer-background: var(--color-white);
  --footer-border-top: none; /*1px solid var(--color-accent);*/
  --footer-text-size: var(--text-size);
  --footer-text-weight: var(--text-weight);
  --footer-text-color: var(--text-color);
  --footer-text-letter-spacing: var(--text-letter-spacing);
  /*footer top*/
  --footer-top-margin: 0;
  --footer-top-padding: 60px 0;
  --footer-top-background: transparent;
  --footer-top-border-top: none; /*1px solid var(--color-accent);*/
  --footer-top-text-size: var(--footer-text-size);
  --footer-top-text-weight: var(--footer-text-weight);
  --footer-top-text-color: var(--footer-text-color);
  --footer-top-text-letter-spacing: var(--footer-text-letter-spacing);
  /*footer bottom*/
  --footer-bottom-margin: 0;
  --footer-bottom-padding: 30px 0 calc(30px - 1rem); /*30px - paragraph bottom margin (1rem)*/
  --footer-bottom-background: transparent;
  --footer-bottom-border-top: none; /*1px solid var(--color-accent);*/
  --footer-bottom-text-size: var(--footer-text-size);
  --footer-bottom-text-weight: var(--footer-text-weight);
  --footer-bottom-text-color: var(--footer-text-color);
  --footer-bottom-text-letter-spacing: var(--footer-text-letter-spacing);
}

/*contrast mode*/
@media (prefers-contrast: more) {
  :root {
    /*footer*/
    --footer-background: var(--color-contast-black);
    --footer-border-top: 1px solid var(--color-contast-white);
    --footer-text-color: var(--color-contast-white);
    /*footer top*/
    --footer-top-background: var(--color-contast-black);
    --footer-top-border-top: none; /*1px solid var(--color-contast-white);*/
    --footer-top-text-color: var(--color-contast-white);
    /*footer bottom*/
    --footer-bottom-background: var(--color-contast-black);
    --footer-bottom-border-top: 1px solid var(--color-contast-white);
    --footer-bottom-text-color: var(--color-contast-white);
  }
}
.contrast-mode {
  /*footer*/
  --footer-background: var(--color-contast-black);
  --footer-border-top: 1px solid var(--color-contast-white);
  --footer-text-color: var(--color-contast-white);
  /*footer top*/
  --footer-top-background: var(--color-contast-black);
  --footer-top-border-top: none; /*1px solid var(--color-contast-white);*/
  --footer-top-text-color: var(--color-contast-white);
  /*footer bottom*/
  --footer-bottom-background: var(--color-contast-black);
  --footer-bottom-border-top: 1px solid var(--color-contast-white);
  --footer-bottom-text-color: var(--color-contast-white);
}

/*contrast mode end*/
.page-footer {
  margin: var(--footer-margin);
  padding: var(--footer-padding);
  background: var(--footer-background);
  border-top: var(--footer-border-top);
  color: var(--footer-text-color);
  font-size: var(--footer-text-size);
  font-weight: var(--footer-text-weight);
  color: var(--footer-text-color);
  letter-spacing: var(--footer-text-letter-spacing);
}
.page-footer-top {
  margin: var(--footer-top-margin);
  padding: var(--footer-top-padding);
  background: var(--footer-top-background);
  border-top: var(--footer-top-border-top);
  color: var(--footer-text-top-color);
  font-size: var(--footer-top-text-size);
  font-weight: var(--footer-top-text-weight);
  color: var(--footer-top-text-color);
  letter-spacing: var(--footer-top-text-letter-spacing);
}
.page-footer-bottom {
  margin: var(--footer-bottom-margin);
  padding: var(--footer-bottom-padding);
  background: var(--footer-bottom-background);
  border-top: var(--footer-bottom-border-top);
  color: var(--footer-text-bottom-color);
  font-size: var(--footer-bottom-text-size);
  font-weight: var(--footer-bottom-text-weight);
  color: var(--footer-bottom-text-color);
  letter-spacing: var(--footer-bottom-text-letter-spacing);
}

/*components*/
/*utils*/
body.mod-profiler-active {
  padding-bottom: 34px !important;
}

body.trigo-bar.mod-profiler-active {
  padding-bottom: 68px !important;
}

:root {
  /*breadcrumb container*/
  --breadcrumb-container-margin: 0;
  --breadcrumb-container-padding: 0;
  --breadcrumb-container-background: transparent;
  --breadcrumb-container-border-top: none;
  --breadcrumb-container-border-bottom: none;
  --breadcrumb-container-border-radius: 0;
  /*breadcrumb*/
  --breadcrumb-justify: center;
  --breadcrumb-padding-y: 0;
  --breadcrumb-padding-x: 0;
  /*breadcrumb item*/
  --breadcrumb-item-padding-x: 0.875rem; /*14px*/
  --breadcrumb-item--font-family: var(--text-family);
  --breadcrumb-item-size: 0.875rem; /*14px*/
  --breadcrumb-item-lh: 1.5;
  --breadcrumb-item-weight: 400;
  --breadcrumb-item-color: var(--color-accent);
  --breadcrumb-item-color-active: var(--color-black);
  --breadcrumb-item-letter-spacing: normal;
  --breadcrumb-item-opacity: 1;
  --breadcrumb-item-opacity-active: 1;
  --breadcrumb-item-transition: var(--transition);
  /*breadcrumb divider*/
  --breadcrumb-divider: "";
  --breadcrumb-divider-padding: 0;
  --breadcrumb-divider-icon: url("../images/icons/chevron.svg");
  --breadcrumb-divider-icon-width: 0.75rem; /*12px*/
  --breadcrumb-divider-icon-height: 0.75rem; /*12px*/
  --breadcrumb-divider-color: var(--color-accent);
  --breadcrumb-divider-opacity: 1;
}

/*contrast mode*/
@media (prefers-contrast: more) {
  :root {
    /*breadcrumb container*/
    --breadcrumb-container-margin: 0;
    --breadcrumb-container-padding: 0;
    --breadcrumb-container-background: transparent;
    --breadcrumb-container-border-top: none;
    --breadcrumb-container-border-bottom: none;
    --breadcrumb-container-border-radius: 0;
    /*breadcrumb item*/
    --breadcrumb-item-color: var(--color-contast-yellow);
    --breadcrumb-item-color-active: var(--color-contast-white);
    --breadcrumb-item-opacity: 1;
    --breadcrumb-item-opacity-active: 1;
    /*breadcrumb divider*/
    --breadcrumb-divider-color: var(--color-contast-white);
    --breadcrumb-divider-opacity: 1;
  }
}
.contrast-mode {
  /*breadcrumb container*/
  --breadcrumb-container-margin: 0;
  --breadcrumb-container-padding: 0;
  --breadcrumb-container-background: transparent;
  --breadcrumb-container-border-top: none;
  --breadcrumb-container-border-bottom: none;
  --breadcrumb-container-border-radius: 0;
  /*breadcrumb item*/
  --breadcrumb-item-color: var(--color-contast-yellow);
  --breadcrumb-item-color-active: var(--color-contast-white);
  --breadcrumb-item-opacity: 1;
  --breadcrumb-item-opacity-active: 1;
  /*breadcrumb divider*/
  --breadcrumb-divider-color: var(--color-contast-white);
  --breadcrumb-divider-opacity: 1;
}

/*contrast mode end*/
/*breadcrumb container*/
.breadcrumbs-container {
  --bs-breadcrumb-font-size: var(--breadcrumb-item-size);
  --bs-breadcrumb-padding-y: var(--breadcrumb-padding-y);
  --bs-breadcrumb-padding-x: var(--breadcrumb-padding-x);
  --bs-breadcrumb-item-padding-x: var(--breadcrumb-item-padding-x);
  --bs-breadcrumb-margin-bottom: 0;
  --bs-breadcrumb-divider-color: var(--breadcrumb-divider-color);
  --bs-breadcrumb-active-color: var(--breadcrumb-item-active-color);
  --bs-breadcrumb-divider: var(--breadcrumb-divider);
  --bs-breadcrumb-divider-flipped: var(--breadcrumb-divider);
  --bs-breadcrumb-border-radius: var(--breadcrumb-border-radius);
  margin: var(--breadcrumb-container-margin);
  padding: var(--breadcrumb-container-padding);
  background: var(--breadcrumb-container-background);
}

/*breadcrumb container end*/
/*breadcrumb*/
.breadcrumb {
  justify-content: var(--breadcrumb-justify);
  margin: 0;
  /*breadcrumb item*/
  /*breadcrumb item end*/
}
.breadcrumb-item + .breadcrumb-item {
  display: flex;
  align-items: center;
  gap: var(--breadcrumb-item-padding-x);
  padding-left: var(--breadcrumb-item-padding-x);
  /*breadcrumb divider*/
  /*breadcrumb divider end*/
}
.breadcrumb-item + .breadcrumb-item:before {
  width: var(--breadcrumb-divider-icon-width);
  height: var(--breadcrumb-divider-icon-width);
  padding: var(--breadcrumb-divider-padding);
  background: var(--breadcrumb-divider-color);
  mask: var(--breadcrumb-divider-icon) no-repeat center/contain;
  -webkit-mask: var(--breadcrumb-divider-icon) no-repeat center/contain;
  opacity: var(--breadcrumb-divider-opacity);
}
.breadcrumb-item a {
  font-family: var(--breadcrumb-item--font-family);
  font-size: var(--breadcrumb-item-size);
  line-height: var(--breadcrumb-item-lh);
  foint-weight: var(--breadcrumb-item-weight);
  color: var(--breadcrumb-item-color);
  letter-spacing: var(--breadcrumb-item-letter-spacing);
  opacity: var(--breadcrumb-item-opacity);
  transition: var(--breadcrumb-item-transition);
}
.breadcrumb-item a:is(:hover, :focus) {
  color: var(--breadcrumb-item-color-active);
  opacity: var(--breadcrumb-item-opacity-active);
}

/*breadcrumb end*/
:root {
  --pagination-container-margin: 60px 0 0;
  --pagination-container-padding: 0;
  --pagination-padding-y: 0.375rem; /*6px*/
  --pagination-padding-x: 0.75rem; /*12px*/
  --pagination-color: var(--color-primary);
  --pagination-bg: var(--color-white);
  --pagination-border-width: 1px;
  --pagination-border-radius: var(--radius);
  --pagination-margin-start: 1px;
  --pagination-border-color: var(--color-primary);
  --pagination-hover-color: var(--color-white);
  --pagination-hover-bg: var(--color-primary-active);
  --pagination-hover-border-color: var(--color-primary-active);
  --pagination-focus-box-shadow: none;
  --pagination-focus-outline: 0;
  --pagination-active-color: var(--color-white);
  --pagination-active-bg: var(--color-primary);
  --pagination-active-border-color: var(--color-primary);
  --pagination-disabled-color: var(--color-accent);
  --pagination-disabled-bg: var(--color-accent-light);
  --pagination-disabled-border-color: var(--color-accent-light);
  --pagination-transition: var(--transition);
  --pagination-icon: url("../images/icons/arrow.svg");
  --pagination-icon-width: 0.75rem; /*12px*/
  --pagination-icon-height: 0.75rem; /*12px*/
  --pagination-icon-gap: 0.375rem; /*6px*/
}

/*contrast mode*/
@media (prefers-contrast: more) {
  :root {
    --pagination-color: var(--color-contast-black);
    --pagination-bg: var(--color-contast-yellow);
    --pagination-border-color: var(--color-contast-yellow);
    --pagination-hover-color: var(--color-contast-black);
    --pagination-hover-bg: var(--color-contast-white);
    --pagination-hover-border-color: var(--color-contast-yellowe);
    --pagination-focus-box-shadow: none;
    --pagination-active-color: var(--color-contast-black);
    --pagination-active-bg: var(--color-contast-white);
    --pagination-active-border-color: var(--color-contast-yellow);
    --pagination-disabled-color: var(--color-contast-white);
    --pagination-disabled-bg: transparent;
    --pagination-disabled-border-color: transparent;
  }
}
.contrast-mode {
  --pagination-color: var(--color-contast-black);
  --pagination-bg: var(--color-contast-yellow);
  --pagination-border-color: var(--color-contast-yellow);
  --pagination-hover-color: var(--color-contast-black);
  --pagination-hover-bg: var(--color-contast-white);
  --pagination-hover-border-color: var(--color-contast-white);
  --pagination-focus-box-shadow: none;
  --pagination-active-color: var(--color-contast-black);
  --pagination-active-bg: var(--color-contast-white);
  --pagination-active-border-color: var(--color-contast-white);
  --pagination-disabled-color: var(--color-contast-white);
  --pagination-disabled-bg: transparent;
  --pagination-disabled-border-color: transparent;
}

/*contrast mode end*/
.pagination-container {
  margin: var(--pagination-container-margin);
  padding: var(--pagination-container-padding);
}

.pagination {
  --bs-pagination-padding-y: var(--pagination-padding-y);
  --bs-pagination-padding-x: var(--pagination-padding-x);
  --bs-pagination-color: var(--pagination-color);
  --bs-pagination-bg: var(--pagination-bg);
  --bs-pagination-border-width: var(--pagination-border-width);
  --bs-pagination-border-radius: var(--pagination-border-radius);
  --bs-pagination-margin-start: var(--pagination-margin-start);
  --bs-pagination-border-color: var(--pagination-border-color);
  --bs-pagination-focus-color: var(--pagination-hover-color);
  --bs-pagination-focus-bg: var(--pagination-hover-bg);
  --bs-pagination-focus-box-shadow: var(--pagination-focus-box-shadow);
  --bs-pagination-focus-outline: var(--pagination-focus-outline);
  --bs-pagination-focus-box-shadow: none;
  --bs-pagination-hover-color: var(--pagination-hover-color);
  --bs-pagination-hover-bg: var(--pagination-hover-bg);
  --bs-pagination-hover-border-color: var(--pagination-hover-border-color);
  --bs-pagination-active-color: var(--pagination-active-color);
  --bs-pagination-active-bg: var(--pagination-active-bg);
  --bs-pagination-active-border-color: var(--pagination-active-border-color);
  --bs-pagination-disabled-color: var(--pagination-disabled-color);
  --bs-pagination-disabled-bg: var(--pagination-disabled-bg);
  --bs-pagination-disabled-border-color: var(
    --pagination-disabled-border-color
  );
  --bs-pagination-transition: var(--pagination-transition);
}
.pagination .page-item:is(.page-prev, .page-next) {
  display: inline-flex;
}
.pagination .page-item:is(.page-prev, .page-next) .page-link {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--pagination-icon-gap);
}
.pagination .page-item:is(.page-prev, .page-next) .page-link:after {
  content: "";
  display: inline-block;
  width: var(--pagination-icon-width);
  height: var(--pagination-icon-height);
  background: var(--bs-pagination-color);
  mask: var(--pagination-icon) no-repeat center/contain;
  -webkit-mask: var(--pagination-icon) no-repeat center/contain;
  transition: var(--pagination-transition);
}
.pagination
  .page-item:is(.page-prev, .page-next)
  .page-link:is(:hover, :focus):after {
  background: var(--bs-pagination-focus-color);
}
.pagination .page-item.page-prev .page-link:after {
  order: -1;
  transform: scaleX(-1);
}

/*
.pagination .page-prev .page-link,
.pagination .page-next .page-link {
    justify-content: center;
    align-items: center;
    gap: .375rem;
}

.pagination .page-prev .page-link {}

.pagination .page-next .page-link {}

.pagination .page-prev .page-link:before,
.pagination .page-next .page-link:after {
    content: '';
    display: inline-block;
    width: .75rem;
    height: .75rem;
    background: var(--bs-pagination-color);
    mask: url('../images/arrow.svg') no-repeat center / contain;
    -webkit-mask: url('../images/arrow.svg') no-repeat center / contain;
    transition: var(--transition);
}

.pagination .page-prev .page-link:before {transform: scaleX(-1);}

.pagination .page-next .page-link:after {}

.pagination .page-prev .page-link:is(:hover, :focus):before,
.pagination .page-next .page-link:is(:hover, :focus):after {
    background: var(--bs-pagination-focus-color);
}
*/
:root {
  /*alert*/
  --alert-padding-x: 1rem;
  --alert-padding-y: 1rem;
  --alert-margin-bottom: 1rem;
  --alert-bg: transparent;
  --alert-color: inherit;
  --alert-border-size: 1px;
  --alert-border-color: transparent;
  --alert-radius: var(--radius);
  --alert-btn-close-bg: var(--btn-close-bg);
  --alert-btn-close-bg-active: var(--btn-close-bg-active);
  --alert-btn-close-color: var(--btn-close-color);
  --alert-btn-close-icon-color: var(--btn-close-icon-color);
  /*alert success*/
  --alert-success-color: var(--bs-success-text-emphasis);
  --alert-success-bg: var(--bs-success-bg-subtle);
  --alert-success-border-color: var(--bs-success-border-subtle);
  --alert-success-btn-close-bg: var(--alert-btn-close-bg);
  --alert-success-btn-close-bg-active: var(--alert-btn-close-bg-active);
  --alert-success-btn-close-color: var(--alert-btn-close-color);
  --alert-success-btn-close-icon-color: var(--alert-btn-close-icon-color);
  /*alert danger*/
  --alert-danger-color: var(--bs-danger-text-emphasis);
  --alert-danger-bg: var(--bs-danger-bg-subtle);
  --alert-danger-border-color: var(--bs-danger-border-subtle);
  --alert-danger-btn-close-bg: var(--alert-btn-close-bg);
  --alert-danger-btn-close-bg-active: var(--alert-btn-close-bg-active);
  --alert-danger-btn-close-color: var(--alert-btn-close-color);
  --alert-danger-btn-close-icon-color: var(--alert-btn-close-icon-color);
  /*alert container*/
  --alert-container-margin: 0;
  --alert-container-padding: 0;
  --alert-container-inset: calc(var(--header-navbar-height-scrolled) + 0.75rem)
    auto auto; /*position shorthand*/
}

/*contrast mode*/
@media (prefers-contrast: more) {
  :root {
    /*alert*/
    --alert-bg: transparent;
    --alert-color: inherit;
    --alert-border-color: transparent;
    --alert-btn-close-bg: var(--btn-close-bg);
    --alert-btn-close-color: var(--btn-close-color);
    --alert-btn-close-icon-color: var(--btn-close-icon-color);
    /*alert success*/
    --alert-success-color: var(--color-contast-black);
    --alert-success-bg: var(--color-contast-yellow);
    --alert-success-border-color: var(--color-contast-yellow);
    --alert-success-btn-close-bg: var(--color-contast-white);
    --alert-success-btn-close-color: var(--color-contast-black);
    --alert-success-btn-close-icon-color: var(--color-contast-black);
    /*alert danger*/
    --alert-danger-color: var(--color-contast-black);
    --alert-danger-bg: var(--color-contast-yellow);
    --alert-danger-border-color: var(--color-contast-black);
    --alert-danger-btn-close-bg: var(--color-contast-white);
    --alert-danger-btn-close-color: var(--alert-btn-close-color);
    --alert-danger-btn-close-icon-color: var(--alert-btn-close-icon-color);
  }
}
.contrast-mode {
  /*alert*/
  --alert-bg: transparent;
  --alert-color: inherit;
  --alert-border-color: transparent;
  --alert-btn-close-bg: var(--btn-close-bg);
  --alert-btn-close-color: var(--btn-close-color);
  --alert-btn-close-icon-color: var(--btn-close-icon-color);
  /*alert success*/
  --alert-success-color: var(--color-contast-black);
  --alert-success-bg: var(--color-contast-yellow);
  --alert-success-border-color: var(--color-contast-yellow);
  --alert-success-btn-close-bg: var(--color-contast-white);
  --alert-success-btn-close-color: var(--color-contast-black);
  --alert-success-btn-close-icon-color: var(--color-contast-black);
  /*alert danger*/
  --alert-danger-color: var(--color-contast-black);
  --alert-danger-bg: var(--color-contast-yellow);
  --alert-danger-border-color: var(--color-contast-black);
  --alert-danger-btn-close-bg: var(--color-contast-white);
  --alert-danger-btn-close-color: var(--alert-btn-close-color);
  --alert-danger-btn-close-icon-color: var(--alert-btn-close-icon-color);
}

/*contrast mode end*/
/*alert*/
.alert {
  --bs-alert-bg: var(--alert-bg);
  --bs-alert-padding-x: var(--alert-padding-x);
  --bs-alert-padding-y: var(--alert-padding-y);
  --bs-alert-margin-bottom: var(--alert-margin-bottom);
  --bs-alert-color: var(--alert-color);
  --bs-alert-border: var(--alert-border-size) solid var(--alert-border-color);
  --bs-alert-border-radius: var(--alert-radius);
  /*close btn*/
  --btn-close-padding: calc(
      var(--bs-alert-padding-y) + (1lh - var(--btn-close-height)) / 2
    )
    var(--bs-alert-padding-x);
  --btn-close-bg: var(--alert-btn-close-bg);
  --btn-close-color: var(--alert-btn-close-color);
  --btn-close-icon-color: var(--alert-btn-close-icon-color);
}
.alert .btn-close {
  padding: var(--btn-close-padding);
}

.alert-success {
  --alert-bg: var(--alert-success-bg);
  --alert-color: var(--alert-success-color);
  --alert-border-color: var(--alert-success-border-color);
  --btn-close-bg: var(--alert-success-btn-close-bg);
  --btn-close-bg-active: var(--alert-success-btn-close-bg-active);
  --btn-close-color: var(--alert-success-btn-close-color);
  --btn-close-icon-color: var(--alert-success-btn-close-icon-color);
}

.alert-danger {
  --alert-bg: var(--alert-danger-bg);
  --alert-bg-active: var(--alert-danger-bg-active);
  --alert-color: var(--alert-danger-color);
  --alert-border-color: var(--alert-danger-border-color);
  --btn-close-bg: var(--alert-danger-btn-close-bg);
  --btn-close-color: var(--alert-danger-btn-close-color);
  --btn-close-icon-color: var(--alert-danger-btn-close-icon-color);
}

/*alert end*/
/*alert container*/
.alert-container {
  margin: var(--alert-container-margin);
  padding: var(--alert-container-padding);
}
.alert-container-sticky {
  position: sticky;
  inset: var(--alert-container-inset);
  z-index: 1;
}

*:has(> .alert-container-sticky) {
  position: relative;
}

/*alert container end*/
:root {
  --btn-close-width: 1rem;
  --btn-close-height: 1rem;
  --btn-close-padding: 0;
  --btn-close-bg: transparent;
  --btn-close-bg-active: transparent;
  --btn-close-color: var(--color-black);
  --btn-close-transition: var(--transition);
  --btn-close-icon: url("../images/icons/close.svg");
  --btn-close-icon-color: var(--color-black);
  --btn-close-opacity: 0.5;
  --btn-close-opacity-active: 0.75;
  --btn-close-opacity-disabled: 0.25;
}

/*contrast mode*/
@media (prefers-contrast: more) {
  :root {
    --btn-close-bg: var(--color-contast-yellow);
    --btn-close-bg-active: var(--color-contast-white);
    --btn-close-color: var(--color-contast-black);
    --btn-close-icon-color: var(--color-contast-black);
    --btn-close-opacity: 1;
    --btn-close-opacity-active: 1;
    --btn-close-opacity-disabled: 1;
  }
}
.contrast-mode {
  --btn-close-bg: var(--color-contast-yellow);
  --btn-close-bg-active: var(--color-contast-white);
  --btn-close-color: var(--color-contast-black);
  --btn-close-icon-color: var(--color-contast-black);
  --btn-close-opacity: 1;
  --btn-close-opacity-active: 1;
  --btn-close-opacity-disabled: 1;
}

/*contrast mode end*/
.btn-close {
  --bs-btn-close-color: var(--btn-close-color);
  --bs-btn-close-bg: var(--btn-close-bg);
  --bs-btn-close-focus-shadow: none;
  --bs-btn-close-opacity: var(--btn-close-opacity);
  --bs-btn-close-hover-opacity: var(--btn-close-opacity-active);
  --bs-btn-close-focus-opacity: var(--btn-close-opacity-active);
  --bs-btn-close-disabled-opacity: var(--btn-close-opacity-disabled);
  width: var(--btn-close-width);
  height: var(--btn-close-height);
  padding: var(--btn-close-padding);
  background: var(--btn-close-bg);
  transition: var(--btn-close-transition);
}
.btn-close:is(:hover, :focus) {
  --btn-close-bg: var(--btn-close-bg-active);
}
.btn-close:before {
  content: "";
  display: block;
  width: var(--btn-close-width);
  height: var(--btn-close-height);
  background: var(--btn-close-icon-color);
  mask: var(--btn-close-icon) no-repeat center/contain;
  -webkit-mask: var(--btn-close-icon) no-repeat center/contain;
}

/*header*/
:root {
  --header-menu-background: transparent;
  /*menu item*/
  --header-menu-item-height: 2.5rem; /*40px*/
  --header-menu-item-padding: 0.625rem 1rem; /*10 16px*/
  --header-menu-item-size: 0.75rem; /*12px*/
  --header-menu-item-line-height: 1.2;
  --header-menu-item-weight: 700;
  --header-menu-item-color: var(--menu-color);
  --header-menu-item-color-active: var(--accent-color);
  --header-menu-item-opacity: 1;
  --header-menu-item-opacity-active: 1;
  /*menu dropdown*/
  --header-menu-dropdown-min-width: 250px;
  --header-menu-dropdown-max-width: 250px;
  --header-menu-dropdown-margin: 0;
  --header-menu-dropdown-padding: 0;
  --header-menu-dropdown-background: var(--color-white);
  --header-menu-dropdown-shadow: 0 4px 4px rgba(0, 0, 0, 0.04);
  /*menu dropdown item*/
  --header-menu-dropdown-item-padding: 0.875rem 0.5rem; /*14px 8px*/
  --header-menu-dropdown-item-size: 0.75rem; /*12px*/
  --header-menu-dropdown-line-height: 1.2;
  --header-menu-dropdown-item-weight: 700;
  --header-menu-dropdown-item-color: var(--menu-color);
  --header-menu-dropdown-item-color-active: var(--color-primary);
  --header-menu-dropdown-item-opacity: 1;
  --header-menu-dropdown-item-opacity-active: 1;
}

/*contrast mode*/
@media (prefers-contrast: more) {
  :root {
    --header-menu-background: transparent;
    /*menu item*/
    --header-menu-item-color: var(--color-contast-yellow);
    --header-menu-item-color-active: var(--color-contast-white);
    --header-menu-item-opacity: 1;
    --header-menu-item-opacity-active: 1;
    /*menu dropdown*/
    --header-menu-dropdown-background: var(--color-contast-black);
    --header-menu-dropdown-shadow: 0 0 0 1px var(--color-contast-white);
    /*menu dropdown item*/
    --header-menu-dropdown-item-color: var(--color-contast-yellow);
    --header-menu-dropdown-item-color-active: var(--color-contast-white);
    --header-menu-dropdown-item-opacity: 1;
    --header-menu-dropdown-item-opacity-active: 1;
  }
  .main-menu ul.menu-root a {
    text-decoration: underline !important;
  }
}
.contrast-mode {
  --header-menu-background: transparent;
  /*menu item*/
  --header-menu-item-color: var(--color-contast-yellow);
  --header-menu-item-color-active: var(--color-contast-white);
  --header-menu-item-opacity: 1;
  --header-menu-item-opacity-active: 1;
  /*menu dropdown*/
  --header-menu-dropdown-background: var(--color-contast-black);
  --header-menu-dropdown-shadow: 0 0 0 1px var(--color-contast-white);
  /*menu dropdown item*/
  --header-menu-dropdown-item-color: var(--color-contast-yellow);
  --header-menu-dropdown-item-color-active: var(--color-contast-white);
  --header-menu-dropdown-item-opacity: 1;
  --header-menu-dropdown-item-opacity-active: 1;
}
.contrast-mode .main-menu ul.menu-root a {
  text-decoration: underline !important;
}

/*contrast mode end*/
/*base menu style*/
.main-menu ul.menu-root {
  background: var(--header-menu-background);
}
.main-menu ul.menu-root > li > a {
  display: block;
  height: var(--header-menu-item-height);
  align-content: center;
  padding: var(--header-menu-item-padding);
  font-size: var(--header-menu-item-size);
  line-height: var(--header-menu-item-line-height);
  font-weight: var(--header-menu-item-weight);
  color: var(--header-menu-item-color);
  opacity: var(--header-menu-item-opacity);
  text-transform: uppercase;
  letter-spacing: 2%;
  position: relative;
}
.main-menu ul.menu-root > li > a::before {
  content: "";
  position: absolute;
  width: 1px;
  height: 10px;
  background-color: #f2e9d8;
  right: 0;
  bottom: 50%;
  transform: translateY(50%);
}
.main-menu ul.menu-root > li:last-child > a::before {
  content: none;
}
.main-menu ul.menu-root > li:is(.active, :hover, :focus, :focus-within) > a,
.main-menu ul.menu-root > li > a:is(:hover, :focus) {
  color: var(--header-menu-item-color-active);
  opacity: var(--header-menu-item-opacity-active);
}
.main-menu ul.menu-root li.has-dropdown .menu-dropdown {
  margin: var(--header-menu-dropdown-margin);
  padding: var(--header-menu-dropdown-padding);
  background: var(--header-menu-dropdown-background);
  box-shadow: var(--header-menu-dropdown-shadow);
}
.main-menu ul.menu-root li.has-dropdown .menu-dropdown li a {
  font-family: "Plus Jakarta Sans";
  font-style: Bold;
  letter-spacing: 2%;
  padding: var(--header-menu-dropdown-item-padding);
  font-size: var(--header-menu-dropdown-item-size);
  line-height: var(--header-menu-dropdown-line-height);
  font-weight: var(--header-menu-dropdown-item-weight);
  color: var(--header-menu-dropdown-item-color);
  opacity: var(--header-menu-dropdown-item-opacity);
}
.main-menu
  ul.menu-root
  li.has-dropdown
  .menu-dropdown
  li:is(.active, :hover, :focus)
  > a,
.main-menu
  ul.menu-root
  li.has-dropdown
  .menu-dropdown
  li
  > a:is(:hover, :focus, :focus-visible) {
  color: var(--header-menu-dropdown-item-color-active);
  opacity: var(--header-menu-dropdown-item-opacity-active);
}

/*desktop menu*/
@media only screen and (min-width: 992px) {
  .main-menu {
    /*live edit*/
  }
  .main-menu .menu-container:has(.liveedit) {
    padding-left: 80px;
  }
  .main-menu ul.menu-root li.has-dropdown {
    /*align dropdown menu header's bottom - gap fill*/
  }
  .main-menu ul.menu-root li.has-dropdown:after {
    content: "";
    display: none;
    width: var(--header-menu-dropdown-min-width);
    height: calc(
      (var(--header-navbar-height) - var(--header-menu-item-height)) / 2 + 2px
    );
    position: absolute;
    top: calc(100% - 1px);
    left: 0;
  }
  .main-menu ul.menu-root li.has-dropdown .menu-dropdown {
    display: block;
    width: -moz-max-content;
    width: max-content;
    min-width: var(--header-menu-dropdown-min-width);
    max-width: var(--header-menu-dropdown-max-width);
    opacity: 0;
    visibility: hidden;
    transition: var(--transition);
    /*align dropdown menu header's bottom*/
    transform: translateY(
      calc((var(--header-navbar-height) - var(--header-menu-item-height)) / 2)
    );
  }
  .main-menu
    ul.menu-root
    li.has-dropdown:is(:hover, :focus, :focus-within, :focus-visible) {
    /*align dropdown menu header's bottom - gap fill*/
  }
  .main-menu
    ul.menu-root
    li.has-dropdown:is(:hover, :focus, :focus-within, :focus-visible):after {
    display: block;
  }
  .main-menu
    ul.menu-root
    li.has-dropdown:is(:hover, :focus, :focus-within, :focus-visible)
    .menu-dropdown {
    opacity: 1;
    visibility: visible;
  }
  /*scrolled*/
  /*scrolled end*/
  /*with banner*/
  :not(.contrast-mode) body:not(.scrolled):has(.banner) {
    --header-menu-background: transparent;
    --header-menu-item-color: var(--color-white);
    --header-menu-item-color-active: var(--color-white);
    --header-menu-item-opacity: 0.8;
    --header-menu-item-opacity-active: 1;
  }
  /*with banner end*/
}
/*desktop menu*/
/*mobile menu*/
@media only screen and (max-width: 991px) {
  :root {
    --header-menu-background: var(--color-white);
    --header-menu-item-height: auto;
    --header-menu-item-padding: 0.5rem 0.875rem; /*8px 14px*/
    --header-menu-item-size: 0.875rem; /*14px*/
    --header-menu-line-height: 1.2;
    --header-menu-item-weight: 400;
    --header-menu-item-color: var(--color-primary);
    --header-menu-item-color-active: var(--color-primary-active);
    --header-menu-item-opacity: 1;
    --header-menu-item-opacity-active: 1;
    --header-menu-dropdown-min-width: 0;
    --header-menu-dropdown-max-width: none;
    --header-menu-dropdown-margin: 0;
    --header-menu-dropdown-padding: 0;
    --header-menu-dropdown-background: var(--color-white);
    --header-menu-dropdown-shadow: none;
    --header-menu-dropdown-item-padding: 0.5rem 0.875rem 0.5rem 1.5rem; /*8px 14px 8px 8px 32px*/
    --header-menu-dropdown-item-size: 0.875rem; /*14px*/
    --header-menu-dropdown-line-height: 1.2;
    --header-menu-dropdown-item-weight: 400;
    --header-menu-dropdown-item-color: var(--color-primary);
    --header-menu-dropdown-item-color-active: var(--color-primary-active);
    --header-menu-dropdown-item-opacity: 1;
    --header-menu-dropdown-item-opacity-active: 1;
  }
  .main-menu {
    display: block;
    width: 100vw;
    height: 0;
    max-height: calc(100vh - var(--header-height));
    max-height: calc(100dvh - var(--header-height));
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    overflow: auto;
    overscroll-behavior: contain; /*prevent page scroll when scrolling menu*/
    z-index: 1;
    /*live edit*/
  }
  .main-menu .menu-container:has(.liveedit) {
    padding-top: 30px;
  }
  .main-menu ul.menu-root > li {
    display: block;
  }
  .main-menu ul.menu-root > li > a {
    display: block;
    height: auto;
  }
  .main-menu ul.menu-root li.has-dropdown .menu-dropdown {
    display: block !important;
    width: 100%;
    position: static;
  }
  /*scrolled*/
  body.scrolled .main-menu {
    max-height: calc(100vh - var(--header-height-scrolled));
    max-height: calc(100dvh - var(--header-height-scrolled));
  }
  /*scrolled end*/
}
/*reduced motion mode*/
@media (prefers-reduced-motion: reduce) {
  .main-menu.active {
    height: auto !important;
  }
}
.reduced-animation-mode .main-menu.active {
  height: auto !important;
}

/*reduced motion mode end*/
/*contrast mode*/
@media only screen and (max-width: 991px) and (prefers-contrast: more) {
  :root {
    --header-menu-background: var(--color-contast-black);
    /*menu item*/
    --header-menu-item-color: var(--color-contast-yellow);
    --header-menu-item-color-active: var(--color-contast-white);
    --header-menu-item-opacity: 1;
    --header-menu-item-opacity-active: 1;
    /*menu dropdown*/
    --header-menu-dropdown-background: transparent;
    --header-menu-dropdown-shadow: none;
    /*menu dropdown item*/
    --header-menu-dropdown-item-color: var(--color-contast-yellow);
    --header-menu-dropdown-item-color-active: var(--color-contast-white);
    --header-menu-dropdown-item-opacity: 1;
    --header-menu-dropdown-item-opacity-active: 1;
  }
}
@media only screen and (max-width: 991px) {
  .contrast-mode {
    --header-menu-background: var(--color-contast-black);
    /*menu item*/
    --header-menu-item-color: var(--color-contast-yellow);
    --header-menu-item-color-active: var(--color-contast-white);
    --header-menu-item-opacity: 1;
    --header-menu-item-opacity-active: 1;
    /*menu dropdown*/
    --header-menu-dropdown-background: transparent;
    --header-menu-dropdown-shadow: none;
    /*menu dropdown item*/
    --header-menu-dropdown-item-color: var(--color-contast-yellow);
    --header-menu-dropdown-item-color-active: var(--color-contast-white);
    --header-menu-dropdown-item-opacity: 1;
    --header-menu-dropdown-item-opacity-active: 1;
  }
}
/*contrast mode end*/
/*mobile menu end*/
:root {
  --hamburger-color: var(--color-black);
  --hamburger-duration: var(--transition);
}

/*contrast mode*/
@media (prefers-contrast: more) {
  :root {
    --hamburger-color: var(--color-contast-yellow);
  }
}
.contrast-mode {
  --hamburger-color: var(--color-contast-yellow);
}

/*contrast mode end*/
.hamburger {
  padding: 0;
  display: inline-flex;
  align-items: center;
  height: 2rem;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: var(--hamburger-duration);
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible;
  /*hamburger slider*/
  /*hamburger slider end*/
}
.hamburger .hamburger-box {
  width: 2rem;
  height: 1.5rem;
  display: block;
  position: relative;
}
.hamburger .hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -2px;
}
.hamburger .hamburger-inner:before,
.hamburger .hamburger-inner:after {
  content: "";
  display: block;
}
.hamburger .hamburger-inner:before {
  top: -10px;
}
.hamburger .hamburger-inner:after {
  bottom: -10px;
}
.hamburger .hamburger-inner,
.hamburger .hamburger-inner:before,
.hamburger .hamburger-inner:after {
  width: 2rem;
  height: 2px;
  background-color: var(--hamburger-color);
  border-radius: 4px;
  position: absolute;
  transition-property: transform;
  transition-duration: var(--hamburger-duration);
  transition-timing-function: ease;
}
.hamburger:is(.active, :hover, :focus) {
  opacity: 0.7;
}
.hamburger.hamburger--slider .hamburger-inner {
  top: 2px;
}
.hamburger.hamburger--slider .hamburger-inner:before {
  top: 10px;
  transition-property: transform, opacity;
  transition-timing-function: ease;
  transition-duration: var(--hamburger-duration);
}
.hamburger.hamburger--slider .hamburger-inner:after {
  top: 20px;
}
.hamburger.hamburger--slider.active .hamburger-inner {
  transform: translate3d(0, 10px, 0) rotate(45deg);
}
.hamburger.hamburger--slider.active .hamburger-inner:before {
  transform: rotate(-45deg) translate3d(-5.71429px, -6px, 0);
  opacity: 0;
}
.hamburger.hamburger--slider.active .hamburger-inner:after {
  transform: translate3d(0, -20px, 0) rotate(-90deg);
}

.btn-header-scroll {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateY(-100%);
  z-index: 9999;
  opacity: 0;
}
.btn-header-scroll:focus,
.btn-header-scroll:active {
  top: calc(var(--header-height) / 2);
  transform: translateY(-50%);
  opacity: 1;
}

/*left side*/
:root {
  --side-menu-background: transparent;
  /*menu item*/
  --side-menu-item-height: 2.5rem; /*40px*/
  --side-menu-item-padding: 0 0.875rem; /*0 14px*/
  --side-menu-item-size: 0.875rem; /*14px*/
  --side-menu-item-line-height: 1.2;
  --side-menu-item-weight: 400;
  --side-menu-item-color: var(--color-primary);
  --side-menu-item-color-active: var(--color-primary-active);
  --side-menu-item-opacity: 1;
  --side-menu-item-opacity-active: 1;
  /*menu dropdown*/
  --side-menu-dropdown-display: block; /*set 'none' to hide*/
  --side-menu-dropdown-margin: 0;
  --side-menu-dropdown-padding: 0;
  --side-menu-dropdown-background: transparent;
  --side-menu-dropdown-shadow: none;
  /*menu dropdown item*/
  --side-menu-dropdown-min-width: 0; /*250px;*/
  --side-menu-dropdown-max-width: none; /*250px;*/
  --side-menu-dropdown-item-padding: 0.5rem 0.875rem 0.5rem 1.75rem; /*0 14px*/
  --side-menu-dropdown-item-size: 0.875rem; /*14px*/
  --side-menu-dropdown-line-height: 1.2;
  --side-menu-dropdown-item-weight: 400;
  --side-menu-dropdown-item-color: var(--color-primary);
  --side-menu-dropdown-item-color-active: var(--color-primary-active);
  --side-menu-dropdown-item-opacity: 1;
  --side-menu-dropdown-item-opacity-active: 1;
}

/*contrast mode*/
@media (prefers-contrast: more) {
  :root {
    --side-menu-background: transparent;
    /*menu item*/
    --side-menu-item-color: var(--color-contast-yellow);
    --side-menu-item-color-active: var(--color-contast-white);
    --side-menu-item-opacity: 1;
    --side-menu-item-opacity-active: 1;
    /*menu dropdown*/
    --side-menu-dropdown-background: transparent;
    --side-menu-dropdown-shadow: none;
    /*menu dropdown item*/
    --side-menu-dropdown-item-color: var(--color-contast-yellow);
    --side-menu-dropdown-item-color-active: var(--color-contast-white);
    --side-menu-dropdown-item-opacity: 1;
    --side-menu-dropdown-item-opacity-active: 1;
  }
  .left-side ul.menu-root a {
    text-decoration: underline !important;
  }
}
.contrast-mode {
  --side-menu-background: transparent;
  /*menu item*/
  --side-menu-item-color: var(--color-contast-yellow);
  --side-menu-item-color-active: var(--color-contast-white);
  --side-menu-item-opacity: 1;
  --side-menu-item-opacity-active: 1;
  /*menu dropdown*/
  --side-menu-dropdown-background: transparent;
  --side-menu-dropdown-shadow: none;
  /*menu dropdown item*/
  --side-menu-dropdown-item-color: var(--color-contast-yellow);
  --side-menu-dropdown-item-color-active: var(--color-contast-white);
  --side-menu-dropdown-item-opacity: 1;
  --side-menu-dropdown-item-opacity-active: 1;
}
.contrast-mode .left-side ul.menu-root a {
  text-decoration: underline !important;
}

/*contrast mode end*/
.left-side {
  /*mobile toggle button*/
}
.left-side ul.menu-root {
  background: var(--side-menu-background);
}
.left-side ul.menu-root > li > a {
  display: block;
  height: var(--side-menu-item-height);
  align-content: center;
  padding: var(--side-menu-item-padding);
  font-size: var(--side-menu-item-size);
  line-height: var(--side-menu-item-line-height);
  font-weight: var(--side-menu-item-weight);
  color: var(--side-menu-item-color);
  opacity: var(--side-menu-item-opacity);
}
.left-side ul.menu-root > li:is(.active, :hover, :focus, :focus-within) > a,
.left-side ul.menu-root > li > a:is(:hover, :focus) {
  color: var(--side-menu-item-color-active);
  opacity: var(--side-menu-item-opacity-active);
}
.left-side ul.menu-root li.has-dropdown .menu-dropdown {
  display: var(--side-menu-dropdown-display);
  min-width: var(--side-menu-dropdown-min-width);
  max-width: var(--side-menu-dropdown-max-width);
  margin: var(--side-menu-dropdown-margin);
  padding: var(--side-menu-dropdown-padding);
  background: var(--side-menu-dropdown-background);
  box-shadow: var(--side-menu-dropdown-shadow);
  position: static;
}
.left-side ul.menu-root li.has-dropdown .menu-dropdown li a {
  padding: var(--side-menu-dropdown-item-padding);
  font-size: var(--side-menu-dropdown-item-size);
  line-height: var(--side-menu-dropdown-line-height);
  font-weight: var(--side-menu-dropdown-item-weight);
  color: var(--side-menu-dropdown-item-color);
  opacity: var(--side-menu-dropdown-item-opacity);
}
.left-side
  ul.menu-root
  li.has-dropdown
  .menu-dropdown
  li:is(.active, :hover, :focus)
  > a,
.left-side
  ul.menu-root
  li.has-dropdown
  .menu-dropdown
  li
  > a:is(:hover, :focus, :focus-visible) {
  color: var(--side-menu-dropdown-item-color-active);
  opacity: var(--side-menu-dropdown-item-opacity-active);
}
/*footer*/
:root {
  --footer-menu-background: transparent;
  /*menu item*/
  --footer-menu-item-height: 2.5rem; /*40px*/
  --footer-menu-item-padding: 0 0.875rem; /*0 14px*/
  --footer-menu-item-size: 0.875rem; /*14px*/
  --footer-menu-item-line-height: 1.2;
  --footer-menu-item-weight: 400;
  --footer-menu-item-color: var(--color-primary);
  --footer-menu-item-color-active: var(--color-primary-active);
  --footer-menu-item-opacity: 1;
  --footer-menu-item-opacity-active: 1;
  /*menu dropdown*/
  --footer-menu-dropdown-display: block; /*set 'none' to hide*/
  --footer-menu-dropdown-margin: 0;
  --footer-menu-dropdown-padding: 0;
  --footer-menu-dropdown-background: transparent;
  --footer-menu-dropdown-shadow: none;
  /*menu dropdown item*/
  --footer-menu-dropdown-min-width: 0; /*250px;*/
  --footer-menu-dropdown-max-width: none; /*250px;*/
  --footer-menu-dropdown-item-padding: 0.5rem 0.875rem; /*0 14px*/
  --footer-menu-dropdown-item-size: 0.875rem; /*14px*/
  --footer-menu-dropdown-line-height: 1.2;
  --footer-menu-dropdown-item-weight: 400;
  --footer-menu-dropdown-item-color: var(--color-primary);
  --footer-menu-dropdown-item-color-active: var(--color-primary-active);
  --footer-menu-dropdown-item-opacity: 1;
  --footer-menu-dropdown-item-opacity-active: 1;
}

/*contrast mode*/
@media (prefers-contrast: more) {
  :root {
    --footer-menu-background: transparent;
    /*menu item*/
    --footer-menu-item-color: var(--color-contast-yellow);
    --footer-menu-item-color-active: var(--color-contast-white);
    --footer-menu-item-opacity: 1;
    --footer-menu-item-opacity-active: 1;
    /*menu dropdown*/
    --footer-menu-dropdown-background: transparent;
    --footer-menu-dropdown-shadow: none;
    /*menu dropdown item*/
    --footer-menu-dropdown-item-color: var(--color-contast-yellow);
    --footer-menu-dropdown-item-color-active: var(--color-contast-white);
    --footer-menu-dropdown-item-opacity: 1;
    --footer-menu-dropdown-item-opacity-active: 1;
  }
  .page-footer ul.menu-root a {
    text-decoration: underline !important;
  }
}
.contrast-mode {
  --footer-menu-background: transparent;
  /*menu item*/
  --footer-menu-item-color: var(--color-contast-yellow);
  --footer-menu-item-color-active: var(--color-contast-white);
  --footer-menu-item-opacity: 1;
  --footer-menu-item-opacity-active: 1;
  /*menu dropdown*/
  --footer-menu-dropdown-background: transparent;
  --footer-menu-dropdown-shadow: none;
  /*menu dropdown item*/
  --footer-menu-dropdown-item-color: var(--color-contast-yellow);
  --footer-menu-dropdown-item-color-active: var(--color-contast-white);
  --footer-menu-dropdown-item-opacity: 1;
  --footer-menu-dropdown-item-opacity-active: 1;
}
.contrast-mode .page-footer ul.menu-root a {
  text-decoration: underline !important;
}

/*contrast mode end*/
.page-footer ul.menu-root {
  display: flex;
  flex-wrap: wrap;
  align-items: top;
  background: var(--footer-menu-background);
}
.page-footer ul.menu-root > li > a {
  display: block;
  height: var(--footer-menu-item-height);
  align-content: center;
  padding: var(--footer-menu-item-padding);
  font-size: var(--footer-menu-item-size);
  line-height: var(--footer-menu-item-line-height);
  font-weight: var(--footer-menu-item-weight);
  color: var(--footer-menu-item-color);
  opacity: var(--footer-menu-item-opacity);
}
.page-footer ul.menu-root > li:is(.active, :hover, :focus, :focus-within) > a,
.page-footer ul.menu-root > li > a:is(:hover, :focus) {
  color: var(--footer-menu-item-color-active);
  opacity: var(--footer-menu-item-opacity-active);
}
.page-footer ul.menu-root li.has-dropdown .menu-dropdown {
  display: var(--footer-menu-dropdown-display);
  width: -moz-max-content;
  width: max-content;
  min-width: var(--footer-menu-dropdown-min-width);
  max-width: var(--footer-menu-dropdown-max-width);
  margin: var(--footer-menu-dropdown-margin);
  padding: var(--footer-menu-dropdown-padding);
  background: var(--footer-menu-dropdown-background);
  box-shadow: var(--footer-menu-dropdown-shadow);
  position: static;
}
.page-footer ul.menu-root li.has-dropdown .menu-dropdown li a {
  padding: var(--footer-menu-dropdown-item-padding);
  font-size: var(--footer-menu-dropdown-item-size);
  line-height: var(--footer-menu-dropdown-line-height);
  font-weight: var(--footer-menu-dropdown-item-weight);
  color: var(--footer-menu-dropdown-item-color);
  opacity: var(--footer-menu-dropdown-item-opacity);
}
.page-footer
  ul.menu-root
  li.has-dropdown
  .menu-dropdown
  li:is(.active, :hover, :focus)
  > a,
.page-footer
  ul.menu-root
  li.has-dropdown
  .menu-dropdown
  li
  > a:is(:hover, :focus, :focus-visible) {
  color: var(--footer-menu-dropdown-item-color-active);
  opacity: var(--footer-menu-dropdown-item-opacity-active);
}

:root {
  --btn-page-top-scroll-padding: 0.75rem; /*12px*/
  --btn-page-top-scroll-inset: auto 1.5rem 1.5rem auto; /*auto 24px 24px auto*/
  --btn-page-top-scroll-transition: var(--transition);
  --btn-page-top-scroll-icon: url("../images/icons/chevron.svg");
  --btn-page-top-scroll-icon-width: var(--btn-icon-width);
  --btn-page-top-scroll-icon-height: var(--btn-icon-height);
  --btn-page-top-scroll-icon-color: var(--btn-primary-text-color);
  --btn-page-top-scroll-icon-color-active: var(--btn-primary-text-color-active);
  --btn-page-top-scroll-icon-transform: rotate(-90deg);
}

.btn-page-top-scroll {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: var(--btn-page-top-scroll-padding);
  position: fixed;
  inset: var(--btn-page-top-scroll-inset);
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  transition: var(--btn-page-top-scroll-transition);
}
.btn-page-top-scroll:before {
  content: "";
  display: inline-block;
  width: var(--btn-page-top-scroll-icon-width);
  height: var(--btn-page-top-scroll-icon-height);
  background: var(--btn-page-top-scroll-icon-color);
  mask: var(--btn-page-top-scroll-icon) no-repeat center/contain;
  -webkit-mask: var(--btn-page-top-scroll-icon) no-repeat center/contain;
  transform: var(--btn-page-top-scroll-icon-transform);
}
.btn-page-top-scroll:is(.active, :hover, :focus, :active):before {
  background: var(--btn-page-top-scroll-icon-color-active);
}

.scrolled .btn-page-top-scroll {
  opacity: 1;
  visibility: visible;
}

@media only screen and (max-width: 991px) {
  :root {
    --btn-page-top-scroll-padding: 0.625rem; /*10px*/
    --btn-page-top-scroll-inset: auto 0.25rem 0.25rem auto; /*auto 4px 4px auto*/
    --btn-page-top-scroll-icon-width: 1rem; /*16px*/
    --btn-page-top-scroll-icon-height: 1rem; /*16px*/
  }
  .a11y-options .btn .a11y-options-btn-icon sup {
    margin-left: -0.4rem;
  }
}
/*components*/
:root {
  /*gallery*/
  --gallery-items-per-row: 4;
  --gallery-gap: 1.5rem;
  /*gallery image*/
  --gallery-image-radius: var(--radius);
  /*gallery image name*/
  --gallery-image-name-display: block;
  --gallery-image-name-size: 0.75rem;
  --gallery-image-name-weight: 400;
  --gallery-image-name-color: var(--color-primary);
  --gallery-image-name-padding: 0.75rem;
}

/*contrast mode*/
@media (prefers-contrast: more) {
  :root {
    --gallery-image-name-color: var(--color-contast-yellow);
  }
}
.contrast-mode {
  --gallery-image-name-color: var(--color-contast-yellow);
}

/*contrast mode end*/
.gallery-grid {
  display: flex;
  flex-wrap: wrap;
  margin: calc(var(--gallery-gap) / -2);
}
.gallery-grid .gallery-item {
  flex: 0 0 calc(100% / var(--gallery-items-per-row));
  padding: calc(var(--gallery-gap) / 2);
}

.gallery-image-container {
  display: block;
}
.gallery-image-container .gallery-image {
  border-radius: var(--gallery-image-radius);
}
.gallery-image-container .gallery-image picture {
  display: block;
}
.gallery-image-container .gallery-image img {
  display: block;
  width: 100%;
}
.gallery-image-container .gallery-image .gallery-name {
  display: var(--gallery-image-name-display);
  padding: var(--gallery-image-name-padding);
  font-size: var(--gallery-image-name-size);
  font-weight: var(--gallery-image-name-weight);
  color: var(--gallery-image-name-color);
}

/*breakpoint SM*/
@media only screen and (max-width: 767px) {
  :root {
    --gallery-items-per-row: 3;
  }
}
/*breakpoint SM end*/
/*breakpoint XS*/
@media only screen and (max-width: 575px) {
  :root {
    --gallery-items-per-row: 2;
  }
}
/*breakpoint XS end*/
:root {
  --pub-list-gutter: var(--column-gutter);
  --pub-list-gap: 60px; /*vertical gap between publications (.pub-list-item-container)*/
  /*pub list item*/
  --pub-list-item-display: flex;
  --pub-list-item-gap: 30px; /*gap between content and footer*/
  --pub-list-item-margin: 0;
  --pub-list-item-padding: 0;
  --pub-list-item-background: transparent;
  --pub-list-item-background-active: transparent;
  --pub-list-item-border: none;
  --pub-list-item-border-active: none;
  --pub-list-item-shadow: none; /*0 4px 4px rgba(0, 0, 0, 0);*/
  --pub-list-item-shadow-active: none; /*0 4px 4px rgba(0, 0, 0, .2);*/
  --pub-list-item-radius: 0; /*var(--radius);*/
  --pub-list-item-transition: var(--transition);
  /*pub list item image*/
  --pub-list-item-image-margin: 0 0 30px;
  --pub-list-item-image-aspect-ratio: auto;
  --pub-list-item-image-radius: var(--radius);
  /*pub list item title*/
  --pub-list-item-title-margin: var(--heading-margin);
  --pub-list-item-title-font-family: var(--heading-font-family);
  --pub-list-item-title-size: var(--h5);
  --pub-list-item-title-size-clamp: var(--h5-clamp);
  --pub-list-item-title-size-lh: var(--h5-lh);
  --pub-list-item-title-weight: var(--heading-weight);
  --pub-list-item-title-color: var(--heading-color);
  --pub-list-item-title-letter-spacing: var(--heading-letter-spacing);
  /*pub list item time*/
  --pub-list-item-time-font-family: var(--text-font-family);
  --pub-list-item-time-size: var(--text-size);
  --pub-list-item-time-size-clamp: var(--text-size-clamp);
  --pub-list-item-time-size-lh: var(--text-lh);
  --pub-list-item-time-weight: var(--text-weight);
  --pub-list-item-time-color: var(--text-color);
  --pub-list-item-time-letter-spacing: var(--text-letter-spacing);
  --pub-list-item-time-margin: var(--text-margin);
  /*pub list item description*/
  --pub-list-item-description-margin: 0;
  --pub-list-item-description-padding: 0;
  --pub-list-item-description-font-family: var(--text-font-family);
  --pub-list-item-description-size: var(--text-size);
  --pub-list-item-description-size-clamp: var(--text-size-clamp);
  --pub-list-item-description-size-lh: var(--text-lh);
  --pub-list-item-description-weight: var(--text-weight);
  --pub-list-item-description-color: var(--text-color);
  --pub-list-item-description-letter-spacing: var(--text-letter-spacing);
  --pub-list-item-description-margin: var(--text-margin);
}

/*contrast mode*/
@media (prefers-contrast: more) {
  :root {
    /*pub list item*/
    --pub-list-item-background: transparent;
    --pub-list-item-background-active: transparent;
    --pub-list-item-border: none;
    --pub-list-item-border-active: none;
    --pub-list-item-shadow: none;
    --pub-list-item-shadow-active: none;
    /*pub list item title*/
    --pub-list-item-title-color: var(--heading-color);
    /*pub list item time*/
    --pub-list-item-time-color: var(--text-color);
    /*pub list item description*/
    --pub-list-item-description-color: var(--text-color);
  }
}
.contrast-mode {
  /*pub list item*/
  --pub-list-item-background: transparent;
  --pub-list-item-background-active: transparent;
  --pub-list-item-border: none;
  --pub-list-item-border-active: none;
  --pub-list-item-shadow: none;
  --pub-list-item-shadow-active: none;
  /*pub list item title*/
  --pub-list-item-title-color: var(--heading-color);
  /*pub list item time*/
  --pub-list-item-time-color: var(--text-color);
  /*pub list item description*/
  --pub-list-item-description-color: var(--text-color);
}

/*contrast mode end*/
.pub-list {
  --column-gutter: var(--pub-list-gutter);
  margin-top: calc(var(--pub-list-gap) * -1);
  /*pub list item*/
}
.pub-list-item-container {
  display: flex;
  margin-top: var(--pub-list-gap);
}
.pub-list-item {
  display: var(--pub-list-item-display);
  flex-direction: column;
  justify-content: space-between;
  flex: 1;
  margin: var(--pub-list-item-margin);
  padding: var(--pub-list-item-padding);
  background: var(--pub-list-item-background);
  border: var(--pub-list-item-border);
  border-radius: var(--pub-list-item-radius);
  box-shadow: var(--pub-list-item-shadow);
  /*pub list item image*/
  /*pub list item title*/
  /*pub list item time*/
  /*pub list item descripion*/
  /*pub list item read more button*/
  /*pub list item as anchor*/
}
.pub-list-item-image {
  display: block;
  margin: var(--pub-list-item-image-margin);
  border-radius: var(--pub-list-item-image-radius);
  position: relative;
  overflow: hidden;
}
.pub-list-item-image picture {
  display: block;
}
.pub-list-item-image img {
  display: block;
  width: 100%;
  aspect-ratio: var(--pub-list-item-image-aspect-ratio);
  -o-object-fit: cover;
  object-fit: cover;
}
.pub-list-item-title {
  font-family: var(--pub-list-item-title-font-family);
  font-size: var(--pub-list-item-title-size);
  font-size: var(--pub-list-item-title-size-clamp);
  line-height: var(--pub-list-item-title-size-lh);
  font-weight: var(--pub-list-item-title-weight);
  color: var(--pub-list-item-title-color);
  letter-spacing: var(--pub-list-item-title-letter-spacing);
  margin: var(--pub-list-item-title-margin);
}
.pub-list-item-time {
  display: block;
  font-family: var(--pub-list-item-time-font-family);
  font-size: var(--pub-list-item-time-size);
  font-size: var(--pub-list-item-time-size-clamp);
  line-height: var(--pub-list-item-time-size-lh);
  font-weight: var(--pub-list-item-time-weight);
  color: var(--pub-list-item-time-color);
  letter-spacing: var(--pub-list-item-time-letter-spacing);
  margin: var(--pub-list-item-time-margin);
}
.pub-list-item-description {
  margin: var(--pub-list-item-description-margin);
  padding: var(--pub-list-item-description-padding);
  font-family: var(--pub-list-item-description-font-family);
  font-size: var(--pub-list-item-description-size);
  font-size: var(--pub-list-item-description-size-clamp);
  line-height: var(--pub-list-item-description-size-lh);
  font-weight: var(--pub-list-item-description-weight);
  color: var(--pub-list-item-description-color);
  letter-spacing: var(--pub-list-item-description-letter-spacing);
}
.pub-list-item-description:last-child {
  margin-bottom: 0;
}
.pub-list-item:is(a) {
  transition: var(--pub-list-item-transition);
}
.pub-list-item:is(a):is(:hover, :focus) {
  --pub-list-item-background: var(--pub-list-item-background-active);
  --pub-list-item-border: var(--pub-list-item-border-active);
  --pub-list-item-shadow: var(--pub-list-item-shadow-active);
}

:root {
  --error-color: var(--bs-form-invalid-color);
  /*input*/
  --form-input-margin: 0 0 0.75rem;
  --form-input-padding: 14px 15px;
  --form-input-size: 0.875rem; /*14px*/
  --form-input-lh: 1.5;
  --form-input-weight: 400;
  --form-input-color: var(--color-black);
  --form-input-color-active: var(--color-black);
  --form-input-color-disabled: var(--color-accent-dark);
  --form-input-color-error: var(--color-black);
  --form-input-background: transparent;
  --form-input-background-active: var(--form-input-background);
  --form-input-background-disabled: var(--color-accent-light);
  --form-input-background-error: var(--form-input-background);
  --form-input-border-size: 1px;
  --form-input-border-color: var(--color-accent-light);
  --form-input-border-color-active: var(--color-accent-dark);
  --form-input-border-color-disabled: var(--color-accent-light);
  --form-input-border-color-error: var(--error-color);
  --form-input-radius: var(--radius);
  --form-input-shadow: none;
  --form-input-shadow-active: var(--form-input-shadow);
  --form-input-shadow-disabled: var(--form-input-shadow);
  --form-input-shadow-error: var(--form-input-shadow);
  --form-input-tranistion: var(--transition);
  /*placeholder*/
  --form-input-placeholder-color: var(--color-accent);
  --form-input-placeholder-color-active: var(--color-accent);
  --form-input-placeholder-color-disabled: var(--color-accent);
  --form-input-placeholder-color-error: var(--color-accent);
  /*label*/
  --form-label-display: block;
  --form-label-size: 0.875rem; /*14px*/
  --form-input-lh: 1.5;
  --form-label-weight: 400;
  --form-label-color: var(--color-accent);
  --form-label-color-active: var(--color-black);
  --form-label-color-disabled: var(--color-accent);
  --form-label-color-error: var(--error-color);
  --form-label-margin: 0 0 0.75rem;
  --form-label-padding: 0;
  /*field description*/
  --form-description-size: 0.875rem; /*14px*/
  --form-description-lh: 1.125rem; /*18px*/
  --form-description-weight: 400;
  --form-description-color: var(--color-accent);
  --form-description-margin: 0.5rem 0 0;
  /*textarea*/
  --form-textarea-min-height: calc(4lh + 30px); /*4 line tekstu + padding*/
}

/*contrast mode*/
@media (prefers-contrast: more) {
  :root {
    --error-color: var(--color-contast-yellow);
    /*input*/
    --form-input-color: var(--color-contast-white);
    --form-input-color-active: var(--color-contast-white);
    --form-input-color-disabled: var(--color-contast-black);
    --form-input-color-error: var(--color-contast-white);
    --form-input-background: var(--color-contast-black);
    --form-input-background-active: var(--form-input-background);
    --form-input-background-disabled: var(--color-contast-gray);
    --form-input-background-error: var(--form-input-background);
    --form-input-border-color: var(--color-contast-white);
    --form-input-border-color-active: var(--color-contast-yellow);
    --form-input-border-color-disabled: var(--color-contast-gray);
    --form-input-border-color-error: var(--error-color);
    --form-input-radius: var(--radius);
    --form-input-shadow: none;
    --form-input-shadow-active: var(--form-input-shadow);
    --form-input-shadow-disabled: var(--form-input-shadow);
    --form-input-shadow-error: var(--form-input-shadow);
    /*placeholder*/
    --form-input-placeholder-color: var(--color-contast-gray);
    --form-input-placeholder-color-active: var(--color-contast-gray);
    --form-input-placeholder-color-disabled: var(--color-contast-gray);
    --form-input-placeholder-color-error: var(--color-contast-gray);
    /*label*/
    --form-label-color: var(--color-contast-white);
    --form-label-color-active: var(--color-contast-yellow);
    --form-label-color-disabled: var(--color-contast-gray);
    --form-label-color-error: var(--error-color);
    /*field description*/
    --form-description-color: var(--color-contast-white);
  }
}
.contrast-mode {
  --error-color: var(--color-contast-yellow);
  /*input*/
  --form-input-color: var(--color-contast-white);
  --form-input-color-active: var(--color-contast-white);
  --form-input-color-disabled: var(--color-contast-black);
  --form-input-color-error: var(--color-contast-white);
  --form-input-background: var(--color-contast-black);
  --form-input-background-active: var(--form-input-background);
  --form-input-background-disabled: var(--color-contast-gray);
  --form-input-background-error: var(--form-input-background);
  --form-input-border-color: var(--color-contast-white);
  --form-input-border-color-active: var(--color-contast-yellow);
  --form-input-border-color-disabled: var(--color-contast-gray);
  --form-input-border-color-error: var(--error-color);
  --form-input-radius: var(--radius);
  --form-input-shadow: none;
  --form-input-shadow-active: var(--form-input-shadow);
  --form-input-shadow-disabled: var(--form-input-shadow);
  --form-input-shadow-error: var(--form-input-shadow);
  /*placeholder*/
  --form-input-placeholder-color: var(--color-contast-white);
  --form-input-placeholder-color-active: var(--color-contast-white);
  --form-input-placeholder-color-disabled: var(--color-contast-black);
  --form-input-placeholder-color-error: var(--color-contast-white);
  /*label*/
  --form-label-color: var(--color-contast-white);
  --form-label-color-active: var(--color-contast-yellow);
  --form-label-color-disabled: var(--color-contast-gray);
  --form-label-color-error: var(--error-color);
  /*field description*/
  --form-description-color: var(--color-contast-white);
}

/*contrast mode end*/
/*form group*/
.form-group {
  margin: var(--form-input-margin);
  /*label*/
  /*label end*/
  /*input*/
  /*input end*/
  /*textarea*/
  /*textarea end*/
  /*field description*/
  /*field description end*/
  /*input focus*/
  /*input focus end*/
  /*disabled*/
  /*disabled end*/
  /*error*/
  /*error end*/
}
.form-group > label {
  display: var(--form-label-display);
  margin: var(--form-label-margin);
  padding: var(--form-label-padding);
  font-size: var(--form-label-size);
  line-height: var(--form-label-lh);
  font-weight: var(--form-label-weight);
  color: var(--form-label-color);
}
.form-group .form-control {
  padding: var(--form-input-padding);
  background: var(--form-input-background);
  border: var(--form-input-border-size) solid var(--form-input-border-color);
  border-radius: var(--form-input-radius);
  box-shadow: var(--form-input-shadow);
  font-size: var(--form-input-size);
  line-height: var(--form-input-lh);
  color: var(--form-input-color);
  transition: var(--form-input-tranistion);
  /*placeholder*/
  /*placeholder end*/
}
.form-group .form-control::-moz-placeholder {
  color: var(--form-input-placeholder-color);
  opacity: 1;
}
.form-group .form-control::placeholder {
  color: var(--form-input-placeholder-color);
  opacity: 1;
}
.form-group .form-control:-ms-input-placeholder {
  color: var(--form-input-placeholder-color);
}
.form-group .form-control::-ms-input-placeholder {
  color: var(--form-input-placeholder-color);
}
.form-group textarea.form-control {
  min-height: var(--form-textarea-min-height);
}
.form-group .help-block {
  margin: var(--form-description-margin);
  font-size: var(--form-description-size);
  line-height: var(--form-description-lh);
  font-weight: var(--form-description-weight);
  color: var(--form-description-color);
}
.form-group:has(.form-control:not([disabled]):is(:focus, :focus-within)) {
  --form-input-color: var(--form-input-color-active);
  --form-input-background: var(--form-input-background-active);
  --form-input-border-color: var(--form-input-border-color-active);
  --form-input-shadow: var(--form-input-shadow-active);
  --form-input-placeholder-color: var(--form-input-placeholder-color-active);
  --form-label-color: var(--form-label-color-active);
}
.form-group:has(.form-control[disabled]) {
  --form-input-color: var(--form-input-color-disabled);
  --form-input-background: var(--form-input-background-disabled);
  --form-input-border-color: var(--form-input-border-color-disabled);
  --form-input-shadow: var(--form-input-shadow-disabled);
  --form-input-placeholder-color: var(--form-input-placeholder-color-disabled);
  --form-label-color: var(--form-label-color-disabled);
}
.form-group.has-error:has(.form-control:not([disabled])) {
  --form-input-color: var(--form-input-color-error);
  --form-input-background: var(--form-input-background-error);
  --form-input-placeholder-color: var(--form-input-placeholder-color-error);
  --form-label-color: var(--form-label-color-error);
}
.form-group.has-error:has(.form-control:not([disabled])).has-error:has(
    .form-control:not(:is(:focus, :focus-within))
  ) {
  --form-input-border-color: var(--form-input-border-color-error);
  --form-input-shadow: var(--form-input-shadow-error);
}

:root {
  --form-select-check-gap: 15px;
  --form-select-check-position-top: 50%;
  --form-select-check-position-right: 15px;
  --form-select-check-transform: translateY(-50%) rotate(90deg);
  --form-select-check-size: 0.875rem;
  --form-select-check-icon: url("../images/icons/chevron.svg");
  --form-select-check-color: var(--color-primary);
  --form-select-check-color-active: var(--form-select-check-color);
  --form-select-check-color-disabled: var(--color-accent);
  --form-select-check-color-error: var(--error-color);
  --form-select-option-size: 0.875rem; /*14px*/
  --form-select-option-lh: 1.5;
  --form-select-option-weight: 400;
  --form-select-option-color: var(--color-black);
  --form-select-option-color-active: var(--color-white);
  --form-select-option-background: var(--color-white);
  --form-select-option-background-active: var(--color-primary);
}

/*contrast mode*/
@media (prefers-contrast: more) {
  :root {
    --form-select-check-color: var(--color-contast-yellow);
    --form-select-check-color-active: var(--form-select-check-color);
    --form-select-check-color-disabled: var(--color-contast-gray);
    --form-select-check-color-error: var(--error-color);
    --form-select-option-color: var(--color-contast-black);
    --form-select-option-color-active: var(--color-contast-black);
    --form-select-option-background: var(--color-contast-white);
    --form-select-option-background-active: var(--color-contast-yellow);
  }
}
.contrast-mode {
  --form-select-check-color: var(--color-contast-yellow);
  --form-select-check-color-active: var(--form-select-check-color);
  --form-select-check-color-disabled: var(--color-contast-gray);
  --form-select-check-color-error: var(--error-color);
  --form-select-option-color: var(--color-contast-black);
  --form-select-option-color-active: var(--color-contast-black);
  --form-select-option-background: var(--color-contast-white);
  --form-select-option-background-active: var(--color-contast-yellow);
}

/*contrast mode end*/
/*select*/
.form-control-type-select .select {
  position: relative;
  /*input focus*/
  /*input focus end*/
  /*disabled*/
  /*disabled end*/
  /*error*/
  /*error end*/
}
.form-control-type-select .select select {
  padding-right: calc(
    var(--form-select-check-gap) + var(--form-select-check-size) +
      var(--form-select-check-position-right)
  );
}
.form-control-type-select .select select option {
  background: var(--form-select-option-background);
  font-size: var(--form-select-option-size);
  line-height: var(--form-select-option-lh);
  font-weight: var(--form-select-option-weight);
  color: var(--form-select-option-color);
}
.form-control-type-select
  .select
  select
  option:is(:checked, :hover, :focus, :focus-visible) {
  --form-select-option-background: var(--form-select-option-background-active);
  --form-select-option-color: var(--form-select-option-color-active);
}
.form-control-type-select .select:after {
  content: "";
  display: inline-block;
  width: var(--form-select-check-size);
  height: var(--form-select-check-size);
  background: var(--form-select-check-color);
  mask: var(--form-select-check-icon) no-repeat center/contain;
  -webkit-mask: var(--form-select-check-icon) no-repeat center/contain;
  position: absolute;
  top: var(--form-select-check-position-top);
  right: var(--form-select-check-position-right);
  transform: var(--form-select-check-transform);
  pointer-events: none;
}
.form-control-type-select
  .select:has(select:not([disabled]):is(:focus, :focus-within)) {
  --form-select-check-color: var(--form-select-check-color-active);
}
.form-control-type-select .select:has(select[disabled]) {
  --form-select-check-color: var(--form-select-check-color-disabled);
}
.form-control-type-select .select.has-error:has(selectl:not([disabled])) {
  --form-select-check-color: var(--form-select-check-color-error);
}

/*select end*/
:root {
  --form-file-input-gap: calc(
    (var(--form-input-border-size) + var(--btn-radius)) * -1
  ); /*calc(var(--form-input-border-size) * -1);*/
  --form-file-btn-gap: 0;
  --form-file-btn-padding: var(--form-input-padding);
  --form-file-btn-size: 0.875rem; /*14px*/
  --form-file-btn-lh: 0.875rem; /*14px*/
  --form-file-btn-weight: 400;
  --form-file-btn-radius: var(--btn-radius) 0 0 var(--btn-radius);
  --form-file-btn-bg: var(--btn-primary-bg);
  --form-file-btn-bg-active: var(--btn-primary-bg-active);
  --form-file-btn-border-color: var(--btn-primary-border-color);
  --form-file-btn-border-color-active: var(--btn-primary-border-color-active);
  --form-file-btn-text-color: var(--btn-primary-text-color);
  --form-file-btn-text-color-active: var(--btn-primary-text-color-active);
  --form-file-btn-remove-padding: var(--form-input-padding);
  --form-file-btn-remove-size: 2rem; /*32px*/
  --form-file-btn-remove-lh: 0.875rem; /*14px*/
  --form-file-btn-remove-weight: 400;
  --form-file-btn-remove-radius: 0 var(--btn-radius) var(--btn-radius) 0;
  --form-file-btn-remove-aspect-ratio: 1;
  --form-file-btn-remove-bg: #dc3545; /*var(--bs-btn-bg);*/
  --form-file-btn-remove-bg-active: #bb2d3b; /*var(--bs-btn-hover-bg);*/
  --form-file-btn-remove-border-color: #dc3545; /*-var(--bs-btn-border-color);*/
  --form-file-btn-remove-border-color-active: #a52834; /*var(--bs-btn-hover-border-color);*/
  --form-file-btn-remove-text-color: var(--color-white);
  --form-file-btn-remove-text-color-active: var(--color-white);
}

/*contrast mode*/
@media (prefers-contrast: more) {
  :root {
    --form-file-btn-bg: var(--btn-primary-bg);
    --form-file-btn-bg-active: var(--btn-primary-bg-active);
    --form-file-btn-border-color: var(--btn-primary-border-color);
    --form-file-btn-border-color-active: var(--btn-primary-border-color-active);
    --form-file-btn-text-color: var(--btn-primary-text-color);
    --form-file-btn-text-color-active: var(--btn-primary-text-color-active);
    --form-file-btn-remove-bg: var(--color-contast-black);
    --form-file-btn-remove-bg-active: var(--color-contast-white);
    --form-file-btn-remove-border-color: var(--color-contast-yellow);
    --form-file-btn-remove-border-color-active: var(--color-contast-yellow);
    --form-file-btn-remove-text-color: var(--color-contast-yellow);
    --form-file-btn-remove-text-color-active: var(--color-contast-black);
  }
}
.contrast-mode {
  --form-file-btn-bg: var(--btn-primary-bg);
  --form-file-btn-bg-active: var(--btn-primary-bg-active);
  --form-file-btn-border-color: var(--btn-primary-border-color);
  --form-file-btn-border-color-active: var(--btn-primary-border-color-active);
  --form-file-btn-text-color: var(--btn-primary-text-color);
  --form-file-btn-text-color-active: var(--btn-primary-text-color-active);
  --form-file-btn-remove-bg: var(--color-contast-black);
  --form-file-btn-remove-bg-active: var(--color-contast-white);
  --form-file-btn-remove-border-color: var(--color-contast-yellow);
  --form-file-btn-remove-border-color-active: var(--color-contast-yellow);
  --form-file-btn-remove-text-color: var(--color-contast-yellow);
  --form-file-btn-remove-text-color-active: var(--color-contast-black);
}

/*contrast mode end*/
/*file*/
.form-control-type-file .input-group {
  /*input focus*/
  /*input focus end*/
  /*disabled*/
  /*disabled end*/
  /*error*/
  /*error end*/
}
.form-control-type-file .input-group .input-group-append {
  gap: var(--form-file-btn-gap);
  margin-left: var(--form-file-input-gap) !important;
  /*position: relative;*/
  z-index: 5;
}
.form-control-type-file .input-group .input-group-append .btn-file {
  display: flex;
  align-items: center;
  padding: var(--form-file-btn-padding);
  font-size: var(--form-file-btn-size);
  line-height: var(--form-file-btn-lh);
  font-weight: var(--form-file-btn-weight);
  border-radius: var(--form-file-btn-radius);
  background: var(--form-file-btn-bg);
  border-color: var(--form-file-btn-border-color);
  color: var(--form-file-btn-text-color);
}
.form-control-type-file
  .input-group
  .input-group-append
  .btn-file:is(:hover, :focus, .active) {
  background: var(--form-file-btn-bg-active);
  border-color: var(--form-file-btn-border-color-active);
  color: var(--form-file-btn-text-color-active);
}
.form-control-type-file .input-group .input-group-append .btn-danger {
  display: flex;
  align-items: center;
  padding: var(--form-file-btn-remove-padding);
  font-size: var(--form-file-btn-remove-size);
  line-height: var(--form-file-btn-remove-lh);
  font-weight: var(--form-file-btn-remove-weight);
  border-radius: var(--form-file-btn-remove-radius);
  aspect-ratio: var(--form-file-btn-remove-aspect-ratio);
  background: var(--form-file-btn-remove-bg);
  border-color: var(--form-file-btn-remove-border-color);
  color: var(--form-file-btn-remove-text-color);
}
.form-control-type-file
  .input-group
  .input-group-append
  .btn-danger
  .fa-times:before {
  color: var(--form-file-btn-remove-text-color);
}
.form-control-type-file
  .input-group
  .input-group-append
  .btn-danger:is(:hover, :focus, .active) {
  background: var(--form-file-btn-remove-bg-active);
  border-color: var(--form-file-btn-remove-border-color-active);
  color: var(--form-file-btn-remove-text-color-active);
}
.form-control-type-file
  .input-group
  .input-group-append
  .btn-danger:is(:hover, :focus, .active)
  .fa-times:before {
  color: var(--form-file-btn-remove-text-color-active);
}
.form-control-type-file
  .input-group:has(
    input[type="file"]:not([disabled]):is(:focus, :focus-within)
  ) {
  --form-input-color: var(--form-input-color-active);
  --form-input-background: var(--form-input-background-active);
  --form-input-border-color: var(--form-input-border-color-active);
  --form-input-shadow: var(--form-input-shadow-active);
  --form-input-placeholder-color: var(--form-input-placeholder-color-active);
  --form-label-color: var(--form-label-color-active);
}
.form-control-type-file .input-group:has(input[type="file"][disabled]) {
  --form-input-color: var(--form-input-color-disabled);
  --form-input-background: var(--form-input-background-disabled);
  --form-input-border-color: var(--form-input-border-color-disabled);
  --form-input-shadow: var(--form-input-shadow-disabled);
  --form-input-placeholder-color: var(--form-input-placeholder-color-disabled);
  --form-label-color: var(--form-label-color-disabled);
}
.form-control-type-file
  .input-group.has-error:has(input[type="file"]:not([disabled])) {
  --form-input-color: var(--form-input-color-error);
  --form-input-background: var(--form-input-background-error);
  --form-input-placeholder-color: var(--form-input-placeholder-color-error);
  --form-label-color: var(--form-label-color-error);
}
.form-control-type-file
  .input-group.has-error:has(input[type="file"]:not([disabled])).has-error:has(
    input[type="file"]:not(:is(:focus, :focus-within))
  ) {
  --form-input-border-color: var(--form-input-border-color-error);
  --form-input-shadow: var(--form-input-shadow-error);
}

/*file end*/
:root {
  /*captcha*/
  --recaptcha-badge-visibility: visible;
}

/*captcha*/
.captcha-control .captcha-container {
  /*input focus*/
  /*input focus end*/
  /*disabled*/
  /*disabled end*/
  /*error*/
  /*error end*/
}
.captcha-control .captcha-container .image-container {
  border-color: var(--form-input-border-color);
  border-radius: var(--form-input-radius) var(--form-input-radius) 0 0;
  transition: var(--form-input-tranistion);
}
.captcha-control .captcha-container input {
  padding: var(--form-input-padding);
  border-width: var(--form-input-border-size);
  border-color: var(--form-input-border-color);
  border-radius: 0 0 var(--form-input-radius) var(--form-input-radius);
  box-shadow: var(--form-input-shadow);
  font-size: var(--form-input-size);
  line-height: var(--form-input-lh);
  color: var(--form-input-color);
  transition: var(--form-input-tranistion);
  /*placeholder*/
  /*placeholder end*/
}
.captcha-control .captcha-container input::-moz-placeholder {
  color: var(--form-input-placeholder-color);
  opacity: 1;
}
.captcha-control .captcha-container input::placeholder {
  color: var(--form-input-placeholder-color);
  opacity: 1;
}
.captcha-control .captcha-container input:-ms-input-placeholder {
  color: var(--form-input-placeholder-color);
}
.captcha-control .captcha-container input::-ms-input-placeholder {
  color: var(--form-input-placeholder-color);
}
.captcha-control
  .captcha-container:has(input:not([disabled]):is(:focus, :focus-within)) {
  --form-input-color: var(--form-input-color-active);
  --form-input-background: var(--form-input-background-active);
  --form-input-border-color: var(--form-input-border-color-active);
  --form-input-shadow: var(--form-input-shadow-active);
  --form-input-placeholder-color: var(--form-input-placeholder-color-active);
  --form-label-color: var(--form-label-color-active);
}
.captcha-control .captcha-container:has(input[disabled]) {
  --form-input-color: var(--form-input-color-disabled);
  --form-input-background: var(--form-input-background-disabled);
  --form-input-border-color: var(--form-input-border-color-disabled);
  --form-input-shadow: var(--form-input-shadow-disabled);
  --form-input-placeholder-color: var(--form-input-placeholder-color-disabled);
  --form-label-color: var(--form-label-color-disabled);
}
.captcha-control .captcha-container.has-error:has(input:not([disabled])) {
  --form-input-color: var(--form-input-color-error);
  --form-input-background: var(--form-input-background-error);
  --form-input-placeholder-color: var(--form-input-placeholder-color-error);
  --form-label-color: var(--form-label-color-error);
}
.captcha-control
  .captcha-container.has-error:has(input:not([disabled])).has-error:has(
    input:not(:is(:focus, :focus-within))
  ) {
  --form-input-border-color: var(--form-input-border-color-error);
  --form-input-shadow: var(--form-input-shadow-error);
}

/*captcha end*/
/*reCaptcha v3 badge*/
.grecaptcha-badge {
  visibility: var(--recaptcha-badge-visibility);
}

/*captcha end*/
:root {
  /*checkbox*/
  --form-checkbox-size: 0.875rem; /*14px*/
  --form-checkbox-lh: 1.125rem; /*18px*/
  --form-checkbox-weight: 400;
  --form-checkbox-color: var(--color-accent);
  --form-checkbox-color-active: var(--form-checkbox-color);
  --form-checkbox-color-checked: var(--form-checkbox-color);
  --form-checkbox-color-disabled: var(--color-accent);
  --form-checkbox-color-error: var(--error-color);
  --form-checkbox-transition: var(--transition);
  --form-checkbox-check-size: 1.125rem; /*18px*/
  --form-checkbox-check-gap: 0.75rem; /*12px*/
  --form-checkbox-check-radius: var(--radius);
  --form-checkbox-check-background: transparent;
  --form-checkbox-check-background-active: var(
    --form-checkbox-check-background
  );
  --form-checkbox-check-background-checked: var(--color-primary);
  --form-checkbox-check-background-disabled: var(--color-accent-light);
  --form-checkbox-check-background-error: var(
    --form-checkbox-check-background
  ); /*var(--error-color);*/
  --form-checkbox-check-outline-focus-color: rgb(
    from var(--form-checkbox-check-background-active) r g b / 60%
  );
  --form-checkbox-check-border-size: 1px;
  --form-checkbox-check-border-color: var(--color-accent);
  --form-checkbox-check-border-color-active: var(--color-accent-dark);
  --form-checkbox-check-border-color-checked: var(--color-primary);
  --form-checkbox-check-border-color-disabled: var(--color-accent-light);
  --form-checkbox-check-border-color-error: var(--error-color);
  --form-checkbox-check-icon: url("../images/icons/check.svg");
  --form-checkbox-check-icon-size: 0.75rem; /*12px*/
  --form-checkbox-check-icon-color: var(--color-white);
  --form-checkbox-check-icon-color-active: var(
    --form-checkbox-check-icon-color
  );
  --form-checkbox-check-icon-color-checked: var(
    --form-checkbox-check-icon-color
  );
  --form-checkbox-check-icon-color-disabled: var(
    --form-checkbox-check-icon-color
  );
  --form-checkbox-check-icon-color-error: var(--form-checkbox-check-icon-color);
  --form-checkbox-check-icon-opacity: 0;
  --form-checkbox-check-icon-opacity-active: 1;
}

/*contrast mode*/
@media (prefers-contrast: more) {
  :root {
    /*checkbox*/
    --form-checkbox-color: var(--color-contast-white);
    --form-checkbox-color-active: var(--color-contast-white);
    --form-checkbox-color-checked: var(--color-contast-white);
    --form-checkbox-color-disabled: var(--color-contast-gray);
    --form-checkbox-color-error: var(--error-color);
    --form-checkbox-check-background: transparent;
    --form-checkbox-check-background-active: var(
      --form-checkbox-check-background
    );
    --form-checkbox-check-background-checked: var(--color-contast-yellow);
    --form-checkbox-check-background-disabled: var(--color-contast-gray);
    --form-checkbox-check-background-error: var(
      --form-checkbox-check-background
    ); /*var(--error-color);*/
    --form-checkbox-check-outline-focus-color: var(--color-contast-black);
    --form-checkbox-check-border-color: var(--color-contast-white);
    --form-checkbox-check-border-color-active: var(--color-contast-yellow);
    --form-checkbox-check-border-color-checked: var(--color-contast-yellow);
    --form-checkbox-check-border-color-disabled: var(--color-contast-gray);
    --form-checkbox-check-border-color-error: var(--error-color);
    --form-checkbox-check-icon-color: var(--color-contast-black);
    --form-checkbox-check-icon-color-active: var(
      --form-checkbox-check-icon-color
    );
    --form-checkbox-check-icon-color-checked: var(
      --form-checkbox-check-icon-color
    );
    --form-checkbox-check-icon-color-disabled: var(
      --form-checkbox-check-icon-color
    );
    --form-checkbox-check-icon-color-error: var(
      --form-checkbox-check-icon-color
    );
  }
}
.contrast-mode {
  /*checkbox*/
  --form-checkbox-color: var(--color-contast-white);
  --form-checkbox-color-active: var(--color-contast-white);
  --form-checkbox-color-checked: var(--color-contast-white);
  --form-checkbox-color-disabled: var(--color-contast-gray);
  --form-checkbox-color-error: var(--error-color);
  --form-checkbox-check-background: transparent;
  --form-checkbox-check-background-active: var(
    --form-checkbox-check-background
  );
  --form-checkbox-check-background-checked: var(--color-contast-yellow);
  --form-checkbox-check-background-disabled: var(--color-contast-gray);
  --form-checkbox-check-background-error: var(
    --form-checkbox-check-background
  ); /*var(--error-color);*/
  --form-checkbox-check-outline-focus-color: var(--color-contast-black);
  --form-checkbox-check-border-color: var(--color-contast-white);
  --form-checkbox-check-border-color-active: var(--color-contast-yellow);
  --form-checkbox-check-border-color-checked: var(--color-contast-yellow);
  --form-checkbox-check-border-color-disabled: var(--color-contast-gray);
  --form-checkbox-check-border-color-error: var(--error-color);
  --form-checkbox-check-icon-color: var(--color-contast-black);
  --form-checkbox-check-icon-color-active: var(
    --form-checkbox-check-icon-color
  );
  --form-checkbox-check-icon-color-checked: var(
    --form-checkbox-check-icon-color
  );
  --form-checkbox-check-icon-color-disabled: var(
    --form-checkbox-check-icon-color
  );
  --form-checkbox-check-icon-color-error: var(--form-checkbox-check-icon-color);
}

/*contrast mode end*/
/*checkbox*/
.form-group {
  /*input focus*/
  /*input focus end*/
  /*input checked*/
  /*input checked end*/
  /*disabled*/
  /*disabled end*/
  /*error*/
  /*error end*/
}
.form-group > .checkbox {
  /*hide original checkbox*/
}
.form-group > .checkbox > input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #fff;
  margin: 0;
}
.form-group > .checkbox > span {
  display: block;
  padding-left: calc(
    var(--form-checkbox-check-size) + var(--form-checkbox-check-gap)
  );
  font-size: var(--form-checkbox-size);
  line-height: var(--form-checkbox-lh);
  font-weight: var(--form-checkbox-weight);
  color: var(--form-checkbox-color);
  text-align: justify;
  position: relative;
  /*check*/
  /*check end*/
  /*checkmark*/
  /*checkmark end*/
}
.form-group > .checkbox > span:before {
  content: "";
  display: block;
  width: var(--form-checkbox-check-size);
  height: var(--form-checkbox-check-size);
  border: var(--form-checkbox-check-border-size) solid
    var(--form-checkbox-check-border-color);
  border-radius: var(--form-checkbox-check-radius);
  background: var(--form-checkbox-check-background);
  position: absolute;
  top: calc(var(--form-checkbox-size) * var(--form-checkbox-lh) / 2);
  top: 0.5lh;
  left: 0;
  transform: translateY(-50%);
  transition: var(--form-checkbox-transition);
}
.form-group > .checkbox > span:after {
  content: "";
  display: block;
  width: var(--form-checkbox-check-size);
  height: var(--form-checkbox-check-size);
  background: var(--form-checkbox-check-icon-color);
  mask: var(--form-checkbox-check-icon) no-repeat
    center/var(--form-checkbox-check-icon-size);
  -webkit-mask: var(--form-checkbox-check-icon) no-repeat
    center/var(--form-checkbox-check-icon-size);
  position: absolute;
  top: calc(var(--form-checkbox-size) * var(--form-checkbox-lh) / 2);
  top: 0.5lh;
  left: 0;
  transform: translateY(-50%);
  transition: var(--form-checkbox-transition);
  opacity: var(--form-checkbox-check-icon-opacity);
  transition: var(--form-checkbox-transition);
}
.form-group:has(input:not([disabled]):is(:focus, :focus-within)) {
  --form-checkbox-color: var(--form-checkbox-color-active);
  --form-checkbox-check-background: var(
    --form-checkbox-check-background-active
  );
  --form-checkbox-check-border-color: var(
    --form-checkbox-check-border-color-active
  );
  --form-checkbox-check-icon-color: var(
    --form-checkbox-check-icon-color-active
  );
}
.form-group:has(input:focus-visible) .checkbox input {
  outline: none;
}
.form-group:has(input:focus-visible) .checkbox > span:before {
  outline: 1px auto var(--form-checkbox-check-outline-focus-color);
}
.form-group:has(input:not([disabled]):checked) {
  --form-checkbox-color: var(--form-checkbox-color-active);
  --form-checkbox-check-background: var(
    --form-checkbox-check-background-checked
  );
  --form-checkbox-check-border-color: var(
    --form-checkbox-check-border-color-checked
  );
  --form-checkbox-check-icon-color: var(
    --form-checkbox-check-icon-color-checked
  );
  --form-checkbox-check-icon-opacity: var(
    --form-checkbox-check-icon-opacity-checked
  );
}
.form-group:has(input:not([disabled]):checked):has(
    input:is(:focus, :focus-within, :focus-visible)
  ) {
  --form-checkbox-color: var(--form-checkbox-color-active);
}
.form-group:has(input:not([disabled]):checked):has(input:focus-visible) {
  /*--form-checkbox-check-background: var(--form-checkbox-check-background-active);*/
  --form-checkbox-check-border-color: var(
    --form-checkbox-check-border-color-active
  );
  --form-checkbox-check-icon-color: var(
    --form-checkbox-check-icon-color-active
  );
}
.form-group:has(input[disabled]) {
  --form-checkbox-color: var(--form-checkbox-color-disabled);
  --form-checkbox-check-border-color: var(
    --form-checkbox-check-border-color-disabled
  );
  --form-checkbox-check-icon-color: var(
    --form-checkbox-check-icon-color-disabled
  );
}
.form-group:has(input[disabled]):has(input:checked) {
  --form-checkbox-check-background: var(
    --form-checkbox-check-background-disabled
  );
  --form-checkbox-check-icon-opacity: var(
    --form-checkbox-check-icon-opacity-active
  );
}
.form-group.has-error:has(input:not([disabled])) {
  --form-checkbox-color: var(--form-checkbox-color-error);
  --form-checkbox-check-background: var(--form-checkbox-check-background-error);
  --form-checkbox-check-border-color: var(
    --form-checkbox-check-border-color-error
  );
  --form-checkbox-check-icon-color: var(--form-checkbox-check-icon-color-error);
}

/*checkbox end*/
:root {
  /*invalid feedback*/
  --form-error-margin: 0.25rem; /*4px*/
  --form-error-padding: 0;
  --form-error-background: transparent;
  --form-error-border: none;
  --form-error-radius: 0; /*var(--radius)*/
  --form-error-size: 0.75rem; /*12px*/
  --form-error-lh: 1rem; /*16px*/
  --form-error-weight: 400;
  --form-error-color: var(--error-color);
}

/*invalid feedback*/
.invalid-feedback {
  display: block;
  margin: var(--form-error-margin);
  padding: var(--form-error-padding);
  background: var(--form-error-background);
  border: var(--form-error-border);
  border-radius: var(--form-error-radius);
  font-size: var(--form-error-size);
  line-height: var(--form-error-lh);
  font-weight: var(--form-error-weight);
  color: var(--form-error-color);
}

/*invalid feedback end*/
:root {
  --plyr-color-main: var(--color-primary);
}

/*contrast mode*/
@media (prefers-contrast: more) {
  :root {
    --plyr-color-main: var(--color-contast-yellow);
    --plyr-video-control-color-hover: var(--color-contast-black);
  }
  .plyr--video :not(.plyr__poster) {
    opacity: 1 !important;
  }
  .plyr--video .plyr__control--overlaid {
    --plyr-video-control-color: var(--color-contast-black);
    --plyr-video-control-background-hover: var(--color-contast-white);
  }
}
.contrast-mode {
  --plyr-color-main: var(--color-contast-yellow);
  --plyr-video-control-color-hover: var(--color-contast-black);
  --plyr-video-range-track-background: var(--color-contast-black);
  --plyr-menu-background: var(--color-contast-white);
}
.contrast-mode .plyr--video :not(.plyr__poster) {
  opacity: 1 !important;
}
.contrast-mode .plyr--video .plyr__control--overlaid {
  --plyr-video-control-color: var(--color-contast-black);
  --plyr-video-control-background-hover: var(--color-contast-white);
}
.contrast-mode .plyr--video .plyr__controls:before {
  content: "";
  display: block;
  background: var(--color-contast-black);
  position: absolute;
  top: 45px;
  top: calc(var(--plyr-control-spacing, 10px) * 2.5);
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
}
.contrast-mode
  .plyr--video.plyr--full-ui
  input[type="range"]::-webkit-slider-runnable-track {
  outline: 1px solid var(--color-contast-yellow);
}
.contrast-mode
  .plyr--video.plyr--full-ui
  input[type="range"]::-moz-range-track {
  outline: 1px solid var(--color-contast-yellow);
}
.contrast-mode .plyr--video.plyr--full-ui input[type="range"]::-ms-track {
  outline: 1px solid var(--color-contast-yellow);
}

/*contrast mode end*/
/*reduced motion*/
@media (prefers-reduced-motion: reduce) {
  :root .plyr--video * {
    transition: 0s !important;
  }
}
.reduced-animation-mode .plyr--video * {
  transition: 0s !important;
}

/*reduced motion*/
/*modules*/
/*widgets*/
:root {
  /*widget*/
  --widget-margin: 0;
  --widget-padding: 0;
  --widget-gap: 0;
  --widget-background: transparent;
  /*widget title*/
  --widget-title-size: var(--h3);
  --widget-title-size-clamp: var(--h3-clamp);
  --widget-title-lh: var(--h3-lh);
  --widget-title-weight: var(--heading-weight);
  --widget-title-color: var(--heading-color);
  --widget-title-align: center;
  --widget-title-margin: 0 auto 60px;
}

/*contrast mode*/
/*contrast mode end*/
.widget-entity {
  margin: var(--widget-margin);
  padding: var(--widget-padding);
  background: var(--widget-background);
  /*widget positions*/
  /*page body widgets*/
  /*header widgets*/
  /*main menu widgets*/
  /*banner widgets*/
  /*left side widgets*/
  /*content widgets*/
  /*footer widgets*/
}
.widget-entity + .widget-entity {
  margin-top: var(--widget-gap);
}
.widget-entity .widget-title-outer {
  /*ensure widget title has container width*/
  max-width: calc(var(--container-wide-width) + 2 * var(--container-padding));
  margin: var(--widget-title-margin);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--container-padding);
  padding-right: var(--container-padding);
  font-size: var(--widget-title-size);
  font-size: var(--widget-title-size-clamp);
  line-height: var(--widget-title-lh);
  font-weight: var(--widget-title-weight);
  color: var(--widget-title-color);
  text-align: var(--widget-title-align);
}
.widget-entity:where(
    .widget-space-page-body-top,
    .widget-space-page-body-bottom
  ) {
  --widget-margin: 0;
  --widget-padding: 0;
  --widget-gap: 0;
  --widget-background: transparent;
}
.widget-entity:where(
    .widget-space-page-top,
    .widget-space-homepage,
    .widget-space-content-top,
    .widget-space-content-bottom,
    .widget-space-page-bottom
  ) {
  --widget-margin: 0;
  --widget-padding: 0;
  --widget-gap: 60px;
  --widget-background: transparent;
}
/*widget in container*/
*:is(.container-fluid, .container-wide, .container-narrow) .widget-title-outer {
  max-width: var(--container-wide-width);
  padding-left: 0;
  padding-right: 0;
}

:root {
  /*slide*/
  --sliders-slide-height: auto;
  --sliders-slide-shadow: rgba(29, 30, 32, 0.3);
  /*slide texts*/
  --sliders-text-width: calc(
    var(--container-wide-width) + 2 * var(--container-padding)
  );
  --sliders-text-max-width: 100%;
  --sliders-text-padding: 60px var(--container-padding);
  --sliders-text-background: transparent;
  /*slide text title*/
  --sliders-text-title-font-family: var(--title-font-family);
  --sliders-text-title-size: var(--title-size);
  --sliders-text-title-size-clamp: var(--title-size-clamp);
  --sliders-text-title-lh: var(--title-lh);
  --sliders-text-title-weight: var(--title-weight);
  --sliders-text-title-color: var(--color-white);
  --sliders-text-title-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
  --sliders-text-title-letter-spacing: var(--title-letter-spacing);
  --sliders-text-title-align: center;
  --sliders-text-title-margin: 0 0 1rem;
  /*slide text description*/
  --sliders-text-description-font-family: var(--heading-font-family);
  --sliders-text-description-size: var(--h4-clamp);
  --sliders-text-description-lh: var(--h4-lh);
  --sliders-text-description-weight: var(--heading-weight);
  --sliders-text-description-color: var(--color-white);
  --sliders-text-description-letter-spacing: normal;
  --sliders-text-description-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
  --sliders-text-description-align: center;
  --sliders-text-description-margin: 0 0 1rem;
  /*slide read-more*/
  --sliders-read-more-margin: 0;
  --sliders-read-more-align: center;
  /*slide arrow*/
  --sliders-arrow-width: 45px;
  --sliders-arrow-height: 45px;
  --sliders-arrow-border: none;
  --sliders-arrow-border-active: none;
  --sliders-arrow-border-radius: 50%;
  --sliders-arrow-background: transparent;
  --sliders-arrow-background-active: transparent;
  --sliders-arrow-opacity: 0.6;
  --sliders-arrow-opacity-active: 1;
  --sliders-arrow-gap: var(--container-padding); /*gap from window edge*/
  --sliders-arrow-shadow: drop-shadow(0 0 3px rgba(0, 0, 0, 0.2)); /*filter*/
  --sliders-arrow-icon-width: 30px;
  --sliders-arrow-icon-height: 30px;
  --sliders-arrow-icon-color: var(--color-white);
  --sliders-arrow-icon-color-active: var(--color-white);
  --sliders-arrow-icon: url("../images/icons/chevron.svg");
  /*pagination*/
  --sliders-pagination-padding: 0 var(--container-padding) 30px;
  --sliders-pagination-justify: center;
  --sliders-pagination-gap: 0.5rem;
  --sliders-pagination-item-size: 0.75rem;
  --sliders-pagination-item-color: var(--color-white);
  --sliders-pagination-item-color-active: var(--color-white);
  --sliders-pagination-item-opacity: 0.6;
  --sliders-pagination-item-opacity-active: 1;
}

/*contrast mode*/
@media (prefers-contrast: more) {
  :root {
    /*slide*/
    --sliders-slide-shadow: transparent;
    /*slide texts*/
    --sliders-text-width: max-content;
    --sliders-text-max-width: min(
      100%,
      calc(var(--container-wide-width) + 2 * var(--container-padding))
    );
    --sliders-text-padding: 0.75rem; /*12px*/
    --sliders-text-background: var(--color-contast-black);
    /*slide text title*/
    --sliders-text-title-color: var(--color-contast-white);
    --sliders-text-title-shadow: none;
    /*slide text description*/
    --sliders-text-description-color: var(--color-contast-white);
    --sliders-text-description-shadow: none;
    --sliders-text-description-align: center;
    /*slide arrow*/
    --sliders-arrow-width: 45px;
    --sliders-arrow-height: 45px;
    --sliders-arrow-border: 1px solid var(--color-contast-yellow);
    --sliders-arrow-border-active: 1px solid var(--color-contast-yellow);
    --sliders-arrow-background: var(--color-contast-yellow);
    --sliders-arrow-background-active: var(--color-contast-white);
    --sliders-arrow-opacity: 1;
    --sliders-arrow-opacity-active: 1;
    --sliders-arrow-shadow: none; /*filter*/
    --sliders-arrow-icon-width: 30px;
    --sliders-arrow-icon-height: 30px;
    --sliders-arrow-icon-color: var(--color-contast-black);
    --sliders-arrow-icon-color-active: var(--color-contast-black);
    /*pagination*/
    --sliders-pagination-item-color: var(--color-contast-yellow);
    --sliders-pagination-item-color-active: var(--color-contast-white);
    --sliders-pagination-item-opacity: 1;
    --sliders-pagination-item-opacity-active: 1;
  }
}
.contrast-mode {
  /*slide*/
  --sliders-slide-shadow: transparent;
  /*slide texts*/
  --sliders-text-width: max-content;
  --sliders-text-max-width: min(
    100%,
    calc(var(--container-wide-width) + 2 * var(--container-padding))
  );
  --sliders-text-padding: 0.75rem; /*12px*/
  --sliders-text-background: var(--color-contast-black);
  /*slide text title*/
  --sliders-text-title-color: var(--color-contast-white);
  --sliders-text-title-shadow: none;
  /*slide text description*/
  --sliders-text-description-color: var(--color-contast-white);
  --sliders-text-description-shadow: none;
  --sliders-text-description-align: center;
  /*slide arrow*/
  --sliders-arrow-width: 45px;
  --sliders-arrow-height: 45px;
  --sliders-arrow-border: 1px solid var(--color-contast-yellow);
  --sliders-arrow-border-active: 1px solid var(--color-contast-yellow);
  --sliders-arrow-background: var(--color-contast-yellow);
  --sliders-arrow-background-active: var(--color-contast-white);
  --sliders-arrow-opacity: 1;
  --sliders-arrow-opacity-active: 1;
  --sliders-arrow-shadow: none; /*filter*/
  --sliders-arrow-icon-width: 30px;
  --sliders-arrow-icon-height: 30px;
  --sliders-arrow-icon-color: var(--color-contast-black);
  --sliders-arrow-icon-color-active: var(--color-contast-black);
  /*pagination*/
  --sliders-pagination-item-color: var(--color-contast-yellow);
  --sliders-pagination-item-color-active: var(--color-contast-white);
  --sliders-pagination-item-opacity: 1;
  --sliders-pagination-item-opacity-active: 1;
}

/*contrast mode end*/
/*reduced motion mode*/
@media (prefers-reduced-motion: reduce) {
  .widget-slider .splide__slide {
    transition: 0s !important;
  }
}
.reduced-animation-mode .widget-slider .splide__slide {
  transition: 0s !important;
}

/*reduced motion mode end*/
.widget-slider {
  /*slide*/
  /*slide end*/
  /*full height slider*/
  /*full height slider end*/
  /*arrows*/
  /*arrows end*/
  /*pagination*/
  /*pagination end*/
}
.widget-slider .slider-slide {
  height: var(--sliders-slide-height);
  /*slide shadow (only if has text)*/
  /*slide shadow end*/
  /*slide texts*/
  /*slide texts end*/
}
.widget-slider .slider-slide:has(.slide-texts):before {
  content: "";
  display: block;
  background: var(--sliders-slide-shadow);
  position: absolute;
  inset: 0;
}
.widget-slider .slider-slide .slide-texts {
  width: var(--sliders-text-width);
  max-width: var(--sliders-text-max-width);
  padding: var(--sliders-text-padding);
  background: var(--sliders-text-background);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  /*slide text title*/
  /*slide text title end*/
  /*slide text description*/
  /*slide text description end*/
  /*slide read-more*/
  /*slide read-more end*/
}
.widget-slider .slider-slide .slide-texts .slide-text-title {
  margin: var(--sliders-text-title-margin);
  font-family: var(--sliders-text-title-font-family);
  font-size: var(--sliders-text-title-size);
  font-size: var(--sliders-text-title-size-clamp);
  line-height: var(--sliders-text-title-lh);
  font-weight: var(--sliders-text-title-weight);
  letter-spacing: var(--sliders-text-title-letter-spacing);
  color: var(--sliders-text-title-color);
  text-align: var(--sliders-text-title-align);
  text-shadow: var(--sliders-text-title-shadow);
}
.widget-slider .slider-slide .slide-texts .slide-text-title:last-child {
  margin-bottom: 0;
}
.widget-slider .slider-slide .slide-texts .slide-text-description {
  margin: var(--sliders-text-description-margin);
  font-family: var(--sliders-text-description-font-family);
  font-size: var(--sliders-text-description-size);
  line-height: var(--sliders-text-description-lh);
  font-weight: var(--sliders-text-description-weight);
  letter-spacing: var(--sliders-text-description-letter-spacing);
  color: var(--sliders-text-description-color);
  text-align: var(--sliders-text-description-align);
  text-shadow: var(--sliders-text-description-shadow);
}
.widget-slider .slider-slide .slide-texts .slide-text-description:last-child {
  margin-bottom: 0;
}
.widget-slider .slider-slide .slide-texts .slide-read-more {
  margin: var(--slide-read-more-margin);
  text-align: var(--sliders-read-more-align);
}
.widget-slider.widget-slider-full-height {
  --sliders-slide-height: 100lvh; /*calc(100lvh - var(--header-pillow-height));*/
  overflow: hidden;
}
.widget-slider.widget-slider-full-height .slider-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media only screen and (max-width: 991px) {
  .widget-slider.widget-slider-full-height {
    --sliders-slide-height: calc(100lvh - var(--header-pillow-height));
  }
}
.widget-slider .splide__arrow {
  display: flex;
  justify-content: center;
  align-items: center;
  width: var(--sliders-arrow-width);
  height: var(--sliders-arrow-height);
  border: var(--sliders-arrow-border);
  border-radius: var(--sliders-arrow-border-radius);
  background: var(--sliders-arrow-background);
  filter: var(--sliders-arrow-shadow);
  opacity: var(--sliders-arrow-opacity);
  transform: translateY(-50%);
  transition: var(--transition);
}
.widget-slider .splide__arrow:before {
  content: "";
  display: block;
  width: var(--sliders-arrow-icon-width);
  height: var(--sliders-arrow-icon-height);
  background: var(--sliders-arrow-icon-color);
  mask: var(--sliders-arrow-icon) no-repeat center/contain;
  -webkit-mask: var(--sliders-arrow-icon) no-repeat center/contain;
  transition: var(--transition);
}
.widget-slider .splide__arrow:is(:hover, :focus):not(:disabled) {
  --sliders-arrow-border: var(--sliders-arrow-border-active);
  --sliders-arrow-background: var(--sliders-arrow-background-active);
  --sliders-arrow-opacity: var(--sliders-arrow-opacity-active);
  --sliders-arrow-icon-color: var(--sliders-arrow-icon-color-active);
  opacity: var(--sliders-arrow-opacity);
}
.widget-slider .splide__arrow.splide__arrow--prev {
  left: var(--sliders-arrow-gap);
}
.widget-slider .splide__arrow.splide__arrow--prev:before {
  transform: scaleX(-1);
}
.widget-slider .splide__arrow.splide__arrow--next {
  right: var(--sliders-arrow-gap);
}
.widget-slider .splide__arrow svg {
  display: none;
}
.widget-slider .splide__pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: var(--sliders-pagination-justify);
  gap: var(--sliders-pagination-gap);
  padding: var(--sliders-pagination-padding);
  inset: auto 0 0;
}
.widget-slider .splide__pagination .splide__pagination__page {
  width: var(--sliders-pagination-item-size);
  height: var(--sliders-pagination-item-size);
  margin: 0;
  background: var(--sliders-pagination-item-color);
  opacity: var(--sliders-pagination-item-opacity);
  transform: none;
  transition: var(--transition);
}
.widget-slider .splide__pagination .splide__pagination__page.is-active {
  --sliders-pagination-item-color: var(--sliders-pagination-item-color-active);
  --sliders-pagination-item-opacity: var(
    --sliders-pagination-item-opacity-active
  );
  transform: none;
}
.widget-slider
  .splide__pagination
  .splide__pagination__page:is(:hover, :focus) {
  --sliders-pagination-item-color: var(--sliders-pagination-item-color-active);
  --sliders-pagination-item-opacity: var(
    --sliders-pagination-item-opacity-active
  );
}

:root {
  /*page title banner*/
  --page-title-banner-min-height: 300px;
  --page-title-banner-padding: 60px 0 0.75rem;
  --page-title-banner-shadow: rgba(29, 30, 32, 0.3);
  /*page title banner content*/
  --page-title-banner-align-items: center;
  /*page title banner title node*/
  --page-title-banner-node-max-width: 100%;
  --page-title-banner-node-background: transparent;
  --page-title-banner-node-font-family: var(--title-font-family);
  --page-title-banner-node-size: var(--title-size);
  --page-title-banner-node-size-clamp: var(--title-size-clamp);
  --page-title-banner-node-lh: var(--title-lh);
  --page-title-banner-node-weight: var(--title-weight);
  --page-title-banner-node-color: var(--color-white);
  --page-title-banner-node-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
  --page-title-banner-node-letter-spacing: var(--title-letter-spacing);
  --page-title-banner-node-align: center;
  --page-title-banner-node-margin: 0;
  --page-title-banner-node-padding: 0;
  /*page title banner description*/
  --page-title-banner-description-max-width: 900px;
  --page-title-banner-description-background: transparent;
  --page-title-banner-description-font-family: var(--heading-family);
  --page-title-banner-description-size: var(--h5);
  --page-title-banner-description-size-clamp: var(--h5-clamp);
  --page-title-banner-description-lh: var(--h5-lh);
  --page-title-banner-description-weight: var(--heading-weight);
  --page-title-banner-description-color: var(--color-white);
  --page-title-banner-description-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
  --page-title-banner-description-letter-spacing: var(--heading-letter-spacing);
  --page-title-banner-description-align: center;
  --page-title-banner-description-margin: 30px auto 0;
  --page-title-banner-description-padding: 0;
  /*breadcrumbs*/
  --page-title-breadcrumb-container-margin: 1rem;
  --page-title-breadcrumb-container-padding: 0;
  --page-title-breadcrumb-container-background: transparent;
  --page-title-breadcrumb-item-color: var(--color-white);
  --page-title-breadcrumb-item-color-active: var(--color-white);
  --page-title-breadcrumb-item-opacity: 0.8;
  --page-title-breadcrumb-item-opacity-active: 1;
  --page-title-breadcrumb-divider-color: var(--color-white);
  --page-title-breadcrumb-divider-opacity: 0.8;
}

/*contrast mode*/
@media (prefers-contrast: more) {
  :root {
    /*page title banner*/
    --page-title-banner-shadow: transparent;
    /*page title banner title node*/
    --page-title-banner-node-width: max-content;
    --page-title-banner-node-background: var(--color-contast-black);
    --page-title-banner-node-color: var(--color-contast-white);
    --page-title-banner-node-shadow: none;
    --page-title-banner-node-margin: 0 auto;
    --page-title-banner-node-padding: 0.75rem;
    /*page title banner description*/
    --page-title-banner-description-background: var(--color-contast-black);
    --page-title-banner-description-color: var(--color-contast-white);
    --page-title-banner-description-shadow: none;
    --page-title-banner-description-margin: 30px auto 0;
    --page-title-banner-description-padding: 0.75rem;
    /*breadcrumbs*/
    --page-title-breadcrumb-container-padding: 0.75rem;
    --page-title-breadcrumb-container-background: var(--color-contast-black);
    --page-title-breadcrumb-item-color: var(--color-contast-yellow);
    --page-title-breadcrumb-item-color-active: var(--color-contast-white);
    --page-title-breadcrumb-item-opacity: 1;
    --page-title-breadcrumb-item-opacity-active: 1;
    --page-title-breadcrumb-divider-color: var(--color-contast-white);
    --page-title-breadcrumb-divider-opacity: 1;
  }
}
.contrast-mode {
  /*page title banner*/
  --page-title-banner-shadow: transparent;
  /*page title banner title node*/
  --page-title-banner-node-max-width: max-content;
  --page-title-banner-node-background: var(--color-contast-black);
  --page-title-banner-node-color: var(--color-contast-white);
  --page-title-banner-node-shadow: none;
  --page-title-banner-node-margin: 0 auto;
  --page-title-banner-node-padding: 0.75rem;
  /*page title banner description*/
  --page-title-banner-description-background: var(--color-contast-black);
  --page-title-banner-description-color: var(--color-contast-white);
  --page-title-banner-description-shadow: none;
  --page-title-banner-description-margin: 30px auto 0;
  --page-title-banner-description-padding: 0.75rem;
  /*breadcrumbs*/
  --page-title-breadcrumb-container-padding: 0.75rem;
  --page-title-breadcrumb-container-background: var(--color-contast-black);
  --page-title-breadcrumb-item-color: var(--color-contast-yellow);
  --page-title-breadcrumb-item-color-active: var(--color-contast-white);
  --page-title-breadcrumb-item-opacity: 1;
  --page-title-breadcrumb-item-opacity-active: 1;
  --page-title-breadcrumb-divider-color: var(--color-contast-white);
  --page-title-breadcrumb-divider-opacity: 1;
}

/*contrast mode end*/
.page-title-banner {
  --breadcrumb-container-margin: var(--page-title-breadcrumb-container-margin);
  --breadcrumb-container-padding: var(
    --page-title-breadcrumb-container-padding
  );
  --breadcrumb-container-background: var(
    --page-title-breadcrumb-container-background
  );
  --breadcrumb-item-color: var(--page-title-breadcrumb-item-color);
  --breadcrumb-item-color-active: var(
    --page-title-breadcrumb-item-color-active
  );
  --breadcrumb-item-opacity: var(--page-title-breadcrumb-item-opacity);
  --breadcrumb-item-opacity-active: var(
    --page-title-breadcrumb-item-opacity-active
  );
  --breadcrumb-divider-color: var(--page-title-breadcrumb-divider-color);
  --breadcrumb-divider-opacity: var(--page-title-breadcrumb-divider-opacity);
  display: flex;
  flex-direction: column;
  min-height: var(--page-title-banner-min-height);
  min-height: min(
    100lvh - var(--header-pillow-height),
    var(--page-title-banner-min-height)
  );
  padding: var(--page-title-banner-padding);
  background: no-repeat center/cover;
  position: relative;
  /*page title banner shadow*/
  /*page title banner shadow end*/
  /*page title banner content*/
  /*page title banner content end*/
  /*page title banner node (title)*/
  /*page title banner content end*/
  /*page title banner description*/
  /*page title banner description end*/
  /*page title banner breadcrumbs*/
  /*page title banner breadcrumbs end*/
}
.page-title-banner.page-title-banner-full-height {
  min-height: calc(100lvh - var(--header-pillow-height));
}
.page-title-banner:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: var(--page-title-banner-shadow);
  position: absolute;
  top: 0;
  left: 0;
}
.page-title-banner-content {
  display: flex;
  align-items: var(--page-title-banner-align-items);
  flex: 1;
  z-index: 1;
}
.page-title-banner-node {
  max-width: var(--page-title-banner-node-max-width);
  margin: var(--page-title-banner-node-margin);
  padding: var(--page-title-banner-node-padding);
  background: var(--page-title-banner-node-background);
  font-family: var(--page-title-banner-node-font-family);
  font-size: var(--page-title-banner-node-size);
  font-size: var(--page-title-banner-node-size-clamp);
  line-height: var(--page-title-banner-node-lh);
  font-weight: var(--page-title-banner-node-weight);
  letter-spacing: var(--page-title-banner-node-letter-spacing);
  color: var(--page-title-banner-node-color);
  text-align: var(--page-title-banner-node-align);
  text-shadow: var(--page-title-banner-node-shadow);
}
.page-title-banner-description {
  width: var(--page-title-banner-description-max-width);
  max-width: 100%;
  margin: var(--page-title-banner-description-margin);
  padding: var(--page-title-banner-description-padding);
  background: var(--page-title-banner-description-background);
  font-family: var(--page-title-banner-description-font-family);
  font-size: var(--page-title-banner-description-size);
  font-size: var(--page-title-banner-description-size-clamp);
  line-height: var(--page-title-banner-description-lh);
  font-weight: var(--page-title-banner-description-weight);
  letter-spacing: var(--page-title-banner-description-letter-spacing);
  color: var(--page-title-banner-description-color);
  text-align: var(--page-title-banner-description-align);
  text-shadow: var(--page-title-banner-description-shadow);
}
.page-title-banner-description:first-child {
  margin-top: 0;
}
.page-title-banner-breadcrumbs {
  z-index: 1;
}

/*page title banner on banner position*/
@media only screen and (min-width: 992px) {
  .banner .page-title-banner.page-title-banner-full-height {
    min-height: 100lvh;
  }
}
/*page title banner on banner position end*/
:root {
  /*call to action*/
  --call-to-action-min-height: 400px;
  /*call to action image*/
  --call-to-action-image-width: 50%;
  --call-to-action-image-inset: 0 auto 0 0;
  --call-to-action-image-inset-left: 0 auto 0 0;
  --call-to-action-image-inset-right: 0 0 0 auto;
  --call-to-action-image-margin: 0;
  --call-to-action-image-fit-position: center;
  --call-to-action-image-aspect-ratio: auto;
  /*call to action content*/
  --call-to-action-content-width: 50%;
  --call-to-action-content-justify: flex-start;
  --call-to-action-content-padding-x: 0px;
  --call-to-action-content-padding-y: 60px;
  --call-to-action-content-image-gap: 60px;
}

/*contrast mode*/
/*contrast mode end*/
/*call to action*/
.widget-call-to-action {
  position: relative;
}

.call-to-action {
  min-height: min(
    100lvh - var(--header-pillow-height),
    var(--call-to-action-min-height)
  );
  display: flex;
  align-items: center;
  /*call to action image*/
  /*call to action image end*/
  /*call to action content container*/
  /*call to action content container end*/
  /*call to action content*/
  /*call to action content end*/
}
.call-to-action-image {
  width: var(--call-to-action-image-width);
  height: 100%;
  margin: var(--call-to-action-image-margin);
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: var(--call-to-action-image-fit-position);
  object-position: var(--call-to-action-image-fit-position);
  position: absolute;
  inset: var(--call-to-action-image-inset);
}
.call-to-action-content-container {
  display: flex;
  justify-content: var(--call-to-action-content-justify);
}
.call-to-action-content {
  flex: var(--call-to-action-content-width) 0 1;
  width: var(--call-to-action-content-width);
  padding: var(--call-to-action-content-padding-y)
    var(--call-to-action-content-padding-x);
}
.call-to-action.full-window-height {
  min-height: calc(100lvh - var(--header-pillow-height));
}
.call-to-action.image-position-left {
  --call-to-action-image-inset: var(--call-to-action-image-inset-left);
  --call-to-action-content-justify: flex-end;
}
.call-to-action.image-position-left .call-to-action-content {
  padding-left: max(
    var(--call-to-action-content-image-gap),
    var(--call-to-action-content-padding-x)
  );
}
.call-to-action.image-position-right {
  --call-to-action-image-inset: var(--call-to-action-image-inset-right);
}
.call-to-action.image-position-right .call-to-action-content {
  padding-right: max(
    var(--call-to-action-content-image-gap),
    var(--call-to-action-content-padding-x)
  );
}

@media only screen and (orientation: portrait) {
  .call-to-action {
    min-height: var(--call-to-action-min-height);
  }
}
@media only screen and (max-width: 991px) {
  :root {
    /*call to action content*/
    --call-to-action-content-image-gap: 1.5rem; /*20px*/
  }
}
@media only screen and (max-width: 767px) {
  :root {
    /*call to action*/
    --call-to-action-min-height: 0;
    /*call to action image*/
    --call-to-action-image-width: calc(
      (100% - var(--container-padding) * 2) / 3 + var(--container-padding)
    ); /*1/3 of container width + container padding*/
    /*call to action content*/
    --call-to-action-content-width: 66.666666%;
    --call-to-action-content-justify: flex-start;
  }
}
@media only screen and (max-width: 575px) {
  :root {
    /*call to action*/
    --call-to-action-min-height: 400px;
    /*call to action image*/
    --call-to-action-image-width: 100%;
    --call-to-action-image-margin: 0 0 30px;
    --call-to-action-image-aspect-ratio: 16 / 9;
    /*call to action content*/
    --call-to-action-content-width: 100%;
    --call-to-action-content-padding-x: 0px;
    --call-to-action-content-padding-y: 0px;
    --call-to-action-content-image-gap: 0px;
  }
  /*call to action*/
  .call-to-action {
    display: block;
    /*call to action image*/
    /*call to action image end*/
  }
  .call-to-action-image {
    width: var(--call-to-action-image-width);
    height: 100%;
    position: static;
    aspect-ratio: var(--call-to-action-image-mobile-aspect-ratio);
  }
  /*call to action end*/
}
:root {
  /*a11y options*/
  --a11y-options-display: flex;
  --a11y-options-flex-direction: column;
  --a11y-options-justify-content: center;
  --a11y-options-align-items: center;
  --a11y-options-gap: 0.25rem; /*4px*/
  --a11y-options-position: fixed;
  --a11y-options-inset: 50% auto auto 0; /*position shorthand*/
  --a11y-options-transform: translateY(-50%);
  --a11y-options-margin: 0;
  --a11y-options-padding: 0 0 0 0.5rem; /*0 0 0 8px*/
  --a11y-options-background: transparent;
  --a11y-options-border: none;
  --a11y-options-radius: 0; /*0 var(--radius) var(--radius) 0*/
  /*a11y options buttons*/
  --a11y-options-btn-width: 3rem; /*48px*/
  --a11y-options-btn-height: 3rem; /*48px*/
  --a11y-options-btn-padding: 0.5rem; /*8px*/
  --a11y-options-btn-radius: var(--btn-radius);
  --a11y-options-btn-border-size: var(--btn-border-size);
  --a11y-options-btn-shadow: var(--btn-shadow);
  --a11y-options-btn-bg: var(--btn-primary-bg);
  --a11y-options-btn-bg-active: var(--btn-primary-bg-active);
  --a11y-options-btn-border-color: var(--btn-primary-border-color);
  --a11y-options-btn-border-color-active: var(
    --btn-primary-border-color-active
  );
  --a11y-options-btn-text-color: var(--btn-primary-text-color);
  --a11y-options-btn-text-color-active: var(--btn-primary-text-color-active);
  --a11y-options-icon-size: 1.5rem; /*24px*/
}

.a11y-options {
  display: var(--a11y-options-display);
  flex-direction: var(--a11y-options-flex-direction);
  justify-content: var(--a11y-options-justify-content);
  align-items: var(--a11y-options-align-items);
  gap: var(--a11y-options-gap);
  position: var(--a11y-options-position);
  inset: var(--a11y-options-inset);
  transform: var(--a11y-options-transform);
  z-index: 999;
  margin: var(--a11y-options-margin);
  padding: var(--a11y-options-padding);
  background: var(--a11y-options-background);
  border: var(--a11y-options-border);
  border-radius: var(--a11y-options-radius);
}
.a11y-options .btn {
  width: var(--a11y-options-btn-width);
  height: var(--a11y-options-btn-height);
  padding: var(--a11y-options-btn-padding);
  background: var(--a11y-options-btn-bg);
  border: var(--a11y-options-btn-border-size) solid
    var(--a11y-options-btn-border-color);
  border-radius: var(--a11y-options-btn-radius);
  box-shadow: var(--a11y-options-btn-shadow);
  color: var(--a11y-options-btn-text-color);
}
.a11y-options .btn:is(.active, :hover, :focus, :active) {
  background: var(--a11y-options-btn-bg-active);
  border-color: var(--a11y-options-btn-border-color-active);
  color: var(--a11y-options-btn-text-color-active);
}
.a11y-options .btn .a11y-options-btn-icon {
  font-size: var(--a11y-options-icon-size);
}
.a11y-options .btn .a11y-options-btn-icon sup {
  display: inline-block;
  width: 0;
  margin-left: -0.5rem;
  font-size: 0.625rem;
  top: -0.5rem;
}
.a11y-options .btn:not(.active) .icon-active {
  display: none;
}
.a11y-options .btn.active .icon-inactive {
  display: none;
}

@media only screen and (max-width: 991px) {
  :root {
    /*a11y options*/
    --a11y-options-flex-direction: row;
    --a11y-options-inset: auto 0 0 0; /*position shorthand*/
    --a11y-options-transform: none;
    --a11y-options-margin: 0;
    --a11y-options-padding: 0 0.25rem 0.25rem; /*0 4px 4px*/
    /*a11y options buttons*/
    --a11y-options-btn-width: 2.25rem; /*36px*/
    --a11y-options-btn-height: 2.25rem; /*36px*/
    --a11y-options-btn-padding: 0.25rem; /*4px*/
    --a11y-options-icon-size: 1rem; /*16px*/
  }
  .a11y-options .btn .a11y-options-btn-icon sup {
    margin-left: -0.4rem;
  }
}
body {
  font-family: "Plus Jakarta Sans" !important;
}

.main-menu ul.menu-root > li > a {
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  font-size: 12px;
  line-height: 120%;
  letter-spacing: 2%;
  color: #141414;
}

.main-menu ul.menu-root li.has-dropdown .menu-dropdown li a {
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  font-size: 12px;
  line-height: 120%;
  letter-spacing: 2%;
  color: #141414;
}

.m-0 {
  margin: 0;
}

.bg-color {
  background-color: var(--main-color);
}

.second-color {
  color: #ffb312;
}

.wrapper-main {
  max-width: 1550px;
  margin: 0 auto;
  width: 100%;
}

.widget-slider .slider-slide {
  height: calc(100vh - 80px) !important;
}
.widget-slider .slider-slide .slide-texts .slide-text-title {
  display: flex;
  justify-content: center;
  padding-bottom: 40px;
}
.widget-slider .slider-slide .slide-texts .slide-text-title p {
  width: 50%;
}

.scrolled .widget-slider .slider-slide {
  height: calc(100vh - 60px) !important;
}

.page-header .navbar {
  justify-content: flex-start;
  padding-left: 20px;
  padding-right: 20px;
}
.page-header .navbar-content {
  display: block;
  flex: 1;
  justify-content: space-between;
}
.page-header .navbar-brand {
  padding: 5px 20px 5px 0px;
}

.widget-call-to-action {
  background-image: url("../images/Ofirmie-bg.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.widget-call-to-action .call-to-action-content__title {
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  font-size: 14px;
  line-height: 120%;
  letter-spacing: -1%;
  color: var(--accent-color);
}

.call-to-action-bigText {
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  font-size: var(--h2-clamp);
  line-height: 120%;
  letter-spacing: -3%;
  color: #141413;
  width: 63%;
  margin: 0;
  padding-bottom: 30px;
}

.call-to-action-miniText {
  font-family: "Plus Jakarta Sans";
  font-weight: 400;
  font-size: 16px;
  line-height: 150%;
  letter-spacing: -1%;
  color: #383835;
  width: 63%;
  margin: 0;
}

.digits-container {
  padding-top: 15px;
  display: flex;
  justify-content: space-between;
  padding-bottom: 50px;
  flex-wrap: wrap;
}
.digits-container__wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 25%;
  flex-wrap: wrap;
  width: 100%;
}
.digits-container__wrapper::before {
  position: absolute;
  content: "";
  height: 100%;
  width: 1px;
  background: #f2e9d8;
  right: 0%;
  top: 0;
}
.digits-container__wrapper:last-child::before {
  content: none;
}
.digits-container__wrapper-arrow {
  display: flex;
  align-items: center;
  gap: 5px;
}
.digits-container__wrapper-arrow::before {
  content: "";
  background-image: url("../images/icons/digit-arrow.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  display: inline-block;
  width: 20px;
  height: 31px;
}
.digits-container__wrapper p {
  margin: 0;
}
.digits-container__wrapper-title {
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  font-size: 14px;
  line-height: 150%;
  letter-spacing: -1%;
  text-align: center;
  color: #767470;
  width: 70%;
  padding-bottom: 40px;
}
.digits-container__wrapper-number {
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  font-size: 56px;
  line-height: 120%;
  letter-spacing: -3%;
  text-align: center;
  color: #141413;
}
.digits-container__wrapper-desc {
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  font-size: 16px;
  line-height: 150%;
  letter-spacing: -1%;
  text-transform: uppercase;
  color: #141413;
  padding-top: 10px;
}

.double-text-left-title {
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  font-size: var(--h5-clamp);
  line-height: 130%;
  letter-spacing: -3%;
  color: #141413;
}

.double-text-left-desc {
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  font-size: 16px;
  line-height: 150%;
  letter-spacing: -1%;
  color: #383835;
}

.double-text-right-title {
  font-family: "Plus Jakarta Sans";
  font-weight: 400;
  font-size: 16px;
  line-height: 150%;
  letter-spacing: -1%;
  color: #383835;
}

.double-text-right-bold {
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  font-size: 16px;
  line-height: 150%;
  letter-spacing: -1%;
  color: #383835;
}

.double-text-container {
  padding-top: 98px;
  padding-bottom: 94px;
  padding-left: 38px;
  padding-right: 20px;
}
.double-text-container__wrapper {
  position: relative;
  display: flex;
  padding-left: 80px;
  gap: 80px;
}
.double-text-container__wrapper::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 3px;
  height: 100%;
  background: #ffcf11;
}
.double-text-container__wrapper__left {
  max-width: 50%;
  width: 100%;
  flex: 1;
}
.double-text-container__wrapper__right {
  max-width: 50%;
  width: 100%;
  flex: 1;
}

.publications-header {
  padding-left: 20px;
  padding-right: 20px;
  text-align: center;
}
.publications-header__miniTitle {
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  font-size: 14px;
  line-height: 120%;
  letter-spacing: -1%;
  text-align: center;
  color: #01af3e;
}
.publications-header__title {
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  font-size: var(--h2-clamp);
  line-height: 120%;
  letter-spacing: -3%;
  text-align: center;
  color: #141413;
  padding-bottom: 24px;
}
.publications-header__desc {
  font-family: "Plus Jakarta Sans";
  font-weight: 400;
  font-size: 16px;
  line-height: 150%;
  letter-spacing: -1%;
  text-align: center;
  color: #383835;
  max-width: 814px;
  width: 100%;
  margin: 0 auto;
}

.pub-list {
  padding-left: 8px;
  padding-right: 8px;
}

.pub-list-item-title {
  text-align: center;
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  font-size: 22px;
  line-height: 130%;
  letter-spacing: -3%;
  text-align: center;
  color: #141413;
  padding-bottom: 24px;
}

.pub-list-item-image {
  border-radius: 4px;
}

.pub-list-item-footer {
  text-align: center;
}
.pub-list-item-footer button {
  background-color: transparent;
  border: 1px solid rgba(197, 190, 171, 0.4);
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  font-size: 12px;
  line-height: 120%;
  letter-spacing: 2%;
  color: #4c4c4c;
  padding: 13px 30px;
}
.pub-list-item-footer button:hover {
  background-color: #3fd15a !important;
  color: white !important;
  border: 1px solid #3fd15a !important;
}
.pub-list-item-footer button::after {
  background: #4c4c4c !important;
}

.offer-block {
  padding: 98px 20px;
}

.offer-desc {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}
.offer-desc:nth-of-type(2) {
  flex-direction: row-reverse;
}
.offer-desc__text {
  max-width: 50%;
}
.offer-desc__text-title {
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  font-size: var(--h4-clamp);
  line-height: 120%;
  letter-spacing: -3%;
  color: #141413;
  padding-bottom: 30px;
  margin: 0;
}
.offer-desc__text-descTop {
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  font-size: 16px;
  line-height: 150%;
  letter-spacing: -1%;
  color: #383835;
  padding-top: 30px;
}
.offer-desc__text-descBot {
  font-family: "Plus Jakarta Sans";
  font-weight: 400;
  font-size: 14px;
  line-height: 150%;
  letter-spacing: -1%;
  color: #383835;
  padding-top: 14px;
  padding-bottom: 44px;
}
.offer-desc__text-call {
  position: relative;
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  font-size: 12px;
  line-height: 120%;
  letter-spacing: 2%;
  padding: 13px 26px 13px 53px !important;
  margin-right: 10px;
}
.offer-desc__text-call:hover {
  background-color: #3fd15a !important;
  color: white !important;
  border: 1px solid #3fd15a !important;
}
.offer-desc__text-call::before {
  position: absolute;
  content: "";
  width: 13px;
  height: 13px;
  background-image: url("../images/icons/phone.svg");
  background-repeat: no-repeat;
  background-position: center;
  left: 28px;
  top: 50%;
  transform: translateY(-50%);
}
.offer-desc__text-read {
  padding: 13px 30px !important;
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  font-size: 12px;
  line-height: 120%;
  letter-spacing: 2%;
  text-transform: uppercase;
  color: #4c4c4c;
  background-color: transparent;
  border: 1px solid rgba(197, 190, 171, 0.4);
}
.offer-desc__text-read:hover {
  background-color: transparent !important;
  color: #3fd15a !important;
  border: 1px solid #3fd15a !important;
}
.offer-desc__text-read:hover::after {
  background: #3fd15a !important;
}
.offer-desc__text-read::after {
  background: #4c4c4c !important;
}
.offer-desc__img {
  width: 100%;
}

.offer-block:nth-of-type(odd) .offer-desc {
  flex-direction: row-reverse;
}

.banner-widget {
  max-width: 1232px;
  width: 100%;
  margin: 0 auto;
  padding: 86px;
}
.banner-widget__btn:hover {
  background-color: #3fd15a !important;
  color: white !important;
  border: 1px solid #3fd15a !important;
}
.banner-widget__text {
  display: flex;
  flex-direction: column;
}
.banner-widget__text__title {
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  font-size: var(--h4-clamp);
  line-height: 120%;
  letter-spacing: -3%;
  color: #141413;
  margin: 0;
}
.banner-widget__media {
  padding-top: 30px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.banner-widget__media__phone {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  font-size: var(--h6-clamp);
  line-height: 130%;
  letter-spacing: -3%;
  color: #383835;
}
.banner-widget__media__phone::before {
  content: "";
  background-image: url("../images/icons/greenPhone.svg");
  background-repeat: no-repeat;
  background-position: center;
  display: inline-block;
  width: 20px;
  height: 20px;
}
.banner-widget__media__email {
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  font-size: 14px;
  line-height: 150%;
  letter-spacing: -1%;
  color: #383835;
  padding-bottom: 40px;
}

.colab {
  padding-left: 20px;
  padding-right: 20px;
}

.colab-text {
  font-family: "Plus Jakarta Sans";
  font-weight: 400;
  font-size: 14px;
  line-height: 150%;
  letter-spacing: -1%;
  color: #383835;
}

.colab-ul li {
  font-family: "Plus Jakarta Sans";
  font-weight: 400;
  font-size: 14px;
  line-height: 150%;
  letter-spacing: -1%;
  color: #383835;
  padding-bottom: 4px;
}

.colab__title {
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  font-size: var(--h4-clamp);
  line-height: 120%;
  letter-spacing: -3%;
  text-align: center;
  color: #141413;
  padding-bottom: 70px;
  padding-top: 70px;
}
.colab__container {
  display: flex;
  justify-content: center;
  gap: 20px;
}
.colab__container .df-colab {
  display: flex;
  flex-direction: column;
  max-width: 397px;
  width: 100%;
  padding: 40px;
  border: 1px solid #f2e9d8;
}
.colab__container-title {
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  font-size: 18px;
  line-height: 140%;
  letter-spacing: -3%;
  color: #383835;
}
.colab__container-title-1::before {
  content: "";
  background-image: url("../images/icons/furgon.svg");
  height: 76px;
  width: 76px;
  background-repeat: no-repeat;
  display: block;
  margin-bottom: 30px;
}

.colab__container-title-2::before {
  content: "";
  background-image: url("../images/icons/like.svg");
  height: 76px;
  width: 76px;
  background-repeat: no-repeat;
  display: block;
  margin-bottom: 30px;
}

.colab__container-title-3::before {
  content: "";
  background-image: url("../images/icons/solid.svg");
  height: 76px;
  width: 76px;
  background-repeat: no-repeat;
  display: block;
  margin-bottom: 30px;
}

.title-mini {
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  font-size: 14px;
  line-height: 120%;
  letter-spacing: -1%;
  text-align: center;
  color: #01af3e;
}

.footer {
  flex-wrap: wrap;
  max-width: 1550px;
  margin: 0 auto;
}

.footer-contact {
  background-image: url("../images/bg-footer.png");
  background-repeat: no-repeat;
  background-size: cover;
  padding-bottom: 70px;
  padding-top: 80px;
  padding-left: 20px;
  padding-right: 20px;
}
.footer-contact__container__content-map {
  width: 40%;
}
.footer-contact__container__content-map #contact-map {
  height: 300px !important;
}
.form-group > .checkbox > input {
  display: none;
}
.footer-contact__container-title {
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  font-size: var(--h2-clamp);
  line-height: 120%;
  letter-spacing: -3%;
  text-align: center;
  color: #141414;
  padding-top: 24px;
  padding-bottom: 80px;
}
.footer-contact__container__content {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.footer-contact__container__content-numbers {
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  font-size: 16px;
  line-height: 150%;
  letter-spacing: -1%;
  color: #141413;
}
.footer-contact__container__content-numbers a {
  display: flex;
  align-items: center;
  gap: 20px;
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  font-size: 16px;
  line-height: 150%;
  letter-spacing: -1%;
  color: #141413;
  padding-bottom: 10px;
}
.footer-contact__container__content-numbers a:hover {
  color: #01af3e;
}
.footer-contact__container__content-numbers a::before {
  content: "";
  background-image: url("../images/icons/contact_icon.svg");
  background-repeat: no-repeat;
  background-position: center;
  height: 34px;
  width: 34px;
}
.footer-contact__container__content-email {
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  font-size: 16px;
  line-height: 150%;
  letter-spacing: -1%;
  color: #141413;
}
.footer-contact__container__content-email a {
  gap: 20px;
  display: flex;
  align-items: center;
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  font-size: 16px;
  line-height: 150%;
  letter-spacing: -1%;
  color: #141413;
  padding-bottom: 10px;
}
.footer-contact__container__content-email a:hover {
  color: #01af3e;
}
.footer-contact__container__content-email a::before {
  content: "";
  background-image: url("../images/icons/mail-icon.svg");
  background-repeat: no-repeat;
  background-position: center;
  height: 34px;
  width: 34px;
}
.footer-contact__container__content-location p {
  gap: 20px;
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  font-size: 16px;
  line-height: 150%;
  letter-spacing: -1%;
  color: #141413;
}
.footer-contact__container__content-location
  .footer-contact__container__content-location-p {
  display: flex;
  align-items: center;
}
.footer-contact__container__content-location
  .footer-contact__container__content-location-p::before {
  content: "";
  background-image: url("../images/icons/location_icon.svg");
  background-repeat: no-repeat;
  background-position: center;
  height: 34px;
  width: 34px;
}

.location-text {
  font-family: "Plus Jakarta Sans" !important;
  font-weight: 400 !important;
  font-size: 14px !important;
  line-height: 150% !important;
  letter-spacing: -1% !important;
  color: #767470 !important;
}

.page-footer-top {
  position: relative;
  padding: 26px 20px !important;
}
.page-footer-top::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #f2e9d8;
}
.page-footer-top::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #f2e9d8;
}

.page-footer {
  margin: 0;
  background-color: #fffbe5;
}

.footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.page-footer ul.menu-root > li > a {
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  font-size: 12px;
  line-height: 120%;
  letter-spacing: 2%;
  color: #141414;
  text-transform: uppercase;
}

.contact-menu {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  justify-content: center;
}
.contact-menu__mail {
  position: relative;
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  font-size: 12px;
  line-height: 120%;
  letter-spacing: 2%;
  color: var(--menu-color);
}
.contact-menu__mail::before {
  position: absolute;
  content: "";
  background-image: url("../images/icons/mail_icon.svg");
  background-repeat: no-repeat;
  background-position: center;
  left: -20px;
  transform: translateY(50%);
  bottom: 50%;
  height: 10px;
  width: 10px;
}
.contact-menu__tel {
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  font-size: 14px;
  line-height: 120%;
  letter-spacing: -1%;
  color: var(--color-white);
  background-color: var(--color-primary);
  border-radius: 4px;
  padding: 15.6px 36px 15.6px 61px;
  position: relative;
}
.contact-menu__tel-desktop {
  display: block;
}
.contact-menu__tel-mobile {
  display: none;
}
.contact-menu__tel:hover {
  background-color: #3fd15a;
  color: white;
}
.contact-menu__tel::before {
  content: "";
  position: absolute;
  bottom: 50%;
  transform: translateY(50%);
  left: 36px;
  background-image: url("../images/icons/phone.svg");
  background-repeat: no-repeat;
  background-position: center;
  display: inline-block;
  height: 13px;
  width: 13px;
}

.page-color-footer {
  display: flex;
  justify-content: space-between;
  padding-left: 20px;
  padding-right: 20px;
}

.page-footer-bottom {
  background-color: #fffbe5;
}
.page-footer-bottom__copy {
  font-family: "Plus Jakarta Sans";
  font-weight: 400;
  font-size: 10px;
  line-height: 150%;
  letter-spacing: -1%;
  color: #383835;
}
.page-footer-bottom__realization p {
  font-family: "Plus Jakarta Sans";
  font-weight: 400;
  font-size: 10px;
  line-height: 150%;
  letter-spacing: -1%;
  text-align: right;
  color: #383835;
}
.page-footer-bottom__realization p a {
  font-family: "Plus Jakarta Sans";
  font-weight: 400;
  font-size: 10px;
  line-height: 150%;
  letter-spacing: -1%;
  text-align: right;
  color: #383835;
  transition: color 0.3s ease-in-out;
}
.page-footer-bottom__realization p a:hover {
  color: var(--color-primary);
}

.pub-list {
  margin: 0 !important;
}

.page-title-banner {
  min-height: 600px !important;
}

.page-title-banner-node {
  font-family: "Plus Jakarta Sans";
  font-weight: 700 !important;
  font-style: Bold !important;
  font-size: var(--h1-clamp) !important;
  line-height: 120% !important;
  letter-spacing: -3% !important;
  text-align: center !important;
  color: #fff !important;
}

.text-width {
  max-width: 854px;
  width: 100%;
  margin: 24px auto;
  font-family: "Plus Jakarta Sans";
  font-weight: 400;
  line-height: 150%;
  letter-spacing: -1%;
}

.contact-form-container {
  padding: 40px !important;
  background-color: #fcf8f0;
}
.contact-form-container .form-control {
  background-color: #fff;
  border: 1px solid #f2e9d8;
}
.contact-form-container h2 {
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  font-size: 14px;
  line-height: 120%;
  letter-spacing: -1%;
  color: #767470;
}

.contact-title {
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  font-size: 36px;
  line-height: 120%;
  letter-spacing: -3%;
  color: #141413;
}

.contact-loc {
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  font-size: 16px;
  line-height: 150%;
  letter-spacing: -1%;
  color: #141413;
  margin: 0;
  padding-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.contact-loc::before {
  content: "";
  background-image: url("../images/icons/green-location.svg");
  background-repeat: no-repeat;
  background-size: contain;
  width: 16px;
  height: 18px;
}

.contact-loc-adr {
  font-family: "Plus Jakarta Sans";
  font-weight: 400;
  font-size: 14px;
  line-height: 150%;
  letter-spacing: -1%;
  color: #767470;
  padding-left: 26px;
}

.contact-tel {
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  font-size: 16px;
  line-height: 150%;
  letter-spacing: -1%;
  color: #141413;
  padding-bottom: 10px;
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.contact-tel::before {
  content: "";
  background-image: url("../images/icons/green-phone.svg");
  background-repeat: no-repeat;
  background-size: contain;
  width: 16px;
  height: 18px;
}

.contact-mail {
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  font-size: 16px;
  line-height: 150%;
  letter-spacing: -1%;
  color: #141413;
  display: flex;
  align-items: center;
  gap: 10px;
}
.contact-mail::before {
  content: "";
  background-image: url("../images/icons/mail-green.svg");
  background-repeat: no-repeat;
  background-size: contain;
  width: 16px;
  height: 18px;
}

.contact-content-container h1 {
  display: none;
}

.contact-left-container {
  position: relative;
  padding-left: 80px;
}
.contact-left-container::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 3px;
  height: 100%;
  background: #ffcf11;
}

.container-wide {
  width: 100%;
  max-width: calc(var(--container-wide-width) + 2 * var(--container-padding));
  margin: auto;
  padding-left: var(--container-padding);
  padding-right: var(--container-padding);
}

.contact-form .contact-form-top {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 20px;
  column-gap: 20px;
}
.contact-form label {
  display: none;
}

.ctrl-contact .form-control-type-text {
  width: calc(50% - 10px);
}

.contact-map-container {
  max-width: 1550px;
  width: 100%;
  margin: 0 auto;
}

#contact-map {
  height: 580px !important;
  z-index: 1;
  position: relative;
  margin-bottom: 65px;
}

.page-alias-kontakt .main-content {
  max-width: 1550px;
  width: 100%;
  margin: 0 auto;
}
.page-alias-kontakt .page-footer {
  background-color: transparent;
}
.page-alias-kontakt .page-footer-bottom {
  background-color: transparent;
}

.form-btn {
  padding: 13px 28px;
}
.form-btn:hover {
  background-color: #3fd15a !important;
  color: white !important;
  border: 1px solid #3fd15a !important;
}

.download-text-title {
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  line-height: 120%;
  letter-spacing: -3%;
}

.download-text {
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-size: 16px;
  line-height: 150%;
  letter-spacing: -1%;
}

.subCategoryContainer {
  display: flex;
  gap: 20px;
  justify-content: center;
  padding-top: 72px;
  flex-wrap: wrap;
}
.subCategoryContainer__box {
  max-width: calc(25% - 10px);
  width: 100%;
  flex: 1;
  border: 1px solid #f2e9d8;
  padding: 40px;
  cursor: pointer;
  transition: border-color 0.3s;
  border-radius: 4px;
}
.subCategoryContainer__box:hover,
.subCategoryContainer__box.active {
  border-color: var(--color-primary);
}
.subCategoryContainer__box:hover h2,
.subCategoryContainer__box.active h2 {
  color: var(--color-primary);
}
.subCategoryContainer__box:hover h2::before,
.subCategoryContainer__box.active h2::before {
  background-color: var(--color-primary);
}
.subCategoryContainer__box h2 {
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: bold;
  font-size: 14px;
  line-height: 150%;
  letter-spacing: -1%;
  color: #141413;
  padding-top: 80px;
  position: relative;
  transition: color 0.3s;
}
.subCategoryContainer__box h2::before {
  position: absolute;
  content: "";
  background-color: #d6d4ce;
  mask-image: url("../images/icons/downloadFiles.svg");
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-position: left top;
  -webkit-mask-image: url("../images/icons/downloadFiles.svg");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  -webkit-mask-position: left top;
  width: 31px;
  height: 31px;
  top: 0;
  left: 0;
  transition: background-color 0.3s;
}

.downloadsContainer {
  max-width: 854px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  padding-top: 77px;
  padding-bottom: 89px;
}
.downloadsContainer .downloadsContainer__files__title {
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  font-size: 22px;
  line-height: 130%;
  letter-spacing: -3%;
  color: #141413;
  padding-bottom: 40px;
  position: relative;
}
.downloadsContainer .downloadsContainer__files__title::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  background-color: #f2e9d8;
  left: 0;
  bottom: 0;
}
.downloadsContainer__box {
  display: flex;
  padding-bottom: 19px;
  position: relative;
  align-items: center;
  gap: 10px;
}
.downloadsContainer__box:hover h4 {
  color: var(--color-primary);
}
.downloadsContainer__box:hover h4::before {
  content: "";
  background-color: var(--color-primary);
}
.downloadsContainer__box:hover h4::before {
  content: "";
  background-image: url("../images/icons/fileIcon.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  height: 16px;
  width: 16px;
}
.downloadsContainer__box:hover .dwnld-btn {
  border: 1px solid var(--color-primary);
  color: var(--color-primary);
  background-color: transparent;
}
.downloadsContainer__box:hover .dwnld-btn::after {
  background-color: var(--color-primary);
}
.downloadsContainer__box::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  background-color: #f2e9d8;
  left: 0;
  bottom: 15%;
}
.downloadsContainer__box h4 {
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  font-size: 14px;
  line-height: 150%;
  letter-spacing: -1%;
  color: #141413;
  flex: 1;
  display: flex;
  align-items: center;
  gap: 20px;
}
.downloadsContainer__box h4::before {
  content: "";
  background-color: #d6d4ce;
  mask-image: url("../images/icons/fileIcon.svg");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  -webkit-mask-image: url("../images/icons/fileIcon.svg");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  height: 16px;
  width: 16px;
}
.downloadsContainer__box .dwnld-btn {
  background-color: transparent;
  border: 1px solid rgba(197, 190, 171, 0.4);
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: bold;
  font-size: 12px;
  line-height: 120%;
  letter-spacing: 2%;
  padding: 13px 30px;
  color: #4c4c4c;
  display: flex;
  gap: 12px;
  align-items: center;
}
.downloadsContainer__box .dwnld-btn::after {
  content: "";
  display: inline-block;
  width: 13px;
  height: 13px;
  background-color: #4c4c4c;
  mask-image: url("../images/icons/btn-download.svg");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  -webkit-mask-image: url("../images/icons/btn-download.svg");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  transition: background-color 0.3s ease;
}
.downloadsContainer__box .dwnld-btn:hover::after {
  background-color: var(--color-primary);
}

.pub-list-item:hover .pub-list-item-title {
  color: var(--color-primary);
}
.pub-list-item:hover .pub-list-item-image::before {
  content: none;
}
.pub-list-item:hover button {
  background-color: transparent !important;
  border: 1px solid var(--color-primary) !important;
  color: var(--color-primary) !important;
}
.pub-list-item:hover button::after {
  background: var(--color-primary) !important;
}

.last-item {
  width: 50%;
}

.main-menu {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.form-group > .checkbox > span::before {
  border: 1.5px solid var(--color-primary);
  border-radius: 5px;
}

.row:not(.pub-list) > * {
  padding: 0;
}

.menu-dropdown {
  padding: 0 10px 10px 10px !important;
}

.gallery-grid .gallery-item:first-child {
  display: none !important;
}

.splide__slide {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.page-alias-aktualnosci .pub-list-item-title {
  text-align: left;
}
.page-alias-aktualnosci .pub-list-item-time {
  font-family: "Plus Jakarta Sans";
  font-weight: 700;
  font-style: Bold;
  line-height: 130%;
  letter-spacing: -3%;
  text-align: left;
  color: #141413;
}

.page-alias-aktualnosci .page-title {
  display: none;
}
.page-alias-aktualnosci .page-content {
  padding: 0;
}

@media screen and (max-width: 1200px) {
  .digits-container__wrapper {
    max-width: 33%;
  }
}
@media screen and (max-width: 991px) {
  .widget-slider.widget-slider-full-height {
    --sliders-slide-height: calc(
      70lvh - var(--header-pillow-height)
    ) !important;
  }
  .footer-contact__container-title {
    padding-bottom: 30px;
  }
  .contact-menu__mail {
    display: none;
  }
  .contact-menu__tel-desktop {
    display: none;
  }
  .contact-menu__tel-mobile {
    display: block;
  }
  .menu-dropdown {
    padding: 0 10px 0px 10px !important;
  }
  .navbar {
    justify-content: space-between !important;
  }
  .navbar-content {
    flex: 0 !important;
  }
  .call-to-action-miniText,
  .call-to-action-bigText {
    width: 100%;
  }
  .double-text-container {
    padding-top: 30px;
    padding-bottom: 30px;
  }
  .publications-header__desc {
    padding-bottom: 0;
  }
  .main-menu {
    display: block;
    background: #fff;
  }
  .menu-nav-wrapper {
    padding-top: 20px;
    padding-left: 9px;
    padding: 20px 0px 10px 9px;
  }
  .contact-menu {
    align-items: flex-start;
    flex-direction: column;
    padding-bottom: 20px;
    gap: 5px;
  }
  .contact-menu__tel {
    margin-left: 20px;
  }
  .contact-menu__mail {
    margin-left: 44px;
  }
  .scrolled .widget-slider .slider-slide {
    height: 100%;
  }
  .widget-slider .slider-slide {
    height: var(--sliders-slide-height) !important;
  }
  .main-menu ul.menu-root > li > a {
    color: #141414;
  }
}
@media screen and (max-width: 950px) {
  .colab__container {
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 900px) {
  .digits-container__wrapper {
    max-width: 50%;
  }
  .subCategoryContainer__box {
    max-width: calc(33% - 10px);
  }
}
@media screen and (max-width: 833px) {
  .footer {
    justify-content: center;
  }
}
@media screen and (max-width: 800px) {
  .digits-container__wrapper {
    max-width: 50%;
  }
}
@media screen and (max-width: 800px) and (max-width: 767px) {
  .animate {
    opacity: 1 !important;
  }
  .page-content {
    display: block;
    padding: 0 !important;
  }
}
@media screen and (max-width: 800px) and (max-width: 760px) {
  .footer-contact {
    padding-bottom: 20px;
  }
  .footer-contact__container__content-map {
    padding-top: 20px;
    width: 100%;
  }
  .footer-contact__container__content {
    flex-direction: row;
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 700px) {
  .double-text-container {
    padding-left: 20px;
    padding-right: 20px;
  }
  .double-text-container__wrapper {
    padding-left: 30px;
    gap: 0px;
    flex-direction: column;
  }
  .double-text-container__wrapper__right,
  .double-text-container__wrapper__left {
    max-width: 100%;
  }
  .offer-block {
    padding: 30px 20px;
  }
  .offer-desc {
    flex-direction: column-reverse !important;
  }
  .offer-desc__text {
    max-width: 100%;
    width: 100%;
  }
  .offer-desc__text-title {
    padding-bottom: 0;
  }
}
@media screen and (max-width: 650px) {
  .subCategoryContainer__box {
    max-width: calc(50% - 10px);
  }
}
@media screen and (max-width: 600px) {
  .digits-container {
    gap: 60px;
  }
  .digits-container__wrapper {
    max-width: 100%;
  }
}
@media screen and (max-width: 575px) {
  .call-to-action-content {
    padding-bottom: 50px;
    justify-content: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .contact-left-container {
    position: relative;
    padding: 0 40px;
  }
}
@media screen and (max-width: 420px) {
  footer .contact-menu {
    align-items: center;
    gap: 15px;
    margin-top: 10px;
  }
  .subCategoryContainer__box {
    padding: 20px;
  }
  footer .page-footer ul.menu-root {
    justify-content: center;
  }
}
@media screen and (max-width: 380px) {
  offer-desc__text-call {
    margin-bottom: 10px !important;
  }
}
.gallery-grid:first-child {
  display: none !important;
} /*# sourceMappingURL=style.css.map */
