/*
 * Copyright 2020 Adobe. All rights reserved.
 * This file is licensed to you under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License. You may obtain a copy
 * of the License at http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under
 * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
 * OF ANY KIND, either express or implied. See the License for the specific language
 * governing permissions and limitations under the License.
 */

:root {
  /* Font */
  --base-font-family: roboto, roboto-fallback;

  /* AEM colors */
  --link-color: #035fe6;
  --link-hover-color: #136ff6;
  --background-color: #fff;
  --dark-text-color: #000;
  --light-color: #eee;
  --dark-color: #ccc;
  --nav-background-color: #f2f2f2;
  --blue-1: #1a4993;
  --light-grey: #d1d1d1;
  --color-text-low: #1d1d1d;
  --menu-grey: #575a5e;
  --mortar-grey: #515151;
  --black-russian: #18171A;

  /* Arena Colors */
  --primary-color: #171c8f;
  --primary-color-hover: #0f1366;
  --white-smoke: #f5f5f5;
  --white-smoke-dark: #f9f9f9;
  --dark-blue: #01044b;
  --suva-grey: #8d8d8d;
  --egyptian-blue: #171d9b;
  --summer-sky: #398bd7;
  --suva-grey-light: #8e8e8e;
  --progress-bar-gray: #c5c5c5;
  --gainsboro-lt: #e4e4e4;
  --primary-variations-hover: #01044b;
  --neutrals-unfilled-inactive: #939393;
  --color-orange: #fcbe62;
  --color-blue: #398bd7;
  --color-green: #00bca4;
  --color-red: #e15f67;
  --color-card-hover: rgb(57 139 215 / 0.1);
  --border-color: rgb(255 255 255 / 30%);
  --error-color: #b00020;
  --success-color: #2e7d32;
  --color-focus-outline: rgb(229 151 0);
  --color-shadow-black: rgb(0 0 0 / 10%);
  --color-green-light: #d7f0cc;
  --innovation-blue: #2b3392;
  --innovation-grey: #e3e3e3;
  --innovation-grey-2: #e9e9e9;


  /* Gradient Color */
  --orange-gradient: linear-gradient(359deg, rgb(215 116 58 / 10%) -48.53%, rgb(255 255 255 / 10%) 43.7%);
  --blue-gradient: linear-gradient(359deg, rgb(57 139 215 / 10%) -48.53%, rgb(255 255 255 / 10%) 43.7%);
  --green-gradient: linear-gradient(359deg, rgb(0 188 164 / 10%) -48.53%, rgb(255 255 255 / 10%) 43.7%);
  --red-gradient: linear-gradient(359deg, rgb(225 95 103 / 10%) -48.53%, rgb(255 255 255 / 10%) 43.7%);
  --gray-gradient: linear-gradient(228deg, rgb(23 29 155 / 10%) 31.52%, rgb(255 98 0 / 10%) 111.9%);
  --border-gradient: linear-gradient(90deg, rgb(178 178 178 / 0) 0%, #b2b2b2 50.5%, rgb(178 178 178 / 0) 100%);
  --border-bottom-gradient: linear-gradient(90deg, rgb(0 0 0 / 0.00) 0%, #000 50%, rgb(0 0 0 / 0.00) 100%);

  /* Font sizes desktop */
  --fs-6: 0.375rem;
  --fs-8: 0.5rem;
  --fs-10: 0.625rem;
  --fs-12: 0.75rem;
  --fs-14: 0.875rem;
  --fs-16: 1rem;
  --fs-18: 1.125rem;
  --fs-20: 1.25rem;
  --fs-22: 1.375rem;
  --fs-24: 1.5rem;
  --fs-26: 1.625rem;
  --fs-28: 1.75rem;
  --fs-30: 1.875rem;
  --fs-32: 2rem;
  --fs-35: 2.188rem;
  --fs-38: 2.375rem;
  --fs-40: 2.5rem;
  --fs-48: 3rem;
  --fs-50: 3.125rem;
  --fs-56: 3.5rem;
  --fs-58: 3.625rem;
  --fs-60: 3.75rem;
  --fs-64: 4rem;
  --fs-90: 5.625rem;

  /* Line height */
  --lh-normal: 'normal';
  --lh-16: 16px;
  --lh-18: 18px;
  --lh-20: 20px;
  --lh-22: 22px;
  --lh-24: 24px;
  --lh-28: 28px;
  --lh-30: 30px;
  --lh-38: 38px;
  --lh-48: 48px;

  /* Font weights */
  --fw-100: 100;
  --fw-200: 200;
  --fw-300: 300;
  --fw-400: 400;
  --fw-500: 500;
  --fw-600: 600;
  --fw-700: 700;
  --fw-800: 800;

  /* Paddings */
  --sizing-1: 1px;
  --sizing-2: 2px;
  --sizing-4: 4px;
  --sizing-6: 6px;
  --sizing-8: 8px;
  --sizing-9: 9px;
  --sizing-10: 10px;
  --sizing-11: 11px;
  --sizing-12: 12px;
  --sizing-16: 16px;
  --sizing-17: 17px;
  --sizing-18: 18px;
  --sizing-20: 20px;
  --sizing-21: 21px;
  --sizing-24: 24px;
  --sizing-26: 26px;
  --sizing-30: 30px;
  --sizing-32: 32px;
  --sizing-33: 33px;
  --sizing-34: 34px;
  --sizing-40: 40px;
  --sizing-42: 42px;
  --sizing-48: 48px;
  --sizing-50: 50px;
  --sizing-56: 56px;
  --sizing-60: 60px;
  --sizing-64: 64px;
  --sizing-72: 72px;
  --sizing-75: 75px;
  --sizing-78: 78px;
  --sizing-80: 80px;
  --sizing-94: 94px;
  --sizing-100: 100px;
  --sizing-106: 106px;

  /* scroll */
  ::-webkit-scrollbar {
    width: var(--sizing-4);
    height: var(--sizing-4);
    background-color: var(--white-smoke);
    border-left: none;
  }

  ::-webkit-scrollbar-track {
    background-color: var(--white-smoke);
    border-left: var(--sizing-4) solid var(--white-smoke);
  }

  ::-webkit-scrollbar-thumb {
    background: none;
    cursor: pointer;
    position: relative;
    background-color: var(--primary-color);
  }

  /* Grid System */
  --grid-columns: 4;
  --grid-gutter-width: 16px;
  --container-margin: 20px;
  --grid-formula: (
    (
        (100vw - var(--container-margin) - var(--container-margin)) -
          (var(--grid-gutter-width) * (var(--grid-columns) - 1))
      ) /
      var(--grid-columns)
  );
}

body,
body.appear {
  font-size: var(--fs-22);
  font-family: var(--base-font-family);
  margin: 0;
  line-height: 1.5;
  background-color: var(--background-color);
  display: none;
  width: 100%;
  height: auto;
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  -o-font-smoothing: antialiased;
}

body.appear {
  display: block;
  overflow: unset;
}

p,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol {
  margin: 0;
  padding: 0;
}

* {
  box-sizing: border-box;
}

a:any-link {
  text-decoration: none;
}

.hidden {
  display: none !important;
}

.no-scroll {
  overflow: hidden;
}

.sr-only,
.splide__sr,
.block.seo-content-block {
  border: 0;
  clip-path: inset(0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

button {
  margin: 0;
  padding: 0;
  border: none;
  background: none;

  &:not(:disabled) {
    cursor: pointer;
  }

  &:focus-visible {
    outline: none;
  }
}

.btn {
  padding: var(--sizing-9) var(--sizing-16);
  font-weight: var(--fw-400);
  font-size: var(--fs-14);
  line-height: var(--lh-18);

  &:focus-visible {
    outline: 1px solid var(--primary-color);
    border-radius: var(--sizing-2);
  }
}

.btn--bold {
  font-weight: var(--fw-600);
  font-size: var(--fs-14);
  line-height: var(--lh-18);

  @media screen and (width >=1024px) {
    font-size: var(--fs-16);
    line-height: var(--lh-20);
  }
}

.btn--primary {
  border: 1px solid var(--primary-color);
  background: var(--primary-color);
  color: var(--white-smoke);

  &:hover:not(:disabled, .disabled),
  &:focus {
    border: 1px solid var(--primary-variations-hover);
    color: var(--background-color);
    background-color: var(--primary-variations-hover);
  }

  &.disabled,
  &:disabled {
    border: 1px solid var(--dark-color);
    background-color: var(--dark-color);
    color: var(--neutrals-unfilled-inactive);
    cursor: unset;
  }
}

.btn-light {
  font-weight: var(--fw-400);
  font-size: var(--fs-12);
  line-height: var(--lh-16);

  @media screen and (width >=768px) {
    font-size: var(--fs-14);
    line-height: var(--lh-20);
  }
}

.btn-bold {
  font-weight: var(--fw-700);
  font-size: var(--fs-12);
  line-height: var(--lh-18);

  @media screen and (width >=768px) {
    font-size: var(--fs-14);
    line-height: var(--lh-20);
  }
}

.sub-heading-light {
  font-weight: var(--fw-300);
  font-size: var(--fs-12);
  line-height: var(--lh-20);

  @media screen and (width >=768px) {
    font-size: var(--fs-14);
    margin-top: var(--sizing-18);
  }

  strong {
    font-weight: var(--fw-400);
  }
}

.sub-heading-regular {
  font-weight: var(--fw-300);
  font-size: var(--fs-16);
  line-height: var(--lh-20);

  @media screen and (width >=1024px) {
    font-size: var(--fs-20);
    line-height: var(--lh-24);
  }
}

.sub-heading-large-semi-bold {
  font-weight: var(--fw-600);
  font-size: var(--fs-16);
  line-height: var(--lh-20);

  @media screen and (width >=1024px) {
    font-size: var(--fs-20);
    line-height: var(--lh-24);
  }
}

.sub-heading-semi-bold {
  font-weight: var(--fw-600);
  font-size: var(--fs-14);
  line-height: var(--lh-18);

  @media screen and (width >=1024px) {
    font-size: var(--fs-16);
    line-height: var(--lh-20);
  }
}

.sub-heading-bold {
  font-weight: var(--fw-700);
  font-size: var(--fs-12);
  line-height: var(--lh-18);

  @media screen and (width >=1024px) {
    font-size: var(--fs-14);
    line-height: var(--lh-20);
  }
}

.heading-extra-large {
  font-weight: var(--fw-400);
  font-size: var(--fs-24);
  line-height: var(--lh-30);
  color: var(--dark-text-color);

  @media (width >=768px) {
    font-size: var(--fs-40);
    line-height: var(--lh-48);
  }

  strong {
    font-weight: var(--fw-700);
  }
}

.heading-footer {
  font-weight: var(--fw-600);
  font-size: var(--fs-14);
  line-height: var(--lh-20);

  @media screen and (width >=1024px) {
    font-size: var(--fs-18);
    line-height: var(--lh-24);
  }
}

.heading-light {
  font-weight: var(--fw-400);
  font-size: var(--fs-16);
  line-height: var(--lh-20);
  color: var(--dark-text-color);

  @media (width >=768px) {
    font-size: var(--fs-24);
    line-height: var(--lh-28);
  }
}

.heading-regular {
  font-weight: var(--fw-700);
  font-size: var(--fs-20);
  line-height: var(--lh-24);

  @media screen and (width >=1024px) {
    font-size: var(--fs-32);
    line-height: var(--lh-38);
  }
}

.heading-bold {
  font-weight: var(--fw-700);
  font-size: var(--fs-24);
  line-height: var(--lh-30);
}

.heading-semi-bold {
  font-weight: var(--fw-500);
  font-size: var(--fs-14);
  line-height: var(--lh-18);

  @media screen and (width >=768px) {
    font-size: var(--fs-16);
    line-height: var(--lh-20);
  }

  .strong {
    font-weight: var(--fw-700);
  }
}

.body-regular {
  font-weight: var(--fw-300);
  font-size: var(--fs-14);
  line-height: var(--lh-20);

  strong {
    font-size: var(--fs-12);
    font-weight: var(--fw-600);

    @media (width>=768px) {
      font-size: var(--fs-14);
    }
  }
}

.text-small-regular {
  font-weight: var(--fw-300);
  font-size: var(--fs-16);
  line-height: var(--lh-20);
}

.text-small-bold {
  font-weight: var(--fw-700);
  font-size: var(--fs-12);
  line-height: var(--lh-18);

  @media screen and (width >=768px) {
    font-size: var(--fs-14);
    line-height: var(--lh-18);
  }
}

.text-large-medium {
  font-weight: var(--fw-500);
  font-size: var(--fs-16);
  line-height: var(--lh-20);

  @media screen and (width >=768px) {
    font-size: var(--fs-24);
    line-height: var(--lh-28);
  }
}

.text-xs-bold {
  font-size: var(--fs-12);
  font-weight: var(--fw-700);
  line-height: var(--lh-20);

  @media (width>=768px) {
    font-size: var(--fs-14);
  }
}

.text-xxsmall-regular {
  font-size: var(--fs-12);
  font-weight: var(--fw-300);
  line-height: var(--lh-16);

  @media screen and (width >=768px) {
    line-height: var(--lh-18);
  }
}

.text-xsmall-regular {
  font-size: var(--fs-12);
  font-weight: var(--fw-400);
  line-height: var(--lh-16);

  @media screen and (width >=768px) {
    font-size: var(--fs-14);
    line-height: var(--lh-20);
  }
}

.text-regular {
  font-weight: var(--fw-400);
  font-size: var(--fs-14);
  line-height: var(--lh-20);
}

.sub-heading-extra-large {
  font-weight: var(--fw-400);
  font-size: var(--fs-20);
  line-height: var(--lh-24);
  color: var(--dark-text-color);

  @media (width >=768px) {
    font-size: var(--fs-32);
    line-height: var(--lh-38);
  }

  strong {
    font-weight: var(--fw-700);
  }
}

.card-title-semi-bold {
  font-size: var(--fs-16);
  font-weight: var(--fw-600);
  line-height: var(--lh-20);

  @media (width >= 768px) {
    font-size: var(--fs-24);
  }
}

.list-title-bold {
  font-size: var(--fs-16);
  font-weight: var(--fw-700);
  line-height: var(--lh-20);
  
  @media (width >= 768px) {
    font-size: var(--fs-24);
    line-height: var(--lh-28);
  }
}

.list-title-medium {
  font-size: var(--fs-16);
  font-weight: var(--fw-500);
  line-height: var(--lh-20);
  
  @media (width >= 768px) {
    font-size: var(--fs-20);
    line-height: var(--lh-24);
  }
}

.card-sub-title-medium {
  font-size: var(--fs-14);
  font-weight: var(--fw-500);
  line-height: var(--lh-18);

  @media (width >= 768px) {
    font-size: var(--fs-16);
    line-height: var(--lh-20);
  }
}

.card-description-regular {
  font-size: var(--fs-12);
  font-weight: var(--fw-400);
  line-height: var(--lh-16);

  @media (width >= 768px) {
    font-size: var(--fs-14);
    line-height: var(--lh-20);
  }
}

.blog-title-bold {
  font-size: var(--fs-20);
  font-weight: var(--fw-700);
  line-height: var(--lh-24);

  @media (width >= 768px) {
    font-size: var(--fs-32);
    line-height: var(--lh-38);
  }
}

.heading-extra-large *,
.text-large-medium * {
  font: inherit;
  color: inherit;
}

.tab-link-label-large {
  font-size: var(--fs-12);
  font-weight: var(--fw-600);
  line-height: var(--lh-16);
  
  @media (width >= 991px) {
    font-size: var(--fs-24);
    font-weight: var(--fw-700);
    line-height: var(--lh-28);
  }
}

/* Grid System responsive */
@media screen and (width >=768px) {
  :root {
    --grid-columns: 8;
    --grid-gutter-width: 24px;
    --nav-total-height: 112px;
    --container-margin: 56px;
  }
}

@media screen and (width >=1024px) {
  :root {
    --grid-columns: 12;
    --grid-gutter-width: 24px;
  }
}

@media screen and (width >=1200px) {
  :root {
    --nav-top-height: 64px;
  }
}

@media screen and (width >=1200px) {
  :root {
    --nav-top-height: 64px;
  }
}

@media screen and (width >=1600px) {
  :root {
    --container-margin: 60px;
  }
}

/* Grid system */
.g-container {
  width: 100%;
  padding-inline: var(--container-margin);
}

.g-row {
  display: flex;
  flex-wrap: wrap;
  column-gap: var(--grid-gutter-width);
}

[class^='g-lg'],
[class^='g-sm'],
[class^='g-md'] {
  width: 100%;
}

.g-sm-1 {
  width: calc((var(--grid-formula) * 1) + (var(--grid-gutter-width) * (1 - 1)));
}

.g-sm-2 {
  width: calc((var(--grid-formula) * 2) + (var(--grid-gutter-width) * (2 - 1)));
}

.g-sm-3 {
  width: calc((var(--grid-formula) * 3) + (var(--grid-gutter-width) * (3 - 1)));
}

.g-sm-4 {
  width: calc((var(--grid-formula) * 4) + (var(--grid-gutter-width) * (4 - 1)));
}

.g-sm-5 {
  width: calc((var(--grid-formula) * 5) + (var(--grid-gutter-width) * (5 - 1)));
}

.g-sm-7 {
  width: calc((var(--grid-formula) * 7) + (var(--grid-gutter-width) * (7 - 1)));
}

@media screen and (width >=768px) {
  .g-md-1 {
    width: calc((var(--grid-formula) * 1) + (var(--grid-gutter-width) * (1 - 1)));
  }

  .g-md-2 {
    width: calc((var(--grid-formula) * 2) + (var(--grid-gutter-width) * (2 - 1)));
  }

  .g-md-3 {
    width: calc((var(--grid-formula) * 3) + (var(--grid-gutter-width) * (3 - 1)));
  }

  .g-md-4 {
    width: calc((var(--grid-formula) * 4) + (var(--grid-gutter-width) * (4 - 1)));
  }

  .g-md-5 {
    width: calc((var(--grid-formula) * 5) + (var(--grid-gutter-width) * (5 - 1)));
  }

  .g-md-6 {
    width: calc((var(--grid-formula) * 6) + (var(--grid-gutter-width) * (6 - 1)));
  }

  .g-md-7 {
    width: calc((var(--grid-formula) * 7) + (var(--grid-gutter-width) * (7 - 1)));
  }

  .g-md-8 {
    width: calc((var(--grid-formula) * 8) + (var(--grid-gutter-width) * (8 - 1)));
  }
}

/* Media Queries for desktop */
@media screen and (width >=1024px) {
  .g-lg-1 {
    width: calc((var(--grid-formula) * 1) + (var(--grid-gutter-width) * (1 - 1)));
  }

  .g-lg-2 {
    width: calc((var(--grid-formula) * 2) + (var(--grid-gutter-width) * (2 - 1)));
  }

  .g-lg-3 {
    width: calc((var(--grid-formula) * 3) + (var(--grid-gutter-width) * (3 - 1)));
  }

  .g-lg-4 {
    width: calc((var(--grid-formula) * 4) + (var(--grid-gutter-width) * (4 - 1)));
  }

  .g-lg-5 {
    width: calc((var(--grid-formula) * 5) + (var(--grid-gutter-width) * (5 - 1)));
  }

  .g-lg-6 {
    width: calc((var(--grid-formula) * 6) + (var(--grid-gutter-width) * (6 - 1)));
  }

  .g-lg-7 {
    width: calc((var(--grid-formula) * 7) + (var(--grid-gutter-width) * (7 - 1)));
  }

  .g-lg-8 {
    width: calc((var(--grid-formula) * 8) + (var(--grid-gutter-width) * (8 - 1)));
  }

  .g-lg-9 {
    width: calc((var(--grid-formula) * 9) + (var(--grid-gutter-width) * (9 - 1)));
  }

  .g-lg-10 {
    width: calc((var(--grid-formula) * 10) + (var(--grid-gutter-width) * (10 - 1)));
  }

  .g-lg-11 {
    width: calc((var(--grid-formula) * 11) + (var(--grid-gutter-width) * (11 - 1)));
  }

  .g-lg-12 {
    width: calc((var(--grid-formula) * 12) + (var(--grid-gutter-width) * (12 - 1)));
  }
}

/* Media Queries for Large desktop */
@media screen and (width >=1366px) {
  .g-xl-1 {
    width: calc((var(--grid-formula) * 1) + (var(--grid-gutter-width) * (1 - 1)));
  }

  .g-xl-2 {
    width: calc((var(--grid-formula) * 2) + (var(--grid-gutter-width) * (2 - 1)));
  }

  .g-xl-3 {
    width: calc((var(--grid-formula) * 3) + (var(--grid-gutter-width) * (3 - 1)));
  }

  .g-xl-4 {
    width: calc((var(--grid-formula) * 4) + (var(--grid-gutter-width) * (4 - 1)));
  }

  .g-xl-5 {
    width: calc((var(--grid-formula) * 5) + (var(--grid-gutter-width) * (5 - 1)));
  }

  .g-xl-6 {
    width: calc((var(--grid-formula) * 6) + (var(--grid-gutter-width) * (6 - 1)));
  }

  .g-xl-7 {
    width: calc((var(--grid-formula) * 7) + (var(--grid-gutter-width) * (7 - 1)));
  }

  .g-xl-8 {
    width: calc((var(--grid-formula) * 8) + (var(--grid-gutter-width) * (8 - 1)));
  }

  .g-xl-9 {
    width: calc((var(--grid-formula) * 9) + (var(--grid-gutter-width) * (9 - 1)));
  }

  .g-xl-10 {
    width: calc((var(--grid-formula) * 10) + (var(--grid-gutter-width) * (10 - 1)));
  }

  .g-xl-11 {
    width: calc((var(--grid-formula) * 11) + (var(--grid-gutter-width) * (11 - 1)));
  }

  .g-xl-12 {
    width: calc((var(--grid-formula) * 12) + (var(--grid-gutter-width) * (12 - 1)));
  }
}

html {
  width: 100vw;
  overflow-x: hidden;
}

html:has(.prevent-document-scroll),
html.no-bg-scroll {
  overflow: hidden;
}

.splide__track {
  position: relative;
  z-index: 0;
  overflow: hidden;
  height: 100%;
}

.splide__track--draggable {
  user-select: none;
}

.splide__list {
  backface-visibility: hidden;
  display: flex;
  height: 100%;
  padding: 0 !important;
}

.splide__slide {
  backface-visibility: hidden;
  box-sizing: border-box;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.splide__sr,
.sr-only {
  border: 0;
  clip-path: inset(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

/* Custom Splide arrows styling */
.splide__arrows {
  margin-top: var(--sizing-32);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--sizing-8);

  .splide__arrow {
    background: var(--primary-color);
    width: 32px;
    height: 32px;
    position: relative;
    padding: 0;
    border: none;
    border: var(--sizing-1) solid transparent;

    &:focus-visible {
      outline: var(--sizing-1) solid var(--primary-color);
      border-radius: var(--sizing-2);
      outline-offset: var(--sizing-2);
    }

    &::before {
      content: '';
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 21px;
      height: 21px;
      background: center / contain no-repeat;
      pointer-events: none;
    }

    /* default (enabled) icons */
    &.splide__arrow--prev::before {
      background-image: url('/icons/left-arrow-white.svg');
    }

    &.splide__arrow--next::before {
      background-image: url('/icons/right-arrow-white.svg');
    }

    /* disabled state */
    &:disabled,
    &[disabled] {
      opacity: 1;
      border: var(--sizing-1) solid var(--primary-color);
      background: transparent;

      &.splide__arrow--prev::before {
        background-image: url('/icons/left-arrow-blue.svg');
      }

      &.splide__arrow--next::before {
        background-image: url('/icons/right-arrow-blue.svg');
      }
    }
  }
}

/* Hide navigation container when both arrows are disabled (modern browsers supporting :has) */
.splide__arrows:has(.splide__arrow--prev[disabled]):has(.splide__arrow--next[disabled]) {
  display: none;
}

/* Modal Background Style */
.modal-bg {
  background: rgb(0 0 0 / 70%);
  backdrop-filter: blur(4px);
}

/* Custom Dropdown Style */
.dropdown-select {
  position: relative;
}
 
.dropdown-select::before {
  content: '';
  width: 24px;
  height: 24px;
  background: url(/icons/dropdown-icon.svg) no-repeat center / contain;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.dropdown-select.active::before {
  transform: translateY(-50%) rotate(180deg);
}

.dropdown-placeholder {
  padding-right: var(--sizing-24);
}
 
.dropdown-list {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  border: 1px solid var(--dark-color);
  background-color: var(--background-color);
  max-height: 200px;
  overflow-y: auto;
  z-index: 9;
  margin: 0;
  padding: 0;
  list-style: none;
}
 
.dropdown-list button {
  padding: var(--sizing-10);
  cursor: pointer;
  width: 100%;
  text-align: left;
}
 
.dropdown-list button:focus-visible {
  outline: var(--sizing-1) solid var(--dark-text-color);
  outline-offset: -3px;
}
 
.dropdown-list button:hover {
  background: var(--light-grey);
}

.dropdown-list .dropdown-item[aria-selected='true'] {
  background: var(--light-grey);
}

.dropdown-native-select {
  display: none;
}

@media (width <= 767px) {
  .dropdown-select.dropdown-select--native-mobile .dropdown-native-select {
    display: block;
    width: 100%;
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    border-radius: 0;
    border-bottom: var(--sizing-1) solid var(--dark-text-color);
    background: transparent;
    box-shadow: none;
    color: var(--dark-text-color);
    font: inherit;
    padding: 0 var(--sizing-28) var(--sizing-8) 0;
    min-height: 40px;
  }

  .dropdown-select.dropdown-select--native-mobile .dropdown-placeholder,
  .dropdown-select.dropdown-select--native-mobile .dropdown-list {
    display: none;
  }

  .dropdown-select.dropdown-select--native-mobile::before {
    display: block;
    right: 0;
    pointer-events: none;
  }
}

/* Form Style */
.fv-error-message {
  color: var(--error-color);
}

input[type='text'] {
  border: unset;
  border-bottom: var(--sizing-1) solid var(--dark-text-color);
  height: 40px;
  width: 100%;
  padding: 0;
  font-weight: var(--fw-400);
  font-size: var(--fs-14);
  line-height: var(--lh-18);
  color: var(--dark-text-color);

  @media (width >= 768px) {
    font-size: var(--fs-16);
    line-height: var(--lh-20);
  }
}

textarea::placeholder,
input[type='text']::placeholder {
  font-weight: var(--fw-400);
  font-size: var(--fs-14);
  line-height: var(--lh-18);
  color: var(--dark-text-color);
  font-family: var(--base-font-family);

  @media (width >= 768px) {
    font-size: var(--fs-16);
    line-height: var(--lh-20);
  }
}

input[type='checkbox'] {
  width: 24px;
  min-width: 24px;
  height: 24px;
  margin: 0 var(--sizing-12) 0 0;
}

label.checkbox {
  display: flex;
  align-items: center;
}

input[type='file'] {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

input[type='file']:focus-visible + .custom-file {
  outline: var(--sizing-2) solid var(--dark-text-color);
}

.custom-file {
  border: var(--sizing-1) dashed var(--suva-grey);
  padding-block: var(--sizing-24);
  text-align: center;
  margin-top: var(--sizing-16);
  cursor: pointer;
}

.custom-sub-label {
  display: inline-block;
  width: 100%;
  margin-top: var(--sizing-8);
}

.custom-file span {
  display: inline-block;
  width: 100%;
  max-width: 280px;
  position: relative;
  padding-top: 36px;
}

.custom-file span::before {
  content: '';
  background: url(/icons/file-icon.svg) no-repeat center / contain;
  width: 24px;
  height: 24px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

textarea {
  border: var(--sizing-1) solid var(--suva-grey);
  padding: var(--sizing-24);
  width: 100%;
  min-height: 100px;
  font-weight: var(--fw-400);
  font-size: var(--fs-14);
  line-height: var(--lh-18);
  color: var(--dark-text-color);

  @media (width >= 768px) {
    font-size: var(--fs-16);
    line-height: var(--lh-20);
  }
}

form .dropdown-select {
  border-bottom: var(--sizing-1) solid var(--dark-text-color);
  height: 40px;
  width: 100%;
  font-size: var(--fs-14);
  font-weight: var(--fw-400);
  line-height: var(--lh-18);
  color: var(--dark-text-color);
  display: flex;
  align-items: center;
  
  @media (width >= 768px) {
    font-size: var(--fs-16);
    line-height: var(--lh-20);
  }
}

main div.section:not(.breadcrumb-container, .no-margin) {
  margin-bottom: var(--sizing-48);
}

/* Animation */
.animate {
  opacity: 0;
  transition: all 0.8s ease;

  &.visible {
    opacity: 1;
    transform: translate(0, 0) scale(1);
  }
}

.from-left {
  transform: translateX(-100px);
}

.from-right {
  transform: translateX(100px);
}

.from-bottom {
  transform: translateY(80px);
}

.fade-in {
  transform: scale(0.9);
}
