/* CENTER */
.center--all:not(.ct-section),
.ct-section.center--all > .ct-section-inner-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  align-content: center;
  justify-items: center;
  justify-content: center;
  text-align: center;
}

.center--y:not(.ct-section),
.ct-section.center--y > .ct-section-inner-wrap {
  flex-direction: column;
  justify-items: center;
  justify-content: center;
  align-items: flex-start;
}

.center--x:not(.ct-section),
.ct-section.center--x > .ct-section-inner-wrap {
  display: flex;
  flex-direction: column;
  justify-items: center;
  justify-content: center;
  align-items: center;
}

/* STRETCH*/
.stretch:not(.ct-section), .ct-section.stretch .ct-section-inner-wrap {
  display: flex;
  align-content: stretch;
  align-items: stretch;
  justify-content: stretch;
  justify-items: stretch;
}

.align-content--stretch:not(.ct-section) {
  display: flex;
  align-content: stretch;
}

/* OWL Spacing*/
.ct-section.owl--xs .ct-section-inner-wrap > * + *,
.owl--xs:not(.ct-section) > * + * {
  margin-top: 1.896rem;
  margin-top: calc(1.0666666667rem + 0.2666666667 * (100vw - 32rem) / 96);
  margin-top: clamp(1.0666666667rem, 0.2777777778vw + 0.9777777778rem, 1.3333333333rem);
}

.ct-section.owl--s .ct-section-inner-wrap > * + *,
.owl--s:not(.ct-section) > * + * {
  margin-top: 2.133rem;
  margin-top: calc(1.6rem + 0.4 * (100vw - 32rem) / 96);
  margin-top: clamp(1.6rem, 0.4166666667vw + 1.4666666667rem, 2rem);
}

.ct-section.owl--m .ct-section-inner-wrap > * + *,
.owl--m:not(.ct-section) > * + * {
  margin-top: 2.4rem;
  margin-top: calc(2.4rem + 0.6 * (100vw - 32rem) / 96);
  margin-top: clamp(2.4rem, 0.625vw + 2.2rem, 3rem);
}

.ct-section.owl--l .ct-section-inner-wrap > * + *,
.owl--l:not(.ct-section) > * + * {
  margin-top: 2.7rem;
  margin-top: calc(3.1992rem + 1.3008 * (100vw - 32rem) / 96);
  margin-top: clamp(3.1992rem, 1.355vw + 2.7656rem, 4.5rem);
}

.ct-section.owl--xl .ct-section-inner-wrap > * + *,
.owl--xl:not(.ct-section) > * + * {
  margin-top: 3.42rem;
  margin-top: calc(5.6846232888rem + 4.4403767112 * (100vw - 32rem) / 96);
  margin-top: clamp(5.6846232888rem, 4.6253924075vw + 4.2044977184rem, 10.125rem);
}

:root {
  --primary-ultra-light: #ebc6ed;
  --primary-light: #d78eda;
  --primary-hover: #c355c8;
  --primary: #af1cb5;
  --primary-hover-dark: #831588;
  --primary-dark: #580e5b;
  --primary-ultra-dark: #2c072d;
  --secondary-ultra-light: #bfd5bf;
  --secondary-light: #80ab80;
  --secondary-hover: #408040;
  --secondary: #005600;
  --secondary-hover-dark: #004100;
  --secondary-dark: #002b00;
  --secondary-ultra-dark: #001600;
  --accent-ultra-light: #fbf6bf;
  --accent-light: #f7ed80;
  --accent-hover: #f3e440;
  --accent: #efdb00;
  --accent-hover-dark: #b3a400;
  --accent-dark: #786e00;
  --accent-ultra-dark: #3c3700;
  --base-ultra-light: #c1c4d5;
  --base-light: #8389ab;
  --base-hover: #454d80;
  --base: #071256;
  --base-hover-dark: #050e41;
  --base-dark: #04092b;
  --base-ultra-dark: #020516;
  --shade-ultra-light: #c0c0cc;
  --shade-light: #808099;
  --shade-hover: #414166;
  --shade: #010133;
  --shade-hover-dark: #010126;
  --shade-dark: #01011a;
  --shade-ultra-dark: #00000d;
  --success: #0cce6b;
  --success-shade: #0bb55e;
  --success-tint: #24d37a;
  --warning: #ffa400;
  --warning-shade: #e09000;
  --warning-tint: #ffad1a;
  --danger: #ff4e42;
  --danger-shade: #e0453a;
  --danger-tint: #ff6055;
  --medium: #92949c;
  --medium-shade: #808289;
  --medium-tint: #9d9fa6;
  --light: #f4f5f8;
  --light-shade: #d7d8da;
  --light-tint: #f5f6f9;
  --white: #fff;
  --black: #000;
  --bb-overlay-bg: rgba(7, 7, 7, 0.43);
  --green-dark-90: rgba(0, 51, 0, 0.9);
  --blue-dark-90: rgba(4, 10, 47, 0.9);
  --green-forest-05: #e2e4e3;
  --green-forest-10: #c6cdc9;
  --green-forest-20: #909d95;
  --green-forest-30: #5d7065;
  --green-forest-40: #2d4538;
  --green-forest-50: #24352b;
  --green-forest-60: #1a251f;
  --green-forest-70: #111613;
}

/* GRID 1-6*/
.grid--1:not(.ct-section) {
  display: grid !important;
  grid-template-columns: 1fr;
  width: 100%;
}

.grid--2:not(.ct-section) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
}

.grid--3:not(.ct-section) {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
}

.grid--4:not(.ct-section) {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: 100%;
}

.grid--5:not(.ct-section) {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  width: 100%;
}

.grid--6:not(.ct-section) {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  width: 100%;
}

.grid--2-1:not(.ct-section), .ct-section.grid--2-1 .ct-section-inner-wrap {
  display: grid !important;
  grid-template-columns: 2fr 1fr;
  width: 100%;
}

.grid--3-1:not(.ct-section) {
  display: grid !important;
  grid-template-columns: 3fr 1fr;
  width: 100%;
}

.grid--3-2:not(.ct-section) {
  display: grid !important;
  grid-template-columns: 3fr 2fr;
  inline-size: 100%;
}

.grid--2-3:not(.ct-section) {
  display: grid !important;
  grid-template-columns: 2fr 3fr;
  inline-size: 100%;
}

/* COL SPAN */
.col-span--2 {
  grid-column-end: span 2;
}

/* GRID BREAKPOINT 991 L + 767 M */
@media (max-width: 991px) {
  .grid--l-1:not(.ct-section) {
    grid-template-columns: 1fr;
  }
  .grid--l-2:not(.ct-section) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid--l-3:not(.ct-section) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .grid--l-4:not(.ct-section) {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .grid--l-5:not(.ct-section) {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .grid--l-6:not(.ct-section) {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  /* COLSPAN L*/
  .col-span--l-1 {
    grid-column: span 1;
  }
  .col-span--l-4 {
    grid-column: span 4;
  }
  .col-span--l-5 {
    grid-column: span 5;
  }
}
@media (max-width: 767px) {
  .grid--m-1:not(.ct-section) {
    grid-template-columns: 1fr;
  }
  .grid--m-2:not(.ct-section) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid--m-3:not(.ct-section) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .grid--m-4:not(.ct-section) {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .grid--m-5:not(.ct-section) {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .grid--m-6:not(.ct-section) {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  /*COL SPAN M*/
  .col-span--m-1 {
    grid-column: span 1;
  }
}
/*GAP*/
.gap--xs:not(.ct-section) {
  gap: 1.896rem;
  gap: calc(1.0666666667rem + 0.2666666667 * (100vw - 32rem) / 96);
  gap: clamp(1.0666666667rem, 0.2777777778vw + 0.9777777778rem, 1.3333333333rem);
}

.gap--s:not(.ct-section) {
  gap: 2.133rem;
  gap: calc(1.6rem + 0.4 * (100vw - 32rem) / 96);
  gap: clamp(1.6rem, 0.4166666667vw + 1.4666666667rem, 2rem);
}

.gap--m:not(.ct-section) {
  gap: 2.4rem;
  gap: calc(2.4rem + 0.6 * (100vw - 32rem) / 96);
  gap: clamp(2.4rem, 0.625vw + 2.2rem, 3rem);
}

:root {
  --space-4xs: clamp(0.52rem, calc(-0.03vw + 0.53rem), 0.49rem);
  --space-3xs: clamp(0.66rem, calc(0.05vw + 0.64rem), 0.7rem);
  --space-2xs: clamp(0.82rem, calc(0.18vw + 0.76rem), 0.99rem);
  --space-xs: clamp(1.02rem, calc(0.39vw + 0.9rem), 1.4rem);
  --space-s: clamp(1.28rem, calc(0.73vw + 1.05rem), 1.98rem);
  --space-m: clamp(1.6rem, calc(1.25vw + 1.2rem), 2.8rem);
  --space-l: clamp(2rem, calc(2.04vw + 1.35rem), 3.96rem);
  --space-xl: clamp(2.5rem, calc(3.23vw + 1.47rem), 5.6rem);
  --space-2xl: clamp(3.13rem, calc(4.99vw + 1.53rem), 7.92rem);
  --space-3xl: clamp(3.91rem, calc(7.59vw + 1.48rem), 11.19rem);
  --space-4xl: clamp(4.88rem, calc(11.4vw + 1.23rem), 15.83rem);
}

/* SECTION */
.section--full-width .ct-section-inner-wrap {
  max-width: 100%;
}

/* PADDING */
.pad-section--none .ct-section-inner-wrap {
  padding: 0 0rem;
}

.pad-section--xs .ct-section-inner-wrap {
  padding: 1.896rem 2rem;
  padding: calc(2.56rem + 0.1066666667 * (100vw - 32rem) / 96) 2rem;
  padding: clamp(2.56rem, 0.1111111111vw + 2.5244444444rem, 2.6666666667rem) 2rem;
}

.pad-section--s .ct-section-inner-wrap {
  padding: 2.133rem 2rem;
  padding: calc(3.84rem + 0.16 * (100vw - 32rem) / 96) 2rem;
  padding: clamp(3.84rem, 0.1666666667vw + 3.7866666667rem, 4rem) 2rem;
}

.pad-section--m:not(.ct-section),
.pad-section--m .ct-section-inner-wrap {
  padding: 2.4rem 2.4rem;
  padding: calc(5.76rem + 0.24 * (100vw - 32rem) / 96) calc(2.4rem + -0.4 * (100vw - 32rem) / 96);
  padding: clamp(5.76rem, 0.25vw + 5.68rem, 6rem) clamp(2.4rem, -0.4166666667vw + 2.5333333333rem, 2rem);
}

.pad-section--xl .ct-section-inner-wrap {
  padding: 3.038rem 2.4rem;
  padding: calc(10.23488064rem + 16.76511936 * (100vw - 32rem) / 96) 2.4rem;
  padding: clamp(10.23488064rem, 17.463666vw + 4.64650752rem, 27rem) 2.4rem;
}

.pad-section--l:not(.ct-section),
.pad-section--l .ct-section-inner-wrap {
  padding: 2.7rem 2.4rem;
  padding: calc(7.67808rem + 1.32192 * (100vw - 32rem) / 96) calc(2.4rem + -0.4 * (100vw - 32rem) / 96);
  padding: clamp(7.67808rem, 1.377vw + 7.23744rem, 9rem) clamp(2.4rem, -0.4166666667vw + 2.5333333333rem, 2rem);
}

.pad--xs {
  padding: 1.896rem;
  padding: calc(1.0666666667rem + 0.2666666667 * (100vw - 32rem) / 96);
  padding: clamp(1.0666666667rem, 0.2777777778vw + 0.9777777778rem, 1.3333333333rem);
}

.pad--m {
  padding: 2.4rem;
  padding: calc(2.4rem + 0.6 * (100vw - 32rem) / 96);
  padding: clamp(2.4rem, 0.625vw + 2.2rem, 3rem);
}

/*MARGIN*/
.margin-top--xs {
  margin-top: 1.896rem;
  margin-top: calc(1.0666666667rem + 0.2666666667 * (100vw - 32rem) / 96);
  margin-top: clamp(1.0666666667rem, 0.2777777778vw + 0.9777777778rem, 1.3333333333rem);
}

.margin-top--s {
  margin-top: 2.133rem;
  margin-top: calc(1.6rem + 0.4 * (100vw - 32rem) / 96);
  margin-top: clamp(1.6rem, 0.4166666667vw + 1.4666666667rem, 2rem);
}

.margin-top--m {
  margin-top: 2.4rem;
  margin-top: calc(2.4rem + 0.6 * (100vw - 32rem) / 96);
  margin-top: clamp(2.4rem, 0.625vw + 2.2rem, 3rem);
}

.margin-bottom--xs {
  margin-bottom: 1.896rem;
  margin-bottom: calc(1.0666666667rem + 0.2666666667 * (100vw - 32rem) / 96);
  margin-bottom: clamp(1.0666666667rem, 0.2777777778vw + 0.9777777778rem, 1.3333333333rem);
}

.margin-bottom--s {
  margin-bottom: 2.133rem;
  margin-bottom: calc(1.6rem + 0.4 * (100vw - 32rem) / 96);
  margin-bottom: clamp(1.6rem, 0.4166666667vw + 1.4666666667rem, 2rem);
}

.margin-bottom--m {
  margin-bottom: 2.4rem;
  margin-bottom: calc(2.4rem + 0.6 * (100vw - 32rem) / 96);
  margin-bottom: clamp(2.4rem, 0.625vw + 2.2rem, 3rem);
}

:root {
  /* Fluid type scale */
  --text-xs: clamp(1.25rem, calc(1.22rem + 0.087vw), 1.33rem);
  --text-s: clamp(1.6rem, calc(1.533rem + 0.208vw), 1.8rem);
  --text-m: clamp(2.03rem, calc(1.975rem + 0.159vw), 2.18rem);
  --text-l: clamp(2.13rem, calc(1.895rem + 0.727vw), 2.83rem);
  --text-xl: clamp(2.53rem, calc(2.189rem + 1.06vw), 3.55rem);
  --text-2xl: clamp(2.83rem, calc(2.27rem + 1.756vw), 4.52rem);
  --text-3xl: clamp(3.24rem, calc(2.32rem + 2.884vw), 6.01rem);
  --text-4xl: clamp(3.97rem, calc(2.801rem + 3.648vw), 7.47rem);
}

body:not(.oxygen-builder-body) {
  font-size: var(--text-s);
}

/* Headings */
h1 {
  font-size: var(--text-3xl);
}

h2 {
  font-size: var(--text-2xl);
}

h3 {
  font-size: var(--text-xl);
}

h4 {
  font-size: var(--text-l);
}

h5 {
  font-size: var(--text-m);
}

h6 {
  font-size: var(--text-s);
}

.text--xs {
  font-size: var(--text-xs);
}

.text--s {
  font-size: var(--text-s);
}

.text--m {
  font-size: var(--text-m);
}

.text--l {
  font-size: var(--text-l);
}

.text--xl {
  font-size: var(--text-xl);
}

.text--2xl {
  font-size: var(--text-2xl);
}

.text--3xl {
  font-size: var(--text-3xl);
}

.text--4xl {
  font-size: var(--text-4xl);
}

.text--h2 {
  font-size: var(--text-2xl);
}

.text--h3 {
  font-size: var(--text-xl);
}

.text--h4 {
  font-size: var(--text-l);
}

.text--h5 {
  font-size: var(--text-m);
}

.text--h6 {
  font-size: var(--text-s);
}

/* BORDER RADIUS */
:root {
  --rounded--xs: clamp(0.4rem, calc(0vw + 0.4rem), 0.4rem);
  --rounded--s: clamp(0.6rem, calc(-0.19vw + 0.86rem), 0.8rem);
  --rounded--m: clamp(1rem, calc(-0.19vw + 1.26rem), 1.2rem);
  --rounded--l: clamp(1.6rem, calc(-0.37vw + 2.12rem), 2rem);
  --rounded--xl: clamp(2.6rem, calc(-0.56vw + 3.38rem), 3.2rem);
  --rounded--circle: 50%;
}

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

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

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

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

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

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