@charset "UTF-8";
/* 
Theme name: Na Výsluní
Author: Jan Kolařík
Author's url: www.kolarikjan.cz
*/
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0-modified | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
}

/* make sure to set some focus styles for accessibility */
:focus {
  outline: 0;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-results-button,
input[type=search]::-webkit-search-results-decoration {
  -webkit-appearance: none;
  -moz-appearance: none;
}

input[type=search] {
  -webkit-appearance: none;
  -moz-appearance: none;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}

textarea {
  overflow: auto;
  vertical-align: top;
  resize: vertical;
}

/**
 * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
 */
audio,
canvas,
video {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  max-width: 100%;
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.
 * Known issue: no IE 6 support.
 */
[hidden] {
  display: none;
}

/**
 * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
 *    `em` units.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-size: 100%; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -ms-text-size-adjust: 100%; /* 2 */
}

/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */
a:focus {
  outline: 0;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}

/**
 * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.
 * 2. Improve image quality when scaled in IE 7.
 */
img {
  border: 0; /* 1 */
  -ms-interpolation-mode: bicubic; /* 2 */
}

/**
 * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11.
 */
figure {
  margin: 0;
}

/**
 * Correct margin displayed oddly in IE 6/7.
 */
form {
  margin: 0;
}

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct color not being inherited in IE 6/7/8/9.
 * 2. Correct text not wrapping in Firefox 3.
 * 3. Correct alignment displayed oddly in IE 6/7.
 */
legend {
  border: 0; /* 1 */
  padding: 0;
  white-space: normal; /* 2 */
  *margin-left: -7px; /* 3 */
}

/**
 * 1. Correct font size not being inherited in all browsers.
 * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,
 *    and Chrome.
 * 3. Improve appearance and consistency in all browsers.
 */
button,
input,
select,
textarea {
  font-size: 100%; /* 1 */
  margin: 0; /* 2 */
  vertical-align: baseline; /* 3 */
  *vertical-align: middle; /* 3 */
}

/**
 * Address Firefox 3+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
button,
input {
  line-height: normal;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */
button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
 *    Known issue: inner spacing remains in IE 6.
 */
button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button; /* 2 */
  cursor: pointer; /* 3 */
  *overflow: visible; /* 4 */
}

/**
 * Re-set defaults cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * 1. Address box sizing set to content-box in IE 8/9.
 * 2. Remove excess padding in IE 8/9.
 * 3. Remove excess padding in IE 7.
 *    Known issue: excess padding remains in IE 6.
 */
input[type=checkbox],
input[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
  *height: 13px; /* 3 */
  *width: 13px; /* 3 */
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */
input[type=search] {
  -webkit-appearance: textfield; /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box; /* 2 */
  box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Remove inner padding and border in Firefox 3+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * 1. Remove defaults vertical scrollbar in IE 6/7/8/9.
 * 2. Improve readability and alignment in all browsers.
 */
textarea {
  overflow: auto; /* 1 */
  vertical-align: top; /* 2 */
}

/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}

::selection {
  background: #b3d4fc;
  text-shadow: none;
}

img {
  vertical-align: middle;
}

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

textarea {
  resize: none;
}

input::placeholder, textarea::placeholder {
  color: inherit;
  opacity: 1;
}

button {
  border: 0;
  background-color: transparent;
  box-shadow: none;
  outline: none;
}

input[type=number] {
  -moz-appearance: textfield;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

::selection {
  background-color: #3a3080;
  filter: opacity(0.75);
  color: #fefefe;
}

* {
  box-sizing: border-box;
}

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
  height: auto;
}

html {
  scroll-behavior: smooth;
}

body {
  position: relative;
  overflow-x: hidden;
  background-color: #fefefe;
  color: #030609;
  font-family: "Yellix", sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.6;
}
@media only screen and (max-width: 991px) {
  body {
    font-size: 1rem;
  }
}

a {
  transition-duration: 0.15s;
  text-decoration: none;
  color: #030609;
  text-decoration: underline;
  text-underline-offset: 0.1875rem;
}
a:hover {
  color: #3a3080;
}

.no-scroll {
  overflow: hidden;
}

.body ul {
  list-style: none;
}
.body ol {
  list-style: decimal;
  padding-left: 1.25rem;
}
.body ul li {
  width: fit-content;
  position: relative;
  padding-left: 1rem;
}
.body ul li::before {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  background-color: #030609;
  height: 0.0625rem;
  width: 0.5rem;
  margin-top: 0.925rem;
  flex-shrink: 0;
  margin-right: 0.5rem;
}
.body ul, .body ol {
  margin-bottom: 2rem;
}
@media only screen and (max-width: 991px) {
  .body ul, .body ol {
    text-align: left;
  }
}

h1, h2, h3, h4, h5, h6, .as-h1, .as-h2, .as-h3, .as-h4, .as-h5 {
  color: #030609;
  font-family: "Yellix", sans-serif;
  line-height: 1.15;
  font-weight: 600;
}

h1, .as-h1 {
  font-size: 5rem;
  margin-top: 3.5rem;
  margin-bottom: 2.5rem;
  line-height: 1.05;
  letter-spacing: -0.125rem;
}
@media only screen and (max-width: 991px) {
  h1, .as-h1 {
    font-size: 3.75rem;
  }
}
@media only screen and (max-width: 576px) {
  h1, .as-h1 {
    font-size: 2.5rem;
    letter-spacing: -0.0625rem;
    line-height: 1.1;
  }
}
@media only screen and (max-width: 365px) {
  h1, .as-h1 {
    font-size: 2.25rem;
  }
}

h2, .as-h2 {
  font-size: 4.75rem;
  margin-top: 3.5rem;
  margin-bottom: 3rem;
  letter-spacing: -0.09375rem;
}
@media only screen and (max-width: 768px) {
  h2, .as-h2 {
    font-size: 2.25rem;
    line-height: 1.2;
    margin-top: 2.5rem;
    margin-bottom: 1.75rem;
  }
}

h3, .as-h3 {
  font-size: 3.4375rem;
  margin-top: 3.5rem;
  margin-bottom: 2.25rem;
  letter-spacing: -0.078125rem;
}
@media only screen and (max-width: 768px) {
  h3, .as-h3 {
    font-size: 1.75rem;
    line-height: 1.2;
    margin-top: 2.5rem;
    margin-bottom: 1.5rem;
  }
}

h4, .as-h4 {
  font-size: 2.5rem;
  margin-top: 3.5rem;
  margin-bottom: 2.25rem;
  letter-spacing: -0.0625rem;
}
@media only screen and (max-width: 768px) {
  h4, .as-h4 {
    font-size: 1.5rem;
    line-height: 1.2;
    margin-top: 2.5rem;
    margin-bottom: 1.5rem;
  }
}

h5, .as-h5, h6 {
  font-size: 1.875rem;
  margin-top: 3.5rem;
  margin-bottom: 1.75rem;
  letter-spacing: -0.046875rem;
}
@media only screen and (max-width: 768px) {
  h5, .as-h5, h6 {
    font-size: 1.5rem;
    letter-spacing: -0.03125rem;
    line-height: 1.2;
    margin-top: 2.5rem;
    margin-bottom: 1.5rem;
  }
}

@media only screen and (min-width: 991px) {
  .as-lg-h4 {
    font-size: 2.5rem;
    margin-top: 3.5rem;
    margin-bottom: 2.25rem;
    letter-spacing: -0.0625rem;
  }
  .as-lg-h5 {
    font-size: 1.875rem;
    margin-top: 3.5rem;
    margin-bottom: 1.75rem;
    letter-spacing: -0.046875rem;
  }
}
p {
  margin-bottom: 2rem;
}
@media only screen and (max-width: 768px) {
  p {
    margin-bottom: 1.5rem;
  }
}
p:last-child {
  margin-bottom: 0;
}

strong, b {
  font-weight: 600;
  color: #030609;
}

iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}

table {
  width: 100%;
  overflow-y: scroll;
}
table:not(:first-child) {
  margin-top: 3.5rem;
}
table:not(:last-child) {
  margin-bottom: 2rem;
}
table tr > th {
  background-color: #3a3080 !important;
  padding: 1rem 1.5rem;
  border: 0;
  color: #fefefe;
  font-weight: 700;
}
table tr > td {
  background-color: #fefefe;
  padding: 1rem 1.5rem;
  border: 0;
}
table tr:nth-child(even) > td {
  background-color: #7b76a3;
}
table tr:not(:last-child) > td {
  border-bottom: 0 !important;
}

.container {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
@media only screen and (min-width: 1475px) {
  .container {
    max-width: 1100px;
  }
}
.container-extended {
  margin: 0 -7.5rem;
}
@media only screen and (max-width: 1600px) {
  .container-extended {
    margin: 0 -2rem;
  }
}
@media only screen and (max-width: 1475px) {
  .container-extended {
    margin: 0;
  }
}

.header {
  width: 100%;
  background-color: #fefefe;
}
@media only screen and (min-width: 1925px) {
  .header .container-fluid {
    max-width: calc(1200px + 15rem);
  }
}
.header-wrapper {
  position: relative;
  padding: 1.5rem 1.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 3rem;
}
@media only screen and (max-width: 991px) {
  .header-wrapper {
    padding: 0.5rem 0.5rem;
  }
}
.header-menu {
  z-index: 1000;
}
.header-logo-link, .header-menu, .header-toggler {
  position: relative;
  z-index: 10;
}
.header-logo {
  height: 3rem;
}
.header-logo::after {
  content: "";
  position: absolute;
  top: 0;
  height: 100%;
  left: -3.5rem;
  width: 22.5rem;
  background-image: url("../../img/logo/logo-light-small.svg");
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 0;
}
.header-logo-link {
  text-decoration: none;
  font-family: "Ogilvy Sans", sans-serif;
  color: #fefefe !important;
  font-size: 1.875rem;
  font-weight: 500;
  padding: 0;
}
.header-menu {
  margin-left: auto;
}
.header-menu ul {
  display: flex;
  align-items: center;
  gap: 2rem;
}
.header-menu ul a {
  font-family: "Ogilvy Sans", sans-serif;
  text-decoration: none;
  display: block;
  color: #030609;
  position: relative;
}
.header-menu ul a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 0.0625rem;
  background: #3a3080;
  transition-duration: 0.25s;
}
.header-menu ul a:hover, .header-menu ul a.active {
  color: #3a3080;
}
.header-menu ul a:hover::after, .header-menu ul a.active::after {
  width: 100%;
}
@media only screen and (max-width: 991px) {
  .header-menu ul a:hover, .header-menu ul a.active {
    color: #fefefe;
  }
  .header-menu ul a:hover::after, .header-menu ul a.active::after {
    background: #fefefe;
  }
}
.header-menu-item.has-dropdown {
  position: relative;
}
.header-menu-item.has-dropdown > .header-menu-link {
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.header-menu-chevron {
  width: 1rem;
  height: 1rem;
  transition: transform 0.3s ease;
}
.dropdown-active .header-menu-chevron {
  transform: rotate(180deg);
}
@media only screen and (max-width: 991px) {
  .dropdown-active .header-menu-chevron {
    transform: rotate(0deg);
  }
}
.header-menu-dropdown {
  position: absolute;
  top: 100%;
  left: -2.25rem;
  margin-top: 1rem;
  background: #fefefe;
  border-radius: 1.5625rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  min-width: 250px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: all 0.3s ease;
  z-index: 10000;
}
.dropdown-active .header-menu-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.header-menu-dropdown-header {
  display: none;
}
.header-menu-dropdown-close {
  display: none;
}
.header-menu-dropdown-title {
  display: none;
}
.header-menu-dropdown-list {
  display: flex;
  flex-direction: column;
  padding: 0.75rem;
}
.header-menu-dropdown-list li {
  list-style: none;
  display: block;
}
.header-menu-dropdown-list a {
  width: fit-content;
}
@media only screen and (min-width: 991px) {
  .header-menu-dropdown-list {
    gap: 0 !important;
  }
  .header-menu-dropdown-list li {
    width: 100%;
  }
  .header-menu-dropdown-list a {
    width: 100%;
    padding: 0.75rem 1.5rem;
    white-space: nowrap;
    transition: background-color 0.2s ease;
    display: block;
    border-radius: 1rem;
  }
  .header-menu-dropdown-list a::after {
    display: none;
  }
  .header-menu-dropdown-list a:hover {
    background-color: rgba(123, 118, 162, 0.1);
    color: #3a3080;
  }
}
@media only screen and (max-width: 991px) {
  .header-menu-dropdown {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0;
    background: #4d4683;
    border-radius: 0;
    box-shadow: none;
    min-width: 0;
    width: 100%;
    height: 100dvh;
    z-index: 10000;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0;
    transform: translateX(-100%);
    opacity: 1;
    visibility: visible;
  }
  .dropdown-active .header-menu-dropdown {
    transform: translateX(0);
  }
  .header-menu-dropdown-header {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 1.5rem 1.25rem;
    position: absolute;
    gap: 1rem;
    top: 0;
    left: 0;
    right: 0;
  }
  .header-menu-dropdown-title {
    display: block;
    color: #fefefe;
    font-size: 1.5rem;
    font-family: "Ogilvy Sans", sans-serif;
    font-weight: 500;
  }
  .header-menu-dropdown-close {
    display: flex !important;
    align-items: center;
    justify-content: center;
    color: #fefefe;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 50%;
    border: 2px solid #fefefe;
    transition: opacity 0.3s ease;
  }
  .header-menu-dropdown-close::after {
    content: none !important;
  }
  .header-menu-dropdown-close svg {
    width: 1.5rem;
    height: 1.5rem;
  }
  .header-menu-dropdown-close:hover {
    color: #fefefe;
    opacity: 0.75;
  }
  .header-menu-dropdown-list {
    padding: 2rem 1.25rem;
    gap: 1rem;
    width: auto;
    align-items: center;
  }
  .header-menu-dropdown-list a {
    width: fit-content;
  }
}
.header-menu-close {
  display: none;
}
ul .header-menu-lang {
  margin-left: 2rem;
  background-color: #7b76a2;
  border-radius: 1.5625rem;
  display: flex;
  padding: 0.5rem 0.875rem;
  gap: 1rem;
}
@media only screen and (max-width: 991px) {
  ul .header-menu-lang {
    margin-left: 0;
  }
}
ul .header-menu-lang a {
  line-height: 1;
}
ul .header-menu-lang a::after {
  content: none;
}
ul .header-menu-lang a:not(:first-child)::before {
  content: "";
  width: 0.125rem;
  height: 100%;
  position: absolute;
  left: -0.5rem;
  top: 0;
  background-color: #fefefe;
}
ul .header-menu-lang a:not(.current) {
  color: rgba(254, 254, 254, 0.5);
}
ul .header-menu-lang a, ul .header-menu-lang a:hover {
  color: #fefefe;
}
@media only screen and (max-width: 991px) {
  .header-menu {
    transition: all 0.375s;
    position: fixed;
    background: #3a3080;
    top: 0;
    bottom: 0;
    right: 0;
    width: 21.875rem;
    height: 100dvh;
    z-index: 9999;
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
    transform: translateX(100%);
    margin: 0;
    overflow-x: hidden;
    overflow-y: auto;
  }
}
@media only screen and (max-width: 991px) and (max-width: 576px) {
  .header-menu {
    width: 17.1875rem;
  }
}
@media only screen and (max-width: 991px) {
  .header-menu.active {
    transform: translateX(0);
  }
  .header-menu ul {
    flex-direction: column;
    gap: 1rem;
  }
  .header-menu ul a {
    color: #fefefe;
    font-size: 1.25rem;
  }
  .header-menu-close {
    display: block;
    color: #fefefe;
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 2rem;
    height: 2rem;
  }
  .header-menu-close:hover {
    color: #fefefe;
    opacity: 0.5;
  }
}

.section {
  position: relative;
  padding: 10rem 0;
}
@media only screen and (max-width: 768px) {
  .section {
    padding: 4.5rem 0;
  }
}
.section-spacing-bottom {
  margin-bottom: 0.5rem;
}
.section-spacing-bottom-large {
  margin-bottom: 3.25rem;
}
@media only screen and (max-width: 768px) {
  .section-spacing-bottom-large {
    margin-bottom: 0;
  }
}
.section-spacing-horizontal {
  margin-left: 2rem;
  margin-right: 2rem;
}
@media only screen and (max-width: 991px) {
  .section-spacing-horizontal {
    margin-left: 1.25rem;
    margin-right: 1.25rem;
  }
}
.section-header {
  margin-bottom: 7.5rem;
  position: relative;
}
@media only screen and (max-width: 991px) {
  .section-header {
    text-align: center;
  }
}
@media only screen and (max-width: 768px) {
  .section-header {
    margin-bottom: 2.75rem;
  }
}
.section-header-small {
  margin-bottom: 3.5rem;
}
@media only screen and (max-width: 768px) {
  .section-header-small {
    margin-bottom: 2rem;
  }
}
.section-header-pretitle {
  font-family: "Museo Sans", sans-serif;
  display: block;
  font-size: 1.625rem;
  line-height: 1.4;
  font-weight: 600;
  margin-bottom: 1rem;
  opacity: 0.7;
  color: #3a3080;
}
@media only screen and (max-width: 768px) {
  .section-header-pretitle {
    margin-bottom: 0.5rem;
    font-size: 1.25rem;
  }
}
.section-header-with-subtitle {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
@media only screen and (max-width: 991px) {
  .section-header-with-subtitle {
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
  }
}
.section-header-with-subtitle h1, .section-header-with-subtitle h2, .section-header-with-subtitle h3 {
  max-width: 28.125rem;
}
@media only screen and (max-width: 991px) {
  .section-header-with-subtitle h1, .section-header-with-subtitle h2, .section-header-with-subtitle h3 {
    max-width: 100%;
  }
}
.section-header.centered, .section-header-small.centered {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 991px) {
  .section-header.centered-lg {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }
  .section-header.centered-lg h1, .section-header.centered-lg h2, .section-header.centered-lg h3 {
    text-align: center;
  }
}
.section-header h1, .section-header h2, .section-header h3, .section-header-small h1, .section-header-small h2, .section-header-small h3 {
  margin-top: 0;
  margin-bottom: 0;
}
.section-header p {
  margin-bottom: 0;
}
.section-header-small-title {
  display: block;
  color: #030609;
  font-weight: 600;
  font-size: 1.75rem;
  line-height: 1.4;
}
@media only screen and (max-width: 768px) {
  .section-header-small-title {
    font-size: 1.25rem;
    font-weight: 500;
    margin-bottom: 0.25rem;
  }
}
.section-footer {
  margin-top: 7.5rem;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .section-footer {
    margin-top: 2.75rem;
  }
}
.section-footer-small {
  margin-top: 3.5rem;
}
@media only screen and (max-width: 768px) {
  .section-footer-small {
    margin-top: 2rem;
  }
}
.section-footer.centered {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.section-footer h1, .section-footer h2, .section-footer h3, .section-footer-small h1, .section-footer-small h2, .section-footer-small h3 {
  margin-top: 0;
  margin-bottom: 0;
}
.section-footer p {
  margin-bottom: 0;
}
.section-strip {
  padding: 7.5rem 0;
}
@media only screen and (max-width: 768px) {
  .section-strip {
    padding: 4.5rem 0;
  }
}
.section-strip .section-title {
  margin-bottom: 0;
}
.section-purple {
  background-color: #7b76a2;
}
.section-purple h1, .section-purple h2, .section-purple h3, .section-purple h4, .section-purple h5, .section-purple h6, .section-purple p {
  color: #fefefe;
}
.section-purple .section-title {
  color: #fefefe;
}
.section-inner-purple {
  background: linear-gradient(350deg, #3a3080 0%, #4d4683 100%);
  color: #fefefe;
  padding: 6.25rem;
  margin: 0 -6.25rem;
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  border-radius: 1.5625rem;
}
@media only screen and (max-width: 1200px) {
  .section-inner-purple {
    margin: 0;
  }
  .section-inner-purple .calculation2-order-wrapper {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .section-inner-purple .calculation2-order-content {
    text-align: center !important;
    align-items: center !important;
  }
}
@media only screen and (max-width: 768px) {
  .section-inner-purple {
    padding: 3rem 2rem;
  }
}

.footer {
  background-color: #3a3080;
  color: #fefefe;
  margin: 0 2rem 2rem;
  border-radius: 0 0 1.5625rem 1.5625rem;
}
@media only screen and (max-width: 991px) {
  .footer {
    margin: 0 1.25rem 1.25rem;
    text-align: center;
  }
}
.footer a {
  text-decoration: none;
  color: #fefefe;
}
.footer-inner {
  position: relative;
  padding: 10rem 0;
}
@media only screen and (max-width: 991px) {
  .footer-inner {
    padding: 7.5rem 0;
  }
}
@media only screen and (max-width: 768px) {
  .footer-inner {
    padding: 3.5rem 0;
  }
}
.footer-socials {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
  transform: translateY(-50%);
}
@media only screen and (max-width: 991px) {
  .footer-socials {
    position: unset;
    width: fit-content;
    margin: 0 auto 4rem;
    transform: none;
  }
}
@media only screen and (max-width: 768px) {
  .footer-socials {
    margin-bottom: 3rem;
  }
}
.footer-socials-wrapper {
  display: block;
  background-color: #fefefe;
  border-radius: 4.6875rem;
  padding: 1.25rem 2rem;
  display: flex;
  gap: 0.75rem;
  justify-content: flex-start;
}
@media only screen and (max-width: 768px) {
  .footer-socials-wrapper {
    padding: 0.75rem 1.25rem;
  }
}
.footer-socials-item {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: rgba(254, 254, 254, 0.1);
}
.footer-socials-item img {
  width: 3rem;
  height: 3rem;
  transition: all 0.25s ease-in-out;
}
@media only screen and (max-width: 768px) {
  .footer-socials-item img {
    width: 2.5rem;
    height: 2.5rem;
  }
}
.footer-socials-item:hover img {
  scale: 1.175;
}
.footer-wrapper-top, .footer-wrapper-bottom {
  display: flex;
  justify-content: space-between;
  gap: 3.125rem;
}
.footer-wrapper-top {
  padding-left: 7.5rem;
}
@media only screen and (max-width: 1475px) {
  .footer-wrapper-top {
    padding-left: 0;
  }
}
@media only screen and (max-width: 991px) {
  .footer-wrapper-top {
    flex-direction: column;
    gap: 3rem;
  }
}
.footer-wrapper-bottom {
  margin-top: 6rem;
}
@media only screen and (max-width: 1200px) {
  .footer-wrapper-bottom {
    flex-direction: column;
  }
}
@media only screen and (max-width: 991px) {
  .footer-wrapper-bottom {
    margin-top: 3rem;
  }
}
.footer-support h3 {
  color: #fefefe;
  margin-top: 0;
}
.footer-support p {
  margin-bottom: 0.75rem;
}
.footer-support p:last-child {
  margin-bottom: 0;
}
.footer-support p a {
  position: relative;
  font-weight: 500;
  opacity: 1;
  color: #fefefe;
  display: flex;
  align-items: center;
  width: fit-content;
}
@media only screen and (max-width: 991px) {
  .footer-support p a {
    margin: 0 auto;
  }
}
.footer-support p a svg {
  width: 1.5rem;
  height: 1.25rem;
  max-width: 0;
  opacity: 0;
  margin-right: 0;
  transform: translateX(-0.625rem);
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.footer-support p a::after {
  content: "";
  position: absolute;
  bottom: -0.125rem;
  left: 0;
  transition: all 0.25s ease-in-out;
  background-color: #fefefe;
  height: 0.0625rem;
  width: 0;
}
.footer-support p a:hover {
  color: #fefefe;
}
.footer-support p a:hover svg {
  max-width: 1.5rem;
  opacity: 1;
  margin-right: 0.25rem;
  transform: translateX(0);
}
.footer-support p a:hover::after {
  width: 100%;
}
.footer-menu {
  display: flex;
  flex-wrap: wrap;
  gap: 3.125rem;
  gap: 3.5rem;
  margin-top: -3.5rem;
}
@media only screen and (max-width: 991px) {
  .footer-menu {
    flex-direction: column-reverse;
    justify-content: center;
    align-items: center;
    margin-top: 0rem;
    gap: 3rem;
  }
}
@media only screen and (max-width: 768px) {
  .footer-menu {
    gap: 2.5rem;
  }
}
.footer-menu-col {
  list-style: none;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 0.5rem;
  padding: 0;
}
@media only screen and (max-width: 991px) {
  .footer-menu-col {
    align-items: center;
  }
}
.footer-menu-col li:not(:last-child) {
  margin-bottom: 0.25rem;
}
@media only screen and (max-width: 991px) {
  .footer-menu-col li, .footer-menu-col li a {
    margin: 0 auto !important;
  }
}
.footer-menu-col li a {
  display: block;
  width: fit-content;
  padding: 0.125rem 0.375rem;
  margin: 0 -0.375rem;
  transition: all 0.25s ease-in-out;
  background-size: 100% 202%;
  background-image: linear-gradient(to bottom, transparent 50%, #7b76a3 50%);
}
.footer-menu-col li a:hover {
  background-position: 0 100%;
  color: #fefefe;
}
.footer-menu-col:first-child {
  text-align: right;
  align-items: flex-end;
}
.footer-menu-col:first-child a {
  color: #7b76a3;
  margin-left: auto;
}
@media only screen and (max-width: 991px) {
  .footer-menu-col:first-child {
    text-align: center;
    align-items: center;
  }
  .footer-menu-col:first-child a {
    margin-left: 0;
  }
}
.footer-logo {
  max-width: 37.5rem;
}
@media only screen and (max-width: 1475px) {
  .footer-logo {
    max-width: 28.125rem;
  }
}
@media only screen and (max-width: 1200px) {
  .footer-logo {
    margin: 0 auto;
  }
}
@media only screen and (max-width: 991px) {
  .footer-logo {
    margin-bottom: 3rem;
  }
}
@media only screen and (max-width: 768px) {
  .footer-logo {
    max-width: 18.75rem;
  }
}
@media only screen and (max-width: 576px) {
  .footer-logo {
    max-width: 15.625rem;
  }
}
.footer-logo img {
  width: 100%;
  height: auto;
}
.footer-newsletter {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.footer-newsletter-title {
  display: block;
  text-align: center;
  color: #7b76a3;
  font-weight: 600;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width: 991px) {
  .footer-newsletter-title {
    color: #fefefe;
  }
}
.footer-newsletter-form {
  display: flex;
  position: relative;
  width: 33.75rem;
}
@media only screen and (max-width: 1475px) {
  .footer-newsletter-form {
    width: 31.25rem;
  }
}
@media only screen and (max-width: 1200px) {
  .footer-newsletter-form {
    margin: 0 auto;
  }
}
@media only screen and (max-width: 768px) {
  .footer-newsletter-form {
    width: 100%;
  }
}
.footer-newsletter-form-input {
  width: 100%;
  padding: 1.375rem 2rem;
  border-radius: 1rem 0 0 1rem;
  border: 0.0625rem solid #7b76a2;
  background-color: transparent;
  color: #fefefe;
  outline: none;
  transition: all 0.25s ease-in-out;
}
.footer-newsletter-form-input::placeholder {
  color: rgba(123, 118, 163, 0.75);
}
.footer-newsletter-form-input:focus {
  background-color: rgba(254, 254, 254, 0.05);
}
@media only screen and (max-width: 768px) {
  .footer-newsletter-form-input {
    padding: 1.25rem 1rem;
    font-size: 1rem;
  }
}
.footer-newsletter-form-button {
  padding: 1rem 2.25rem;
  background-color: #7b76a2;
  color: #3a3080;
  font-weight: 600;
  font-size: 1.75rem;
  line-height: 1.4;
  border: none;
  border-radius: 0 1rem 1rem 0;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.25s ease-in-out;
}
.footer-newsletter-form-button svg {
  width: 2.25rem;
  height: 2.25rem;
}
@media only screen and (max-width: 768px) {
  .footer-newsletter-form-button {
    padding: 0.75rem;
  }
}
.footer-newsletter-form-button:hover {
  background-color: #fefefe;
}

.header-toggler {
  width: 2.75rem;
  aspect-ratio: 1/1;
  border-radius: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.15s;
  padding: 0.25rem;
  box-shadow: none !important;
  margin-left: auto;
  display: none;
}
@media only screen and (max-width: 991px) {
  .header-toggler {
    display: flex;
    margin-right: -0.5rem;
  }
}
.header-toggler, .header-toggler .animated-icon span {
  transition: background-color 0.25s;
}
.header-toggler:hover .animated-icon span, .header-toggler.active .animated-icon span {
  background-color: #7b76a2;
}
.header-toggler .animated-icon {
  width: 1.625rem;
  height: 2.25rem;
  margin: 0;
  transform: rotate(0deg);
  cursor: pointer;
  transition: 0.5s ease-in-out;
  display: block;
}
.header-toggler .animated-icon span {
  display: block;
  position: absolute;
  height: 2px;
  width: 100%;
  border-radius: 0;
  opacity: 1;
  left: 0;
  transform: rotate(0deg);
  transition: 0.25s ease-in-out;
  background: #3a3080;
}
.header-toggler .animated-icon span:nth-child(1) {
  top: 8px;
}
.header-toggler .animated-icon span:nth-child(2) {
  top: 17px;
}
.header-toggler .animated-icon span:nth-child(3) {
  top: 26px;
}
.header-toggler.active .animated-icon span:nth-child(1) {
  top: 17px;
  transform: rotate(135deg);
}
.header-toggler.active .animated-icon span:nth-child(2) {
  opacity: 0;
  left: -20px;
}
.header-toggler.active .animated-icon span:nth-child(3) {
  top: 17px;
  transform: rotate(-135deg);
}

.button {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  text-align: center;
  border-radius: 2.1875rem;
  font-weight: 600;
  font-size: 1.75rem;
  line-height: 1.4;
  padding: 0.875rem 2.75rem;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  z-index: 1;
  border: 0.0625rem solid transparent;
  transition: color 0.3s ease, border-color 0.3s ease;
}
.button img, .button svg {
  flex-shrink: 0;
  transition: transform 0.3s ease;
  margin-left: 0.625rem;
}
@media only screen and (max-width: 768px) {
  .button {
    padding: 0.75rem 2rem;
    font-size: 1.25rem;
  }
}
.button::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  transition: opacity 0.3s ease;
  opacity: 0;
}
.button:hover::before, .button.active::before {
  opacity: 1;
}
.button:hover img, .button:hover svg, .button.active img, .button.active svg {
  transform: translateX(0.3125rem);
}
.button-white {
  color: #3a3080;
  background-color: #fefefe;
  border-color: #fefefe;
}
.button-white::before {
  background-color: #3a3080;
}
.button-white:hover {
  color: #fefefe;
  border-color: #fefefe;
}
.button-white.text-red {
  color: #dd786a;
}
.button-white.text-red::before {
  background-color: #dd786a;
}
.button-white.text-red:hover {
  color: #fefefe;
  border-color: #fefefe;
}
.button-white.text-purple {
  color: #7b76a2;
}
.button-white.text-purple::before {
  background-color: #7b76a2;
}
.button-white.text-purple:hover {
  color: #fefefe;
  border-color: #fefefe;
}
.button-black {
  color: #fefefe;
  background-color: #030609;
  border-color: #030609;
}
.button-black::before {
  background-color: #fefefe;
}
.button-black:hover {
  color: #3a3080;
  border-color: #3a3080;
}
.button-bordered-black {
  color: #030609;
  background-color: transparent;
  border-color: #030609;
}
.button-bordered-black::before {
  background-color: #3a3080;
}
.button-bordered-black:hover {
  color: #fefefe;
  border-color: #3a3080;
}
.button-purple {
  color: #fefefe;
  background-color: #7b76a2;
  border-color: #7b76a2;
}
.button-purple::before {
  background-color: #fefefe;
}
.button-purple:hover {
  color: #7b76a2;
  border-color: #7b76a2;
}
.button-purple-darker {
  background-color: #4d4683;
  border-color: #4d4683;
}
.button-purple-darker::before {
  background-color: #fefefe;
}
.button-purple-darker:hover {
  color: #4d4683;
  border-color: #4d4683;
}
.button-purple-dark {
  background-color: #3a3080;
  border-color: #3a3080;
}
.button-purple-dark::before {
  background-color: #fefefe;
}
.button-purple-dark:hover {
  color: #3a3080;
  border-color: #3a3080;
}
.button-purple-600 {
  color: #fefefe;
  background-color: #3a3080;
  border-color: #3a3080;
}
.button-purple-600::before {
  background-color: #fefefe;
}
.button-purple-600:hover {
  color: #3a3080;
  border-color: #3a3080;
}
.button-purple-500 {
  color: #fefefe;
  background-color: #756ea6;
  border-color: #756ea6;
}
.button-purple-500::before {
  background-color: #fefefe;
}
.button-purple-500:hover {
  color: #756ea6;
  border-color: #756ea6;
}
.button-purple-400 {
  color: #fefefe;
  background-color: #a6a2c1;
  border-color: #a6a2c1;
}
.button-purple-400::before {
  background-color: #fefefe;
}
.button-purple-400:hover {
  color: #a6a2c1;
  border-color: #a6a2c1;
}
.button-purple-300 {
  color: #fefefe;
  background-color: #cecbe3;
  border-color: #cecbe3;
}
.button-purple-300::before {
  background-color: #fefefe;
}
.button-purple-300:hover {
  color: #cecbe3;
  border-color: #cecbe3;
}
.button-bordered-purple {
  color: #7b76a2;
  background-color: transparent;
  border-color: #7b76a2;
}
.button-bordered-purple::before {
  background-color: #7b76a2;
}
.button-bordered-purple:hover, .button-bordered-purple.active {
  color: #fefefe;
  border-color: #7b76a2;
}
.button-grey {
  border-color: #eaeaeb;
  color: #030609;
  background-color: #eaeaeb;
}
.button-grey::before {
  background-color: #030609;
}
.button-grey:hover {
  color: #fefefe;
  border-color: #030609;
}
.button-noborder {
  border: 0 !important;
}
.button-small {
  padding: 0.625rem 2rem;
  font-size: 1.5rem;
}
@media only screen and (max-width: 768px) {
  .button-small {
    font-size: 1.25rem;
  }
}
.button-link {
  padding: 0;
  background: none;
  border: none;
  color: #030609;
  font-weight: 600;
  font-size: 1rem;
  overflow: visible;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.button-link::before {
  display: none;
}
.button-link-plus {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.875rem;
  height: 1.875rem;
  border-radius: 50%;
  border: 0.0625rem solid #030609;
  background-color: transparent;
  color: #030609;
  font-size: 1.625rem;
  font-weight: 400;
  line-height: 1;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  z-index: 1;
}
.button-link-plus span {
  display: block;
  margin-top: -0.1875rem;
}
.button-link:hover {
  color: #3a3080;
}
.button-link:hover .button-link-plus {
  color: #fefefe;
  background-color: #3a3080;
  border-color: #3a3080;
}
.button-simple {
  font-size: 1.75rem;
  font-weight: 600;
  text-underline-offset: 0.3125rem;
  text-decoration-thickness: 0.1875rem;
}
@media only screen and (max-width: 768px) {
  .button-simple {
    font-size: 1.375rem;
    text-underline-offset: 0.25rem;
    text-decoration-thickness: 0.125rem;
  }
}
.button-simple:hover {
  color: #3a3080;
}

.faq-list {
  max-width: 50rem;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
}
.faq-item {
  border-bottom: 0.0625rem solid rgba(123, 118, 162, 0.3);
  padding: 1rem 2rem;
  text-align: left;
}
.faq-item:first-child {
  border-top: 0.0625rem solid rgba(123, 118, 162, 0.3);
}
@media only screen and (max-width: 768px) {
  .faq-item {
    padding: 0.75rem 1rem;
  }
}
.faq-item.active .faq-item-question {
  color: #3a3080;
}
.faq-item.active .faq-item-question-icon {
  transform: rotate(45deg);
}
.faq-item.active .faq-item-answer-content {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.1s;
}
.faq-item-question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  font-size: 1.25rem;
  line-height: 1.5;
  font-weight: 600;
  padding: 0.5rem 0;
  transition: all 0.25s ease-in-out;
  position: relative;
  z-index: 2;
  color: #3a3080;
  background-color: #fefefe;
  gap: 2rem;
}
@media only screen and (max-width: 768px) {
  .faq-item-question {
    font-size: 1.125rem;
  }
}
.faq-item-question-icon {
  font-size: 1.875rem;
  font-weight: 300;
  line-height: 1;
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), color 0.3s ease;
  user-select: none;
}
.faq-item-question:hover {
  color: #3a3080;
}
.faq-item-answer {
  height: 0;
  overflow: hidden;
  transition: height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.faq-item-answer-content {
  padding-top: 0.75rem;
  padding-bottom: 0;
  padding-right: 2rem;
  opacity: 0;
  transform: translateY(0.9375rem);
  transition: opacity 0.4s ease, transform 0.4s ease;
}
@media only screen and (max-width: 768px) {
  .faq-item-answer-content {
    padding-right: 1rem;
  }
}
.faq-item-answer-content p {
  margin: 0;
}

.news-title {
  max-width: 28.125rem;
}
@media only screen and (max-width: 991px) {
  .news-title {
    max-width: 100%;
  }
}
.news-wrapper {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2.25rem;
  margin: 0 -4rem;
}
@media only screen and (max-width: 1475px) {
  .news-wrapper {
    margin: 0;
  }
}
@media only screen and (max-width: 1200px) {
  .news-wrapper {
    grid-template-columns: 1fr;
  }
}
@media only screen and (max-width: 576px) {
  .news-wrapper {
    gap: 1.25rem;
  }
}
.news-item {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: #030609;
  background-color: #eaeaeb;
  border-radius: 1.5625rem;
  overflow: hidden;
}
@media only screen and (max-width: 1200px) {
  .news-item {
    flex-direction: row;
  }
  .news-item:nth-child(even) {
    flex-direction: row-reverse;
  }
}
@media only screen and (max-width: 768px) {
  .news-item, .news-item:nth-child(even) {
    flex-direction: column;
  }
}
.news-item-image {
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
}
@media only screen and (max-width: 1200px) {
  .news-item-image {
    width: 350px;
    flex-shrink: 0;
  }
}
@media only screen and (max-width: 768px) {
  .news-item-image {
    width: 100%;
  }
}
.news-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.25s ease-in-out;
}
.news-item-image:hover img {
  transform: scale(1.05);
}
.news-item-content {
  padding: 3rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
@media only screen and (max-width: 768px) {
  .news-item-content {
    padding: 2rem;
  }
}
.news-item-content-title {
  transition: all 0.25s ease-in-out;
  font-size: 1.875rem;
  letter-spacing: -0.046875rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  margin: 0 0 1.75rem;
}
@media only screen and (max-width: 768px) {
  .news-item-content-title {
    font-size: 1.375rem;
    letter-spacing: -0.03125rem;
    margin: 0 0 1.25rem;
  }
}
.news-item-content-title a {
  text-decoration: none;
}
.news-item-content-title a:hover {
  color: #3a3080;
}
.news-item-content p {
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 1.75rem;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media only screen and (max-width: 768px) {
  .news-item-content p {
    margin-bottom: 1.25rem;
  }
}
.news-item-content .button-link {
  margin-top: auto;
}

.cta-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2.75rem;
}
.cta-wrapper-sidebyside {
  flex-wrap: nowrap;
  justify-content: space-between;
}
.cta-wrapper-sidebyside .button {
  flex-shrink: 0;
}
@media only screen and (max-width: 991px) {
  .cta-wrapper-sidebyside {
    justify-content: center;
    flex-direction: column;
    text-align: center;
  }
}
@media only screen and (max-width: 768px) {
  .cta-wrapper {
    flex-direction: column;
    text-align: center;
    gap: 1.75rem;
  }
}
.cta-title {
  margin: 0;
}

.limited {
  position: relative;
  overflow: hidden;
  margin-top: 0.5rem;
}
.limited-image {
  position: relative;
}
.limited-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 2/1;
  min-height: 37.5rem;
  max-height: 75rem;
}
@media only screen and (max-width: 768px) {
  .limited-image img {
    min-height: 31.25rem;
  }
}
.limited-image::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, rgba(221, 120, 106, 0) 40%, rgba(221, 120, 106, 0.85) 80%, #dd786a 95%);
}
@media only screen and (max-width: 768px) {
  .limited-image::after {
    background: linear-gradient(90deg, rgba(221, 120, 106, 0) 15%, #dd786a 100%);
  }
}
.limited-content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.limited-content-inner {
  text-align: right;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
@media only screen and (max-width: 991px) {
  .limited-content-inner {
    text-align: center;
    align-items: center;
  }
}
.limited-content-subtitle {
  font-family: "Museo Sans", sans-serif;
  display: block;
  font-size: 1.625rem;
  line-height: 1.4;
  font-weight: 600;
  margin-bottom: 2rem;
  color: rgba(254, 254, 254, 0.7);
}
@media only screen and (max-width: 768px) {
  .limited-content-subtitle {
    margin-bottom: 1rem;
    font-size: 1.375rem;
  }
}
.limited-content-title {
  max-width: 28.125rem;
  margin: 0 0 2.75rem;
  color: #fefefe;
}
@media only screen and (max-width: 768px) {
  .limited-content-title {
    margin: 0 0 1.75rem;
    font-size: 2.625rem;
    max-width: 100%;
  }
}

.categories-wrapper {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
@media only screen and (max-width: 576px) {
  .categories-wrapper {
    gap: 1.25rem;
  }
}
.categories-title-white {
  color: #fefefe;
}
@media only screen and (max-width: 991px) {
  .categories-title-white {
    color: #030609;
  }
}
.categories-pushed-top {
  margin-top: -18.5rem;
  z-index: 2;
}
@media only screen and (max-width: 991px) {
  .categories-pushed-top {
    margin-top: 0;
  }
}
.categories-item {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  text-decoration: none;
  border-radius: 1.5625rem;
  overflow: hidden;
  min-height: 17.1875rem;
  transition: all 0.25s ease-in-out;
  position: relative;
  gap: 0.5rem;
  background-color: #fefefe;
}
@media only screen and (max-width: 991px) {
  .categories-item {
    flex-direction: column;
  }
}
.categories-item:hover .categories-item-link {
  background-color: #fefefe;
  color: #030609;
}
.categories-item:hover .categories-item-info.color-purple .categories-item-link svg {
  fill: #7b76a2;
}
.categories-item:hover .categories-item-info.color-purple-darker .categories-item-link svg {
  fill: #4d4683;
}
.categories-item:hover .categories-item-info.color-purple-dark .categories-item-link svg {
  fill: #3a3080;
}
.categories-item:hover .categories-item-info.color-purple-dark-extra .categories-item-link svg {
  fill: #261c64;
}
.categories-item:hover .categories-item-info.color-purple-600 .categories-item-link svg {
  fill: #3a3080;
}
.categories-item:hover .categories-item-info.color-purple-500 .categories-item-link svg {
  fill: #756ea6;
}
.categories-item:hover .categories-item-info.color-purple-400 .categories-item-link svg {
  fill: #a6a2c1;
}
.categories-item:hover .categories-item-info.color-purple-300 .categories-item-link svg {
  fill: #cecbe3;
}
.categories-item:hover .categories-item-info.color-red .categories-item-link svg {
  fill: #dd786a;
}
.categories-item:hover .categories-item-info.color-green .categories-item-link svg {
  fill: #8bc3a7;
}
.categories-item:hover .categories-item-info.color-blue .categories-item-link svg {
  fill: #78c9d9;
}
.categories-item:hover .categories-item-info.color-gray .categories-item-link svg {
  fill: #9c9b9b;
}
.categories-item:hover .categories-item-info.color-orange .categories-item-link svg {
  fill: #edb578;
}
.categories-item-info {
  position: relative;
  flex: 1;
  padding: 2.5rem 2.5rem 2.5rem 6.25rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  z-index: 1;
}
@media only screen and (max-width: 1200px) {
  .categories-item-info {
    padding: 2.5rem 2.75rem;
  }
}
@media only screen and (max-width: 991px) {
  .categories-item-info {
    border-right: 0;
    gap: 1rem;
    padding: 2rem 1rem 1.5rem;
    text-align: center;
  }
}
@media only screen and (max-width: 768px) {
  .categories-item-info {
    gap: 0.75rem;
  }
}
.categories-item-info-content {
  margin-top: -1rem;
  color: #fefefe;
}
.categories-item-info-content h3 {
  margin: 0;
  color: #fefefe;
}
.categories-item-info-content span {
  display: block;
}
@media only screen and (max-width: 991px) {
  .categories-item-info-content {
    margin-top: 0;
  }
  .categories-item-info-content span {
    padding-bottom: 0.25rem;
  }
}
.categories-item-info.color-purple {
  background-color: #7b76a2;
}
.categories-item-info.color-purple-darker {
  background-color: #4d4683;
}
.categories-item-info.color-purple-dark {
  background-color: #3a3080;
}
.categories-item-info.color-purple-dark-extra {
  background-color: #261c64;
}
.categories-item-info.color-purple-600 {
  background-color: #3a3080;
}
.categories-item-info.color-purple-500 {
  background-color: #756ea6;
}
.categories-item-info.color-purple-400 {
  background-color: #a6a2c1;
}
.categories-item-info.color-purple-300 {
  background-color: #cecbe3;
}
.categories-item-info.color-red {
  background-color: #dd786a;
}
.categories-item-info.color-green {
  background-color: #8bc3a7;
}
.categories-item-info.color-blue {
  background-color: #78c9d9;
}
.categories-item-info.color-gray {
  background-color: #9c9b9b;
}
.categories-item-info.color-orange {
  background-color: #edb578;
}
.categories-item-link {
  position: absolute;
  bottom: 1.75rem;
  left: 1.75rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  font-weight: 500;
  color: #fefefe;
  padding: 0.5rem 1.5rem 0.5rem 0.75rem;
  border-radius: 4.6875rem;
  transition: all 0.25s ease-in-out;
  width: fit-content;
}
.categories-item-link.icon-only {
  padding: 0.375rem;
  margin: 0.125rem;
}
@media only screen and (max-width: 991px) {
  .categories-item-link {
    position: unset;
    margin: 0 auto;
  }
  .categories-item-link.icon-only {
    display: none;
  }
}
@media only screen and (max-width: 768px) {
  .categories-item-link {
    gap: 0.5rem;
    padding: 0.25rem 1rem 0.25rem 0.375rem;
  }
}
.categories-item-link svg {
  width: 2.75rem;
  height: 2.75rem;
  fill: #fefefe;
  transition: all 0.25s ease-in-out;
}
@media only screen and (max-width: 768px) {
  .categories-item-link svg {
    width: 1.75rem;
    height: 1.75rem;
  }
}
.categories-item-link span {
  display: block;
}
@media only screen and (max-width: 576px) {
  .categories-item-link span {
    font-size: 0.9375rem;
  }
}
.categories-item-image {
  width: 40%;
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
}
@media only screen and (max-width: 991px) {
  .categories-item-image {
    width: 100%;
  }
}
.categories-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  right: 0;
  transition: all 0.25s ease-in-out;
}
@media only screen and (max-width: 991px) {
  .categories-item-image img {
    position: unset;
    height: auto;
    aspect-ratio: 1.875/1;
  }
}
.categories-item:hover .categories-item-image img {
  transform: scale(1.075);
}

.intro-wrapper {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10rem;
}
@media only screen and (max-width: 1475px) {
  .intro-wrapper {
    gap: 6rem;
  }
}
@media only screen and (max-width: 991px) {
  .intro-wrapper {
    grid-template-columns: minmax(0, 1fr);
    gap: 4rem;
  }
}
@media only screen and (max-width: 768px) {
  .intro-wrapper {
    gap: 2.5rem;
  }
}
.intro-badge {
  flex-shrink: 0;
  background-color: #3a3080;
  max-width: 425px;
  width: 100%;
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 1.5625rem;
  color: rgb(196.4934497817, 194.2772925764, 214.2227074236);
  text-align: center;
  padding: 4rem;
}
@media only screen and (max-width: 991px) {
  .intro-badge {
    margin: 0 auto;
    max-width: 350px;
  }
}
@media only screen and (max-width: 991px) {
  .intro-badge {
    padding: 2.5rem;
  }
}
.intro-badge-text {
  font-size: 5.3125rem;
  font-weight: 600;
  line-height: 1;
}
@media only screen and (max-width: 991px) {
  .intro-badge-text {
    font-size: 4.375rem;
  }
}
.intro-text {
  text-align: right;
}
@media only screen and (max-width: 991px) {
  .intro-text {
    text-align: center;
  }
}
.intro-text-title {
  max-width: 310px;
  margin-left: auto;
}
@media only screen and (max-width: 991px) {
  .intro-text-title {
    margin-right: auto;
  }
}
.intro-text-content {
  padding-bottom: 0.5rem;
}

.banner {
  position: relative;
  padding: 0 2rem;
  height: 100%;
}
@media only screen and (max-width: 991px) {
  .banner {
    padding: 0 1.25rem;
  }
}
.banner-logo {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
  transform: translateY(-50%);
}
@media only screen and (max-width: 991px) {
  .banner-logo {
    left: 2.5rem;
  }
}
.banner-logo-outer {
  position: relative;
}
@media only screen and (max-width: 991px) {
  .banner-logo-outer {
    position: unset;
  }
}
.banner-logo-link {
  display: block;
  background-color: #3a3080;
  border-radius: 4.6875rem;
  padding: 1.19rem 2rem;
  transition: all 0.25s ease-in-out;
}
.banner-logo-link:hover {
  scale: 1.1;
}
.banner-logo img {
  width: 8.125rem;
  max-height: 4.875rem;
  height: auto;
  transform: translateY(-0.25rem);
}
@media only screen and (max-width: 576px) {
  .banner-logo img {
    width: 6.875rem;
    transform: translateY(-0.21875rem);
  }
}
.banner-content {
  position: relative;
  overflow: hidden;
  border-radius: 1.5625rem 1.5625rem 0 0;
}
.banner-content, .banner-content .owl-carousel, .banner-content .owl-stage-outer, .banner-content .owl-stage, .banner-content .owl-item {
  height: 100%;
}
.banner-owl {
  width: 100%;
}
.banner-owl .owl-dots {
  position: absolute;
  bottom: 4.5rem;
  right: 4.5rem;
  transform: translateY(50%);
  display: flex;
  gap: 0.875rem;
}
@media only screen and (max-width: 991px) {
  .banner-owl .owl-dots {
    justify-content: center;
    right: 0;
    width: 100%;
    bottom: 3.75rem;
  }
}
@media only screen and (max-width: 576px) {
  .banner-owl .owl-dots {
    gap: 0.675rem;
    bottom: 2.75rem;
  }
}
.banner-owl .owl-dots .owl-dot span {
  width: 0.875rem;
  height: 0.875rem;
  background-color: transparent;
  border-radius: 50%;
  display: block;
  border: 0.0625rem solid #fefefe;
  transition: all 0.25s ease-in-out;
}
@media only screen and (max-width: 576px) {
  .banner-owl .owl-dots .owl-dot span {
    width: 0.75rem;
    height: 0.75rem;
  }
}
.banner-owl .owl-dots .owl-dot:hover span {
  background-color: rgba(254, 254, 254, 0.25);
}
.banner-owl .owl-dots .owl-dot.active span {
  background: #fefefe;
}
.banner-item {
  position: relative;
  height: 100%;
  width: 100%;
}
.banner-item-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.banner-item-image img {
  width: 100%;
  height: calc(100svh - 5.125rem);
  object-position: left 10%;
  object-fit: cover;
}
@media only screen and (max-width: 991px) {
  .banner-item-image img {
    object-position: 15% center;
  }
}
@media only screen and (max-width: 576px) {
  .banner-item-image img {
    height: calc(100svh - 3.75rem);
  }
}
.banner-item .container {
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  z-index: 2;
}
.banner-item-content {
  text-align: right;
  color: #fefefe;
  position: absolute;
  bottom: 15svh;
  right: 0;
  width: 100%;
  z-index: 3;
}
.banner-item-content-pushed-top {
  bottom: 50%;
  transform: translateY(50%);
  margin-bottom: 5rem;
}
@media only screen and (max-width: 991px) {
  .banner-item-content-pushed-top {
    margin-bottom: 0;
  }
}
.banner-item-content-pushed-top.push-more {
  margin-bottom: 6.25rem;
}
@media only screen and (max-width: 991px) {
  .banner-item-content-pushed-top.push-more {
    margin-bottom: 0;
    height: 100%;
    padding-bottom: 8rem;
    bottom: 50%;
  }
}
@media only screen and (max-width: 991px) {
  .banner-item-content {
    text-align: center;
    margin-top: 0;
    max-width: 100%;
    bottom: unset;
    bottom: 40%;
    transform: translateY(50%);
  }
}
.banner-item-content-inner {
  max-width: 750px;
}
@media only screen and (max-width: 991px) {
  .banner-item-content-inner {
    width: 100%;
    text-align: left;
  }
}
@media only screen and (max-width: 576px) {
  .banner-item-content-inner {
    padding: 0 1.5rem;
  }
}
@media only screen and (max-width: 365px) {
  .banner-item-content-inner {
    padding: 0 0.75rem;
  }
}
.banner-item-content-title {
  color: #fefefe;
  margin: 0 0 3.5rem;
}
.banner-item-content-title:last-child {
  margin-bottom: 0;
}
@media only screen and (max-width: 991px) {
  .banner-item-content-title {
    margin: 0 0 2.5rem;
  }
}
@media only screen and (max-width: 576px) {
  .banner-item-content-title {
    margin: 0 0 1.75rem;
  }
}
.banner-item-content-paragraph {
  color: #fefefe;
  font-size: 1.5rem;
  margin: -1rem 0 3.5rem;
}
.banner-item-content-paragraph:last-child {
  margin-bottom: 0;
}
@media only screen and (max-width: 991px) {
  .banner-item-content-paragraph {
    margin: -1rem 0 2.5rem;
    font-size: 1.5rem;
  }
}
@media only screen and (max-width: 576px) {
  .banner-item-content-paragraph {
    font-size: 1.125rem;
    margin: -0.5rem 0 1.75rem;
  }
}
.banner-item-content-button {
  display: flex;
  justify-content: flex-end;
}
@media only screen and (max-width: 991px) {
  .banner-item-content-button {
    justify-content: flex-start;
  }
}
.banner-item-image {
  position: relative;
}
.banner-item-image::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(355deg, #3a3080 0%, rgba(58, 48, 128, 0.95) 15%, rgba(58, 48, 128, 0.75) 30%, rgba(58, 48, 128, 0) 60%);
}
@media only screen and (min-width: 991px) {
  .banner-content-white .banner-item-image img {
    height: 75svh;
  }
  .banner-content-white .banner-item-image::before {
    background: linear-gradient(357.5deg, #fefefe 2%, rgba(254, 254, 254, 0.95) 20%, rgba(254, 254, 254, 0.75) 35%, rgba(254, 254, 254, 0) 50%);
  }
}
.banner-contact {
  background-color: #3a3080;
  width: 100%;
  height: 42.1875rem;
  min-height: 42.1875rem;
}
@media only screen and (max-width: 576px) {
  .banner-contact {
    height: 65svh;
    min-height: 31.25rem;
  }
}
.banner-contact .banner-item-content-title {
  margin: 0;
  text-align: left;
}
@media only screen and (max-width: 991px) {
  .banner-contact .banner-item-content-title {
    text-align: center;
  }
}
.banner-contact .banner-item-content-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 5rem;
  max-width: 100%;
  width: 100%;
}
@media only screen and (max-width: 1200px) {
  .banner-contact .banner-item-content-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 2rem;
  }
}
@media only screen and (max-width: 991px) {
  .banner-contact .banner-item-content-inner {
    align-items: center;
    gap: 1.5rem;
  }
}
.banner-contact-info {
  color: #fefefe;
  text-align: left;
}
@media only screen and (max-width: 991px) {
  .banner-contact-info {
    text-align: center;
  }
}
.banner-contact-info p {
  font-size: 1.625rem;
}
.banner-contact-info p:not(:last-child) {
  margin-bottom: 0.5rem;
}
@media only screen and (max-width: 768px) {
  .banner-contact-info p {
    font-size: 1.25rem;
  }
  .banner-contact-info p:not(:last-child) {
    margin-bottom: 0.2rem;
  }
}
.banner-contact-info p a {
  color: #fefefe;
  text-decoration: none;
  position: relative;
}
.banner-contact-info p a::after {
  content: "";
  position: absolute;
  bottom: -0.125rem;
  left: 0;
  transition: all 0.25s ease-in-out;
  background-color: #fefefe;
  height: 0.0625rem;
  width: 0;
}
.banner-contact-info p a:hover::after {
  width: 100%;
}

/*.subpage .banner-item-image img {
    @include max-media(md) {
        height: rem(500);
    }
} */
@media only screen and (min-width: 991px) {
  .textbox-header {
    margin-bottom: 0;
  }
}
@media only screen and (max-width: 991px) {
  .textbox-header {
    text-align: left;
  }
}
.textbox-pretitle {
  text-align: left;
}
.textbox-title-blue {
  color: #3a3080;
  max-width: 29.6875rem;
  /*@include max-media(sm) {
      margin: 0 auto;
  }*/
}
.textbox-title-width {
  max-width: 50rem;
}
.textbox-title-width-small {
  max-width: 42.8125rem;
}
.textbox-title-right {
  text-align: right;
  margin-left: auto;
}
@media only screen and (max-width: 991px) {
  .textbox-title-right {
    text-align: left;
    margin-left: 0;
  }
}
@media only screen and (max-width: 991px) {
  .textbox-title {
    text-align: left;
  }
}
.textbox-wrapper {
  display: flex;
  flex-direction: column;
}
@media only screen and (max-width: 991px) {
  .textbox-wrapper {
    gap: 6rem;
  }
}
@media only screen and (max-width: 768px) {
  .textbox-wrapper {
    gap: 3rem;
  }
}
.textbox-image-right img {
  margin-left: auto;
}
.textbox-image-spacing-large {
  margin-bottom: 7.5rem;
}
@media only screen and (max-width: 768px) {
  .textbox-image-spacing-large {
    margin-bottom: 3rem;
  }
}
.textbox-image-spacing-top-large {
  margin-top: 7.5rem;
}
@media only screen and (max-width: 768px) {
  .textbox-image-spacing-top-large {
    margin-top: 3rem;
  }
}
.textbox-image-spacing-top {
  margin-top: 5rem;
}
@media only screen and (max-width: 991px) {
  .textbox-image-spacing-top {
    margin-top: 4.5rem;
  }
}
@media only screen and (max-width: 768px) {
  .textbox-image-spacing-top {
    margin-top: 3rem;
  }
}
.textbox-image img {
  width: 100%;
  aspect-ratio: 16/10;
  object-fit: cover;
  max-width: 40.625rem;
  height: auto;
  border-radius: 1.5625rem;
}
@media only screen and (max-width: 991px) {
  .textbox-image img {
    max-width: 100%;
  }
}
.textbox-image-pushed-top {
  margin-top: -2.5rem;
}
@media only screen and (max-width: 991px) {
  .textbox-image-pushed-top {
    margin-top: 4.5rem;
  }
}
@media only screen and (max-width: 768px) {
  .textbox-image-pushed-top {
    margin-top: 3rem;
  }
}
.textbox-item {
  max-width: 42.8125rem;
}
@media only screen and (min-width: 991px) {
  .textbox-item-swapsides:nth-child(odd) {
    text-align: right;
    margin-left: auto;
  }
  .textbox-item-swapsides:nth-child(odd) ul li {
    margin-left: auto;
  }
}
.textbox-item-stretched {
  margin-top: -4.5rem;
}
@media only screen and (max-width: 991px) {
  .textbox-item-stretched {
    margin-top: 0;
  }
}
.textbox-item-title {
  margin-bottom: 0.75rem;
  margin-top: 0;
}
.textbox-item-subtitle {
  display: block;
  margin-bottom: 1rem;
  font-weight: 600;
}
.textbox-item-content:not(:first-child) {
  margin-top: 2rem;
}
@media only screen and (max-width: 768px) {
  .textbox-item-content:not(:first-child) {
    margin-top: 1.5rem;
  }
}
.textbox-item-content > *:last-child {
  margin-bottom: 0;
}
.textbox-item-content ul {
  list-style: none;
  padding: 0;
}
.textbox-item-button {
  margin-top: 3rem;
}
.textbox-item-button-large {
  margin-top: 3.75rem;
}
.textbox-item-button-small {
  margin-top: 1.75rem;
}
@media only screen and (max-width: 768px) {
  .textbox-item-button {
    margin-top: 2rem;
  }
  .textbox-item-button-large {
    margin-top: 2.5rem;
  }
}

.productbox-wrapper {
  display: flex;
  flex-direction: column;
  gap: 6rem;
}
@media only screen and (max-width: 768px) {
  .productbox-wrapper {
    gap: 3.5rem;
  }
}
.productbox-item {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6rem;
}
@media only screen and (max-width: 1200px) {
  .productbox-item {
    gap: 4rem;
  }
}
@media only screen and (max-width: 768px) {
  .productbox-item {
    gap: 2.5rem;
  }
}
@media only screen and (max-width: 991px) {
  .productbox-item {
    text-align: center;
  }
}
@media only screen and (min-width: 991px) {
  .productbox-item:nth-child(even) .productbox-item-image {
    order: 2;
  }
  .productbox-item:nth-child(even) .productbox-item-image-more {
    margin-left: auto;
  }
}
.productbox-item-image {
  width: calc(59% - 3rem);
}
@media only screen and (max-width: 1475px) {
  .productbox-item-image {
    width: calc(57.5% - 3rem);
  }
}
@media only screen and (max-width: 1200px) {
  .productbox-item-image {
    width: calc(50% - 2rem);
  }
}
@media only screen and (max-width: 991px) {
  .productbox-item-image {
    width: 100%;
  }
}
.productbox-item-image-main {
  position: relative;
  display: block;
  border-radius: 1.5625rem;
  aspect-ratio: 15/10;
  overflow: hidden;
}
.productbox-item-image-main-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.25s ease-in-out;
}
.productbox-item-image-main-resize {
  position: absolute;
  top: 1.5rem;
  left: 1.5rem;
}
.productbox-item-image-main-resize img {
  width: 2rem;
  height: 2rem;
}
.productbox-item-image-main-sale {
  background-color: #c52020;
  color: #fefefe;
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  padding: 0.75rem 1.75rem;
  border-radius: 1.5625rem;
  font-size: 1.375rem;
  line-height: 1.25;
  font-weight: 600;
}
@media only screen and (max-width: 768px) {
  .productbox-item-image-main-sale {
    padding: 0.5rem 1rem;
    font-size: 1.125rem;
  }
}
.productbox-item-image-main:hover .productbox-item-image-main-img {
  transform: scale(1.08);
}
.productbox-item-image-more {
  display: block;
  width: fit-content;
  margin-top: 1.25rem;
}
@media only screen and (max-width: 991px) {
  .productbox-item-image-more {
    margin-inline: auto;
  }
}
.productbox-item-text {
  width: calc(41% - 3rem);
}
@media only screen and (max-width: 1475px) {
  .productbox-item-text {
    width: calc(42.5% - 3rem);
  }
}
@media only screen and (max-width: 1200px) {
  .productbox-item-text {
    width: calc(50% - 2rem);
  }
}
@media only screen and (max-width: 991px) {
  .productbox-item-text {
    width: 100%;
  }
}
.productbox-item-text-title {
  margin-top: 0;
}
.productbox-item-text-description {
  margin-bottom: 2rem;
}
.productbox-item-text-description p {
  display: none;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 768px) {
  .productbox-item-text-description p {
    margin-bottom: 1.5rem;
  }
}
.productbox-item-text-description p.active {
  display: block;
}
.productbox-item-text-description-open {
  cursor: pointer;
  text-decoration: none;
}
.productbox-item-text-description-close {
  color: #3a3080;
  cursor: pointer;
  text-decoration: none;
}
.productbox-item-text-description-close:hover {
  text-decoration: underline;
}
.productbox-item-text-params {
  margin-bottom: 2rem;
}
.productbox-item-text-params p {
  margin-bottom: 0;
}
.productbox-item-text-price {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 2.25rem;
}
.productbox-item-text-price-main {
  min-width: 15.625rem;
  font-family: "Ogilvy Sans", sans-serif;
  font-size: 3.4375rem;
  letter-spacing: -0.09375rem;
  line-height: 1;
  font-weight: 600;
}
@media only screen and (max-width: 991px) {
  .productbox-item-text-price-main {
    font-size: 2.8125rem;
    letter-spacing: -0.03125rem;
  }
}
@media only screen and (max-width: 768px) {
  .productbox-item-text-price-main {
    font-size: 2.5rem;
    min-width: unset;
    flex-shrink: 0;
  }
}
.productbox-item-text-price-info {
  color: #9c9b9b;
  font-size: 0.6875rem;
  line-height: 1.25;
  text-align: right;
}
.productbox-item-text-price-info p {
  margin-bottom: 0;
}
.productbox-item-text-options, .productbox-item-text-guarantee {
  margin-bottom: 2.25rem;
}
.productbox-item-text-buttons {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media only screen and (max-width: 991px) {
  .productbox-item-text-buttons {
    align-items: center;
  }
}
@media only screen and (max-width: 768px) {
  .productbox-item-text-buttons {
    gap: 0.75rem;
  }
}
.productbox-inputbox {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
  height: 3.75rem;
  background-color: #fefefe;
  border: 0.0625rem solid #9c9b9b;
  border-radius: 1rem;
  transition: border-color 0.3s ease;
  overflow: hidden;
  position: relative;
  width: 100%;
  margin-top: 0.5rem;
}
.productbox-inputbox label {
  position: absolute;
  top: 50%;
  left: 1.25rem;
  transform: translateY(-50%);
  font-size: 1.125rem;
  font-weight: 600;
  color: #030609;
  z-index: 2;
  pointer-events: none;
}
.productbox-inputbox .amount-buttons {
  display: flex;
  align-items: center;
  height: 2.5rem;
  border-radius: 1rem;
  overflow: hidden;
  transition: all 0.25s ease-in-out;
}
.productbox-inputbox .amount-buttons:hover, .productbox-inputbox .amount-buttons:focus-within {
  border-color: #030609;
}
.productbox-inputbox .amount-buttons-minus, .productbox-inputbox .amount-buttons-plus {
  height: 100%;
  width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  cursor: pointer;
  color: #fefefe;
  transition: all 0.25s ease-in-out;
  padding: 0;
  z-index: 5;
}
.productbox-inputbox .amount-buttons-minus:hover, .productbox-inputbox .amount-buttons-plus:hover {
  background-color: #7b76a2;
}
.productbox-inputbox .amount-buttons-minus svg, .productbox-inputbox .amount-buttons-plus svg {
  transition: all 0.25s ease-in-out;
  width: 0;
  height: 1rem;
}
.productbox-inputbox .amount-buttons-amount-input {
  flex-grow: 1;
  width: 3.75rem;
  padding: 0 0.75rem;
  height: 100%;
  border: none;
  background: transparent;
  text-align: right;
  font-size: 1.125rem;
  font-weight: 600;
  color: #030609;
  text-align: center;
  transition: all 0.25s ease-in-out;
  -moz-appearance: textfield;
}
.productbox-inputbox .amount-buttons-amount-input::-webkit-outer-spin-button, .productbox-inputbox .amount-buttons-amount-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.productbox-inputbox .amount-buttons-amount-input:focus {
  outline: none;
}
.productbox-inputbox:hover .amount-buttons {
  background-color: #3a3080;
  color: #fefefe;
  margin-right: 0.5rem;
}
.productbox-inputbox:hover .amount-buttons-amount-input {
  width: 2.5rem;
  padding: 0;
  text-align: center;
  color: #fefefe;
}
.productbox-inputbox:hover .amount-buttons-minus, .productbox-inputbox:hover .amount-buttons-plus {
  width: 2.5rem;
}
.productbox-inputbox:hover .amount-buttons-minus svg, .productbox-inputbox:hover .amount-buttons-plus svg {
  width: 1rem;
}
.productbox-option-wrapper {
  position: relative;
  width: 100%;
  margin-top: 0.5rem;
  padding-bottom: 3.875rem;
}
.productbox-option-wrapper.is-open {
  z-index: 100;
}
.productbox-option-wrapper.is-open .productbox-option-card {
  border-color: #030609;
}
.productbox-option-wrapper.is-open .status-icon svg {
  transform: rotate(180deg);
}
.productbox-option-wrapper.is-filled .productbox-option-status .status-text {
  display: none;
}
.productbox-option-wrapper.is-filled .productbox-option-status .status-icon {
  display: flex;
}
.productbox-option-wrapper.type-modal .productbox-option-status .status-icon {
  display: none !important;
}
.productbox-option-wrapper.type-modal .productbox-option-status .status-text {
  display: block !important;
}
.productbox-option-wrapper.type-modal.is-filled .productbox-option-status .status-text {
  color: #9c9b9b;
}
.productbox-option-wrapper.type-dropdown {
  z-index: 11;
}
.productbox-option-wrapper.type-dropdown .productbox-option-status .status-text {
  display: none !important;
}
.productbox-option-wrapper.type-dropdown .productbox-option-status .status-icon {
  display: flex !important;
}
.productbox-option-label {
  font-size: 0.875rem;
  color: #9c9b9b;
  margin-left: 0.75rem;
  margin-bottom: 0.375rem;
  display: block;
  text-align: left;
}
.productbox-option-card {
  position: absolute;
  top: 1.75rem;
  left: 0;
  width: 100%;
  background-color: #fefefe;
  border: 0.0625rem solid #9c9b9b;
  border-radius: 1rem;
  z-index: 10;
  overflow: hidden;
  transition: all 0.25s ease-in-out;
}
.productbox-option-card:hover {
  border-color: #030609;
}
.productbox-option-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 3.75rem;
  padding: 0 1.25rem;
  cursor: pointer;
  background-color: #fefefe;
}
.productbox-option-value {
  font-size: 1.125rem;
  font-weight: 600;
  color: #030609;
}
.productbox-option-status {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.productbox-option-status .status-text {
  font-size: 1.125rem;
  font-weight: 600;
  color: #030609;
  text-decoration: underline;
  text-underline-offset: 0.25rem;
  white-space: nowrap;
  transition: color 0.3s ease;
}
.productbox-option-status .status-text:hover {
  color: #3a3080;
}
.productbox-option-status .status-icon {
  display: none;
  align-items: center;
  justify-content: center;
}
.productbox-option-status .status-icon svg {
  width: 1.25rem;
  height: 1.25rem;
  color: #9c9b9b;
  transition: transform 0.3s ease;
}
.productbox-option-body {
  display: none;
  padding: 0 1.25rem 1.25rem 1.25rem;
  background-color: #fefefe;
  border-top: none;
  text-align: left;
}
.productbox-option-swatches {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem 0.75rem;
  border: 0.0625rem solid #eaeaeb;
  border-radius: 3.125rem;
  background-color: #fefefe;
  margin-top: 0.625rem;
}
.productbox-option-swatch {
  appearance: none;
  border: none;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background-color: var(--swatch-color, #ccc);
  cursor: pointer;
  transition: transform 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);
  position: relative;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1);
}
.productbox-option-swatch::after {
  content: url("../img/icon/icon-tick.svg");
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1rem;
  height: 1rem;
  filter: brightness(0) invert(1);
  opacity: 0;
}
.productbox-option-swatch:hover {
  transform: scale(1.15);
}
.productbox-option-swatch.active {
  transform: scale(1.15);
}
.productbox-option-swatch.active::after {
  opacity: 1;
}
.productbox-option-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem 0;
  cursor: pointer;
  font-size: 1rem;
  color: #030609;
  border-bottom: 1px solid rgba(156, 155, 155, 0.1);
}
.productbox-option-item:last-child {
  border-bottom: none;
}
.productbox-option-item:hover {
  color: #3a3080;
}
.productbox-option-item .item-remove {
  display: none;
  background: none;
  border: none;
  color: #9c9b9b;
  padding: 0.25rem;
  border-radius: 50%;
  cursor: pointer;
  transition: all 0.2s;
}
.productbox-option-item .item-remove svg {
  width: 1rem;
  height: 1rem;
}
.productbox-option-item .item-remove:hover {
  background: rgba(221, 120, 106, 0.1);
  color: #dd786a;
}
.productbox-option-item.active {
  font-weight: 600;
}
.productbox-option-item.active .item-remove {
  display: flex;
}
@media only screen and (max-width: 991px) {
  .productbox-footer {
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
  }
}

body::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(3, 6, 9, 0.5);
  z-index: 9998;
  transition: all 0.25s ease-in-out;
  opacity: 0;
  visibility: hidden;
}
body.modal-open {
  overflow: hidden;
}
body.modal-open::after {
  opacity: 1;
  visibility: visible;
}

.modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  z-index: 9999;
  border: 0;
  background-color: #fefefe;
  border-radius: 1.5625rem;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 95%;
  max-width: 100rem;
  max-height: 90vh;
  flex-direction: column;
  overflow: hidden;
}
@media only screen and (max-width: 991px) {
  .modal {
    transform: translateY(-50%);
    max-height: calc(100% - 1rem);
    width: calc(100% - 1rem);
    left: 0.5rem;
  }
}
.modal-overflow {
  height: 100%;
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.modal-overflow::-webkit-scrollbar {
  display: none;
}
.modal .custom-scrollbar {
  position: absolute;
  top: 1.5rem;
  bottom: 1.5rem;
  right: 0.25rem;
  width: 0.1875rem;
  z-index: 50;
  pointer-events: none;
  transition: opacity 0.2s ease;
}
@media only screen and (max-width: 991px) {
  .modal .custom-scrollbar {
    display: none;
  }
}
.modal .custom-scrollbar-thumb {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background-color: rgba(123, 118, 162, 0.25);
  border-radius: 4.6875rem;
}
.modal-radius-top {
  border-radius: 1.5625rem 1.5625rem 0 0;
}
.modal-radius-bottom {
  border-radius: 0 0 1.5625rem 1.5625rem;
}
.modal-content {
  position: relative;
}
.modal-simple-title {
  display: block;
  max-width: 33.75rem;
  font-size: 3.4375rem;
  font-weight: 600;
  line-height: 1.1;
  margin: 0;
  letter-spacing: -0.078125rem;
}
.modal-simple-title.text-blue {
  color: #3a3080;
}
@media only screen and (max-width: 991px) {
  .modal-simple-title {
    max-width: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .modal-simple-title {
    font-size: 2.125rem;
  }
}
.modal-simple-close {
  position: absolute;
  top: 2rem;
  right: 2rem;
  transition: all 0.25s ease-in-out;
  color: #030609;
  padding: 0.5rem;
  border-radius: 1rem;
  z-index: 10;
  background-color: #fefefe;
}
.modal-simple-close-light {
  color: #7b76a2;
  background-color: transparent;
}
@media only screen and (max-width: 991px) {
  .modal-simple-close {
    background-color: #7b76a2;
    color: #fefefe;
    top: 0;
    right: 0;
    padding: 0.425rem;
    border-radius: 0 0 0 1rem;
  }
}
.modal-simple-close svg {
  width: 2.5rem;
  height: 2.5rem;
}
@media only screen and (max-width: 768px) {
  .modal-simple-close svg {
    width: 2rem;
    height: 2rem;
  }
}
.modal-simple-close:hover {
  background-color: #3a3080;
  color: #fefefe;
}
.modal-simple-section {
  padding: 6.25rem 0;
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.modal-simple-section-extended-top {
  padding-top: 7.5rem;
}
@media only screen and (max-width: 768px) {
  .modal-simple-section {
    padding: 3rem 0;
  }
  .modal-simple-section-extended-top {
    padding-top: 3rem;
  }
}
.modal-simple-section-header {
  padding-bottom: 5rem;
  flex-shrink: 0;
}
@media only screen and (max-width: 768px) {
  .modal-simple-section-header {
    padding-bottom: 2rem;
  }
}
.modal-simple-section-body {
  overflow-y: auto;
  flex-grow: 1;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.modal-simple-section-body::-webkit-scrollbar {
  display: none;
}
.modal-simple-section-body.section-content > *:first-child {
  margin-top: 0;
}
.modal-simple-section-blue {
  background: linear-gradient(350deg, #3a3080 0%, #4d4683 100%);
  color: #fefefe;
}
.modal-simple .selection {
  overflow: hidden;
  border-radius: 1.5625rem;
}
.modal-simple .selection-imageinspector {
  display: none;
  position: fixed;
  z-index: 100;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.modal-simple .selection-imageinspector .container {
  height: 100%;
  padding: 0;
}
.modal-simple .selection-imageinspector-inner {
  z-index: 10000;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  height: auto;
  width: 100%;
  border-radius: 1.5625rem;
}
.modal-simple .selection-imageinspector img {
  border-radius: 1.5625rem;
  width: 100%;
  height: 100%;
}
.modal-simple .selection-imageinspector-close {
  position: absolute;
  top: 2rem;
  right: 2rem;
  transition: all 0.25s ease-in-out;
  color: #fefefe;
  padding: 0.5rem;
  border-radius: 1rem;
}
@media only screen and (max-width: 991px) {
  .modal-simple .selection-imageinspector-close {
    background-color: #7b76a2;
    color: #fefefe;
    top: 0;
    right: 0;
    padding: 0.425rem;
    border-radius: 0 1.5625rem 0 1rem;
  }
}
.modal-simple .selection-imageinspector-close svg {
  width: 2.5rem;
  height: 2.5rem;
}
@media only screen and (max-width: 768px) {
  .modal-simple .selection-imageinspector-close svg {
    width: 2rem;
    height: 2rem;
  }
}
.modal-simple .selection-imageinspector-close:hover {
  background-color: #3a3080;
  color: #fefefe;
}
.modal-simple .selection-imageinspector::after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(3, 6, 9, 0.4);
  z-index: 9998;
  transition: all 0.25s ease-in-out;
  border-radius: 1.5625rem;
}
@media only screen and (max-width: 991px) {
  .modal-simple .selection-imageinspector::after {
    height: 200dvh;
    left: -0.5rem;
    width: calc(100% + 1rem);
    transform: translateY(-40%);
    top: 0;
  }
}
.modal-simple .selection-wrapper {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4.5rem 6.25rem;
}
@media only screen and (max-width: 1475px) {
  .modal-simple .selection-wrapper {
    gap: 3rem 4rem;
  }
}
@media only screen and (max-width: 1200px) {
  .modal-simple .selection-wrapper {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media only screen and (max-width: 768px) {
  .modal-simple .selection-wrapper {
    gap: 1.75rem;
  }
}
.modal-simple .selection-item-body {
  position: relative;
}
.modal-simple .selection-item-title {
  display: flex;
  align-items: center;
  width: fit-content;
  font-size: 1.5rem;
  font-weight: 500;
  margin-bottom: 0.75rem;
  transition: all 0.25s ease-in-out;
}
@media only screen and (max-width: 991px) {
  .modal-simple .selection-item-title {
    margin-left: auto;
    margin-right: auto;
  }
}
.modal-simple .selection-item-image {
  position: relative;
  display: block;
  border-radius: 1.5625rem;
  aspect-ratio: 15/10;
  overflow: hidden;
}
.modal-simple .selection-item-image-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.25s ease-in-out;
}
.modal-simple .selection-item-image:hover .selection-item-image-img {
  transform: scale(1.08);
}
.modal-simple .selection-item-image-resize {
  position: absolute;
  top: 1.5rem;
  left: 1.5rem;
}
.modal-simple .selection-item-image-resize img {
  width: 1.5rem;
  height: 1.5rem;
}
.modal-simple .selection-item-button {
  position: absolute;
  bottom: 2rem;
  right: 2rem;
}
@media only screen and (max-width: 768px) {
  .modal-simple .selection-item-button {
    bottom: 1.25rem;
    right: 1.25rem;
  }
}
.modal-simple .selection-item .button-purple {
  opacity: 0;
  visibility: hidden;
}
.modal-simple .selection-item.active .button-purple {
  opacity: 0;
  visibility: hidden;
}
.modal-simple .selection-item.active .button-purple {
  opacity: 1;
  visibility: visible;
}
.modal-simple .titlebox {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  align-items: center;
  gap: 6.25rem;
}
@media only screen and (max-width: 1475px) {
  .modal-simple .titlebox {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    gap: 5rem;
  }
}
@media only screen and (max-width: 1200px) {
  .modal-simple .titlebox {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
  }
}
@media only screen and (max-width: 768px) {
  .modal-simple .titlebox {
    gap: 0.75rem;
  }
}
.modal-simple .titlebox-title {
  flex-shrink: 0;
  max-width: 100%;
}
.modal-simple .titlebox-description {
  font-size: 1rem;
}
.modal-simple .guarantee-wrapper {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  gap: 6.25rem;
}
@media only screen and (max-width: 1475px) {
  .modal-simple .guarantee-wrapper {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    gap: 5rem;
  }
}
@media only screen and (max-width: 1200px) {
  .modal-simple .guarantee-wrapper {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media only screen and (max-width: 768px) {
  .modal-simple .guarantee-wrapper {
    gap: 2.25rem;
  }
}
.modal-simple .guarantee-item-image {
  border-radius: 1.5625rem;
  aspect-ratio: 15/10;
  overflow: hidden;
  max-width: 100%;
  width: 100%;
  height: auto;
  object-fit: cover;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 1200px) {
  .modal-simple .guarantee-item-image {
    max-width: 43.75rem;
  }
}
@media only screen and (max-width: 768px) {
  .modal-simple .guarantee-item-image {
    margin-bottom: 2.5rem;
  }
}
.modal-simple .guarantee-item-about {
  display: flex;
  align-items: center;
  gap: 2.5rem;
}
@media only screen and (max-width: 991px) {
  .modal-simple .guarantee-item-about {
    justify-content: center;
  }
}
@media only screen and (max-width: 768px) {
  .modal-simple .guarantee-item-about {
    flex-direction: column;
    justify-content: center;
    gap: 1.25rem;
  }
}
.modal-simple .guarantee-item-about-text span {
  font-size: 1rem;
  display: block;
  line-height: 1.45;
}
.modal-simple .guarantee-item-about-price {
  flex-shrink: 0;
}
.modal-simple .guarantee-item-form-title {
  display: block;
  margin-top: 0;
  margin-bottom: 2.25rem;
}
@media only screen and (max-width: 768px) {
  .modal-simple .guarantee-item-form-title {
    margin-bottom: 1.25rem;
  }
}
.modal-simple .guarantee-item-form-button {
  margin-top: 3rem;
}
@media only screen and (max-width: 768px) {
  .modal-simple .guarantee-item-form-button {
    margin-top: 2rem;
  }
}
.modal-simple .gallery {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.3fr);
  overflow: hidden;
  border-radius: 1.5625rem;
}
@media only screen and (max-width: 1200px) {
  .modal-simple .gallery {
    grid-template-columns: 1fr;
  }
}
@media only screen and (min-width: 1200px) {
  .modal-simple .gallery, .modal-simple .gallery-sidebar {
    height: 50rem;
  }
}
.modal-simple .gallery-main {
  display: grid;
  grid-template-areas: "stack";
  position: relative;
  overflow: hidden;
}
.modal-simple .gallery-main-item {
  grid-area: stack;
  width: 100%;
  height: auto;
  object-fit: cover;
  height: 100%;
  opacity: 0;
  transition: opacity 0.4s ease-in-out;
  z-index: 1;
}
@media only screen and (max-width: 1200px) {
  .modal-simple .gallery-main-item {
    aspect-ratio: 15/10;
  }
}
.modal-simple .gallery-main-item.visible {
  opacity: 1;
  z-index: 2;
}
.modal-simple .gallery-sidebar {
  position: relative;
  display: flex;
  flex-direction: column;
}
.modal-simple .gallery-sidebar-controls {
  position: absolute;
  bottom: 4.5rem;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 0.5rem;
}
@media only screen and (max-width: 1200px) {
  .modal-simple .gallery-sidebar-controls {
    bottom: 2.25rem;
  }
}
@media only screen and (max-width: 768px) {
  .modal-simple .gallery-sidebar-controls {
    bottom: 1.75rem;
  }
}
.modal-simple .gallery-sidebar-controls button {
  border-radius: 4.6875rem;
  background-color: #030609;
  color: #fefefe;
  width: 3rem;
  height: 3rem;
  padding: 0.5rem;
  transition: all 0.25s ease-in-out;
}
@media only screen and (max-width: 768px) {
  .modal-simple .gallery-sidebar-controls button {
    width: 2.5rem;
    height: 2.5rem;
  }
}
.modal-simple .gallery-sidebar-controls button:hover {
  background-color: #7b76a2;
  color: #fefefe;
}
.modal-simple .gallery-sidebar-content {
  padding: 7.5rem 3rem 10rem;
  height: 100%;
}
@media only screen and (max-width: 1200px) {
  .modal-simple .gallery-sidebar-content {
    padding: 3rem 3rem 7.25rem;
  }
}
@media only screen and (max-width: 768px) {
  .modal-simple .gallery-sidebar-content {
    padding: 1.75rem 1.75rem 6rem;
  }
}
.modal-simple .gallery-sidebar-content-wrapper {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  max-height: 100%;
  overflow: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.modal-simple .gallery-sidebar-content-wrapper::-webkit-scrollbar {
  display: none;
}
@media only screen and (max-width: 1200px) {
  .modal-simple .gallery-sidebar-content-wrapper {
    max-height: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
}
@media only screen and (max-width: 768px) {
  .modal-simple .gallery-sidebar-content-wrapper {
    gap: 0.75rem;
  }
}
.modal-simple .gallery-sidebar-content-item {
  display: block;
  aspect-ratio: 15/10;
  overflow: hidden;
  position: relative;
  border-radius: 0.375rem;
}
@media only screen and (max-width: 1200px) {
  .modal-simple .gallery-sidebar-content-item {
    max-width: 6.25rem;
  }
}
@media only screen and (max-width: 576px) {
  .modal-simple .gallery-sidebar-content-item {
    max-width: 5.3125rem;
  }
}
.modal-simple .gallery-sidebar-content-item::after {
  content: "";
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  background-color: #fefefe;
  background-image: url("../img/icon/icon-tick.svg");
  background-repeat: no-repeat;
  background-size: 75%;
  background-position: center center;
  transition: transform 0.25s ease-in-out;
  opacity: 0;
  visibility: hidden;
}
@media only screen and (max-width: 576px) {
  .modal-simple .gallery-sidebar-content-item::after {
    width: 1.15rem;
    height: 1.15rem;
  }
}
.modal-simple .gallery-sidebar-content-item.active::after {
  opacity: 1;
  visibility: visible;
}
.modal-simple .gallery-sidebar-content-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.25s ease-in-out;
}
.modal-simple .gallery-sidebar-content-item:hover img {
  transform: scale(1.08);
}
.modal-simple .calculation1-buttons {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 2.5rem;
  padding-bottom: 4rem;
}
@media only screen and (max-width: 1200px) {
  .modal-simple .calculation1-buttons {
    gap: 1.25rem;
  }
}
@media only screen and (max-width: 991px) {
  .modal-simple .calculation1-buttons {
    padding-top: 1rem;
  }
}
@media only screen and (max-width: 768px) {
  .modal-simple .calculation1-buttons {
    padding-bottom: 2.5rem;
  }
}
.modal-simple .calculation1-buttons-title {
  color: #3a3080;
  font-size: 1.75rem;
  font-weight: 600;
  flex-shrink: 0;
}
@media only screen and (max-width: 991px) {
  .modal-simple .calculation1-buttons-title {
    font-size: 1.5rem;
    text-align: center;
    width: 100%;
  }
}
.modal-simple .calculation1-buttons-wrapper {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
  flex-shrink: 0;
}
@media only screen and (max-width: 1200px) {
  .modal-simple .calculation1-buttons-wrapper {
    flex-shrink: 11;
  }
}
@media only screen and (max-width: 991px) {
  .modal-simple .calculation1-buttons-wrapper {
    gap: 0.5rem;
    justify-content: center;
    align-items: center;
  }
}
.modal-simple .calculation1-buttons-wrapper .button {
  min-width: 13.125rem;
}
.modal-simple .calculation1-form-footer {
  display: flex;
  justify-content: center;
  margin-top: 5rem;
}
@media only screen and (max-width: 768px) {
  .modal-simple .calculation1-form-footer {
    margin-top: 2.5rem;
  }
}
.modal-simple .calculation2-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 3rem;
}
@media only screen and (max-width: 991px) {
  .modal-simple .calculation2-header {
    flex-direction: column;
  }
}
.modal-simple .calculation2-header-image {
  aspect-ratio: 15/10;
  width: 100%;
  max-width: 28.125rem;
  height: auto;
  border-radius: 1.5625rem;
  overflow: hidden;
  object-fit: cover;
}
.modal-simple .calculation2-table {
  width: 100%;
  margin: 0;
}
.modal-simple .calculation2-table-header, .modal-simple .calculation2-table-row {
  display: flex;
  align-items: center;
  border-bottom: 0.0625rem solid #9c9b9b;
}
.modal-simple .calculation2-table-header {
  color: #9c9b9b;
  font-size: 0.75rem;
  padding: 0 1rem 0.75rem;
}
@media only screen and (max-width: 991px) {
  .modal-simple .calculation2-table-header {
    display: none;
  }
}
.modal-simple .calculation2-table-row {
  padding: 1.25rem 1rem;
  color: #030609;
  font-weight: 500;
}
@media only screen and (max-width: 991px) {
  .modal-simple .calculation2-table-row {
    flex-direction: column;
    align-items: flex-start;
  }
  .modal-simple .calculation2-table-row:last-child {
    border-bottom: 0;
  }
}
@media only screen and (max-width: 768px) {
  .modal-simple .calculation2-table-row {
    gap: 0;
    padding: 1.25rem 0;
  }
}
.modal-simple .calculation2-table-footer {
  display: flex;
  justify-content: flex-end;
  margin-top: 3rem;
}
@media only screen and (max-width: 991px) {
  .modal-simple .calculation2-table-footer {
    justify-content: center;
  }
}
@media only screen and (max-width: 768px) {
  .modal-simple .calculation2-table-footer {
    justify-content: center;
    margin-top: 2rem;
  }
}
.modal-simple .calculation2-col-item {
  flex: 1 1 auto;
  padding-right: 1.5rem;
}
@media only screen and (max-width: 991px) {
  .modal-simple .calculation2-col-item {
    width: 100%;
    padding-right: 0;
    font-weight: 600;
    margin-bottom: 0.75rem;
    text-align: left;
  }
}
@media only screen and (max-width: 768px) {
  .modal-simple .calculation2-col-item {
    margin-bottom: 0.25rem;
    line-height: 1.4;
  }
}
.modal-simple .calculation2-col-qty {
  flex: 0 0 5rem;
  text-align: center;
}
.modal-simple .calculation2-col-price {
  flex: 0 0 7.5rem;
  text-align: right;
}
.modal-simple .calculation2-col-total {
  flex: 0 0 8.75rem;
  text-align: right;
}
@media only screen and (max-width: 991px) {
  .modal-simple .calculation2-col-qty, .modal-simple .calculation2-col-price, .modal-simple .calculation2-col-total {
    flex: 0 0 auto;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: right;
  }
  .modal-simple .calculation2-col-qty::before, .modal-simple .calculation2-col-price::before, .modal-simple .calculation2-col-total::before {
    content: attr(data-label);
    color: #9c9b9b;
    font-size: 0.875rem;
    font-weight: 400;
  }
}
.modal-simple .calculation2-total-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 3rem;
  border: 0.0625rem solid #9c9b9b;
  border-radius: 1rem;
  padding: 0.5rem 1.75rem;
  background-color: #fefefe;
  min-width: 28.125rem;
}
@media only screen and (max-width: 991px) {
  .modal-simple .calculation2-total-box {
    background-color: #7b76a2;
    flex-direction: column;
    justify-content: center;
    padding: 1.25rem 1rem;
    gap: 0.5rem;
    min-width: 21.875rem;
  }
}
@media only screen and (max-width: 768px) {
  .modal-simple .calculation2-total-box {
    border: 0;
    width: 100%;
    gap: 0.25rem;
    min-width: unset;
  }
}
.modal-simple .calculation2-total-box .total-label {
  font-size: 1.125rem;
  font-weight: 500;
  color: #030609;
}
@media only screen and (max-width: 991px) {
  .modal-simple .calculation2-total-box .total-label {
    color: #fefefe;
  }
}
.modal-simple .calculation2-total-box .total-value {
  font-size: 1.625rem;
  font-weight: 600;
  color: #030609;
}
@media only screen and (max-width: 991px) {
  .modal-simple .calculation2-total-box .total-value {
    color: #fefefe;
  }
}
@media only screen and (max-width: 576px) {
  .modal-simple .calculation2-total-box .total-value {
    font-size: 1.5rem;
  }
}
.modal-simple .calculation2-order {
  display: none;
}
.modal-simple .calculation2-order.active {
  display: block;
}
.modal-simple .calculation2-order-wrapper {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4rem;
  align-items: center;
}
@media only screen and (max-width: 991px) {
  .modal-simple .calculation2-order-wrapper {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media only screen and (max-width: 768px) {
  .modal-simple .calculation2-order-wrapper {
    gap: 2.5rem;
  }
}
.modal-simple .calculation2-order-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.modal-simple .calculation2-order-inputbox {
  width: 100%;
}
.modal-simple .calculation2-order-inputbox input {
  width: 100%;
  height: 4rem;
  padding: 1rem 1.25rem;
  background-color: rgba(254, 254, 254, 0.5);
  border: none;
  border-radius: 1rem;
  font-size: 1.125rem;
  font-weight: 600;
  color: #3a3080;
  transition: all 0.25s ease-in-out;
  font-size: 1.25rem;
}
.modal-simple .calculation2-order-inputbox input::placeholder {
  color: #3a3080;
}
.modal-simple .calculation2-order-inputbox input:hover, .modal-simple .calculation2-order-inputbox input:focus {
  background-color: rgba(254, 254, 254, 0.7);
  outline: none;
}
@media only screen and (max-width: 768px) {
  .modal-simple .calculation2-order-inputbox input {
    height: 3.5rem;
    font-size: 1.125rem;
  }
}
.modal-simple .calculation2-order-content {
  text-align: right;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
@media only screen and (max-width: 991px) {
  .modal-simple .calculation2-order-content {
    text-align: center;
    align-items: center;
  }
}
.modal-simple .calculation2-order-title {
  display: block;
  font-size: 3.4375rem;
  font-weight: 600;
  line-height: 1.1;
  margin: 0 0 3.5rem 0;
  letter-spacing: -0.078125rem;
  color: #fefefe;
}
@media only screen and (max-width: 1475px) {
  .modal-simple .calculation2-order-title {
    font-size: 3.125rem;
  }
}
@media only screen and (max-width: 991px) {
  .modal-simple .calculation2-order-title {
    margin: 0 0 1.75rem 0;
  }
}
@media only screen and (max-width: 768px) {
  .modal-simple .calculation2-order-title {
    font-size: 2.125rem;
    margin: 0 0 1.25rem 0;
  }
}
.modal-simple .calculation2-order-desc {
  font-size: 1rem;
  color: #fefefe;
  max-width: 26.25rem;
  margin-bottom: 3.5rem;
  line-height: 1.5;
  width: 100%;
}
@media only screen and (max-width: 991px) {
  .modal-simple .calculation2-order-desc {
    margin: 0 auto;
  }
}
.modal-simple .calculation2-order-buttons {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  align-items: flex-end;
}
@media only screen and (max-width: 991px) {
  .modal-simple .calculation2-order-buttons {
    width: 100%;
    align-items: center;
    gap: 1rem;
  }
  .modal-simple .calculation2-order-buttons .button {
    justify-content: center;
  }
}
.modal-simple .calculation2-final {
  display: none;
  color: #fefefe;
}
.modal-simple .calculation2-final.active {
  display: block;
}
.modal-simple .calculation2-final-section {
  margin-bottom: 4rem;
}
@media only screen and (max-width: 768px) {
  .modal-simple .calculation2-final-section {
    margin-bottom: 2.5rem;
  }
}
.modal-simple .calculation2-final-title {
  display: block;
  font-size: 3.4375rem;
  font-weight: 600;
  line-height: 1.1;
  margin: 0 0 4rem 0;
  letter-spacing: -0.078125rem;
  color: #fefefe;
}
@media only screen and (max-width: 1475px) {
  .modal-simple .calculation2-final-title {
    font-size: 3.125rem;
  }
}
@media only screen and (max-width: 768px) {
  .modal-simple .calculation2-final-title {
    font-size: 2.125rem;
    margin: 0 0 2.5rem 0;
  }
}
.modal-simple .calculation2-final-subtitle {
  display: block;
  font-size: 2.125rem;
  font-weight: 600;
  line-height: 1.1;
  margin: 0 0 1rem 0;
  letter-spacing: -0.03125rem;
  color: #fefefe;
}
@media only screen and (max-width: 991px) {
  .modal-simple .calculation2-final-subtitle {
    margin-bottom: 1.25rem;
  }
}
@media only screen and (max-width: 768px) {
  .modal-simple .calculation2-final-subtitle {
    font-size: 1.75rem;
    margin-bottom: 1rem;
  }
}
.modal-simple .calculation2-final-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  padding-bottom: 1.5rem;
}
@media only screen and (max-width: 991px) {
  .modal-simple .calculation2-final-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media only screen and (max-width: 768px) {
  .modal-simple .calculation2-final-grid {
    gap: 1rem;
  }
}
.modal-simple .calculation2-final-shipping-fields {
  padding-top: 3rem;
}
.modal-simple .calculation2-final-shipping-fields .calculation2-final-grid {
  padding-top: 1.25rem;
  padding-bottom: 0;
}
@media only screen and (max-width: 768px) {
  .modal-simple .calculation2-final-shipping-fields .calculation2-final-grid {
    padding-top: 1rem;
  }
}
.modal-simple .calculation2-final-shipping h3 {
  margin: 0;
}
.modal-simple .calculation2-final-inputbox {
  width: 100%;
}
.modal-simple .calculation2-final-inputbox input {
  width: 100%;
  height: 4rem;
  padding: 1rem 1.25rem;
  background-color: rgba(254, 254, 254, 0.5);
  border: none;
  border-radius: 1rem;
  font-size: 1.25rem;
  font-weight: 600;
  color: #3a3080;
  transition: all 0.25s ease-in-out;
}
.modal-simple .calculation2-final-inputbox input::placeholder {
  color: #3a3080;
}
.modal-simple .calculation2-final-inputbox input:hover, .modal-simple .calculation2-final-inputbox input:focus {
  background-color: rgba(254, 254, 254, 0.7);
  outline: none;
}
@media only screen and (max-width: 768px) {
  .modal-simple .calculation2-final-inputbox input {
    height: 3.5rem;
    font-size: 1.125rem;
  }
}
.modal-simple .calculation2-final-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3rem;
}
@media only screen and (max-width: 991px) {
  .modal-simple .calculation2-final-columns {
    grid-template-columns: minmax(0, 1fr);
    gap: 2.5rem;
  }
}
.modal-simple .calculation2-final-col {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
@media only screen and (max-width: 768px) {
  .modal-simple .calculation2-final-col {
    gap: 1rem;
  }
}
.modal-simple .calculation2-final-radiobox {
  display: flex;
  align-items: center;
  width: 100%;
  height: 4rem;
  padding: 1rem 1.25rem;
  background-color: rgba(254, 254, 254, 0.5);
  border-radius: 1rem;
  cursor: pointer;
  transition: all 0.25s ease-in-out;
  color: #3a3080;
  font-size: 1.25rem;
  font-weight: 500;
}
@media only screen and (max-width: 768px) {
  .modal-simple .calculation2-final-radiobox {
    height: auto;
    min-height: 3.5rem;
    font-size: 1rem;
    flex-wrap: wrap;
  }
}
.modal-simple .calculation2-final-radiobox:hover {
  background-color: rgba(254, 254, 254, 0.7);
}
.modal-simple .calculation2-final-radiobox input {
  display: none;
}
.modal-simple .calculation2-final-radiobox input:checked + .radio-mark {
  background-color: #3a3080;
}
.modal-simple .calculation2-final-radiobox input:checked + .radio-mark svg {
  opacity: 1;
  visibility: visible;
}
.modal-simple .calculation2-final-radiobox .radio-mark {
  width: 1.5rem;
  height: 1.5rem;
  border: 0.0625rem solid #3a3080;
  border-radius: 0.375rem;
  margin-right: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.25s ease-in-out;
}
.modal-simple .calculation2-final-radiobox .radio-mark svg {
  width: 1rem;
  height: 1rem;
  color: #fefefe;
  opacity: 0;
  visibility: hidden;
  transition: all 0.25s ease-in-out;
}
.modal-simple .calculation2-final-radiobox .radio-text {
  flex-grow: 1;
  text-align: left;
}
.modal-simple .calculation2-final-radiobox .radio-price {
  text-align: right;
}
@media only screen and (max-width: 768px) {
  .modal-simple .calculation2-final-radiobox .radio-price {
    width: 100%;
    padding-left: 2.5rem;
    text-align: left;
    font-size: 0.75rem;
  }
}
.modal-simple .calculation2-final-note {
  font-size: 1rem;
  color: #fefefe;
  line-height: 1.4;
  opacity: 0.8;
  margin: 0.25rem 0 0 0;
  padding-left: 1.25rem;
}
@media only screen and (max-width: 991px) {
  .modal-simple .calculation2-final-note {
    padding-left: 0;
  }
}
.modal-simple .calculation2-final-checkbox {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  color: #fefefe;
  margin-left: 1.25rem;
  font-size: 1rem;
  text-align: left;
}
@media only screen and (max-width: 991px) {
  .modal-simple .calculation2-final-checkbox {
    margin: 0 auto;
  }
}
.modal-simple .calculation2-final-checkbox input {
  display: none;
}
.modal-simple .calculation2-final-checkbox input:checked + .checkmark svg {
  opacity: 1;
  visibility: visible;
}
.modal-simple .calculation2-final-checkbox .checkmark {
  width: 1.5rem;
  height: 1.5rem;
  background-color: rgba(254, 254, 254, 0.5);
  border-radius: 0.375rem;
  margin-right: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
  flex-shrink: 0;
}
.modal-simple .calculation2-final-checkbox .checkmark svg {
  width: 1rem;
  height: 1rem;
  color: #3a3080;
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s;
}
.modal-simple .calculation2-final-checkbox a {
  color: #fefefe;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.modal-simple .calculation2-final-checkbox a:hover {
  text-decoration: none;
}
.modal-simple .calculation2-final-submit {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2.5rem;
  margin-top: 1rem;
}
@media only screen and (max-width: 991px) {
  .modal-simple .calculation2-final-submit {
    margin-top: 2.75rem;
    align-items: center;
  }
}
@media only screen and (max-width: 768px) {
  .modal-simple .calculation2-final-submit {
    margin-top: 2.25rem;
    gap: 2.25rem;
  }
}

.calculation2-header-image {
  aspect-ratio: 15/10;
  width: 100%;
  max-width: 28.125rem;
  height: auto;
  border-radius: 1.5625rem;
  overflow: hidden;
  object-fit: cover;
}

.form-inputbox {
  display: block;
  width: 100%;
  margin-top: 0.5rem;
  text-align: left;
}
@media only screen and (max-width: 768px) {
  .form-inputbox {
    margin-top: 0.75rem;
  }
}
.form-inputbox span {
  font-size: 0.875rem;
  color: #9c9b9b;
  margin-left: 0.75rem;
  margin-bottom: 0.375rem;
  display: block;
}
.form-inputbox input, .form-inputbox select {
  display: flex;
  align-items: center;
  width: 100%;
  height: 3.75rem;
  padding: 1rem 1.25rem;
  border: 0.0625rem solid #9c9b9b;
  border-radius: 1rem;
  font-size: 1.125rem;
  font-weight: 600;
  color: #030609;
}
.form-inputbox input, .form-inputbox input::placeholder, .form-inputbox select, .form-inputbox select::placeholder {
  transition: all 0.25s ease-in-out;
}
.form-inputbox input:hover, .form-inputbox input :focus, .form-inputbox select:hover, .form-inputbox select :focus {
  border-color: #030609;
}
.form-inputbox input:focus::placeholder, .form-inputbox select:focus::placeholder {
  color: #9c9b9b;
}
.form-inputbox-number {
  position: relative;
}
.form-inputbox-number::after {
  content: "";
  position: absolute;
  right: 1.25rem;
  bottom: 1.25rem;
  width: 1.25rem;
  height: 1.25rem;
  background-image: url("../img/icon/icon-input-number.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  pointer-events: none;
  transition: transform 0.3s ease;
}
.form-inputbox select {
  background-color: #fefefe;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
  padding-right: 3rem;
}
.form-inputbox select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #030609;
}
.form-inputbox-select {
  position: relative;
}
.form-inputbox-select::after {
  content: "";
  position: absolute;
  right: 1.25rem;
  bottom: 1.25rem;
  width: 1.25rem;
  height: 1.25rem;
  background-image: url("../img/icon/icon-dropdown.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  pointer-events: none;
  transition: transform 0.3s ease;
}
.form-inputbox-select:has(select:focus)::after {
  transform: rotate(180deg);
}
.form-twocol {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
}
@media only screen and (max-width: 991px) {
  .form-twocol {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }
}
.form-dark {
  padding: 6.25rem 0;
  background: linear-gradient(350deg, #3a3080 0%, #4d4683 100%);
  border-radius: 1.5625rem;
}
@media only screen and (max-width: 991px) {
  .form-dark {
    padding: 5rem;
  }
}
@media only screen and (max-width: 768px) {
  .form-dark {
    padding: 2rem;
  }
}
.form-dark-inner {
  max-width: 46.875rem;
  margin: 0 auto;
}
.form-dark-inputbox {
  display: block;
  max-width: 25rem;
}
@media only screen and (max-width: 768px) {
  .form-dark-inputbox {
    max-width: 100%;
  }
}
.form-dark-inputbox:not(:last-child) {
  margin-bottom: 1rem;
}
.form-dark-inputbox input, .form-dark-inputbox textarea {
  width: 100%;
  height: 4rem;
  padding: 1rem 1.25rem;
  background-color: rgba(254, 254, 254, 0.5);
  border: none;
  border-radius: 1rem;
  font-size: 1.125rem;
  font-weight: 600;
  color: #3a3080;
  transition: all 0.25s ease-in-out;
  font-size: 1.25rem;
}
.form-dark-inputbox input::placeholder, .form-dark-inputbox textarea::placeholder {
  color: #3a3080;
}
.form-dark-inputbox input:hover, .form-dark-inputbox input:focus, .form-dark-inputbox textarea:hover, .form-dark-inputbox textarea:focus {
  background-color: rgba(254, 254, 254, 0.7);
  outline: none;
}
@media only screen and (max-width: 768px) {
  .form-dark-inputbox input, .form-dark-inputbox textarea {
    height: 3.5rem;
    font-size: 1.125rem;
  }
}
.form-dark-inputbox-large {
  max-width: 100%;
}
.form-dark-inputbox textarea {
  min-height: 12.5rem;
}
.form-dark-button {
  margin-top: 3.5rem;
}
@media only screen and (max-width: 768px) {
  .form-dark-button {
    margin-top: 2rem;
  }
}

.contacts-pushed-top {
  margin-top: -12.5rem;
  z-index: 2;
}
.contacts-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6rem 3rem;
}
@media only screen and (max-width: 1200px) {
  .contacts-wrapper {
    gap: 4.75rem 3rem;
  }
}
@media only screen and (max-width: 768px) {
  .contacts-wrapper {
    gap: 3.25rem;
  }
}
.contacts-item {
  width: calc(33.3333333333% - 2rem);
}
@media only screen and (max-width: 1200px) {
  .contacts-item {
    width: calc(50% - 1.5rem);
  }
}
@media only screen and (max-width: 768px) {
  .contacts-item {
    width: 100%;
  }
}
.contacts-item-image {
  max-width: 18.125rem;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 991px) {
  .contacts-item-image {
    margin: 0 auto 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .contacts-item-image {
    margin-bottom: 1.5rem;
  }
}
@media only screen and (max-width: 576px) {
  .contacts-item-image {
    max-width: 15.625rem;
  }
}
.contacts-item-image img {
  aspect-ratio: 1/1.25;
  width: 100%;
  display: block;
  border-radius: 1.5625rem;
  background-color: #fefefe;
  object-fit: cover;
}
.contacts-item-name {
  margin-bottom: 2rem;
}
@media only screen and (max-width: 768px) {
  .contacts-item-name {
    margin-bottom: 1.5rem;
  }
}
.contacts-item-body {
  padding: 0 1rem;
}
@media only screen and (max-width: 991px) {
  .contacts-item-name {
    text-align: center;
  }
}
.contacts-item-name-main {
  margin: 0;
}
.contacts-item-name-position {
  display: block;
  margin-top: 0.125rem;
  font-size: 1rem;
}
.contacts-item-links {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
@media only screen and (max-width: 991px) {
  .contacts-item-links {
    width: fit-content;
    margin: 0 auto;
  }
}
.contacts-item-links-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  text-decoration: none;
  font-size: 1.25rem;
  font-weight: 500;
}
@media only screen and (max-width: 768px) {
  .contacts-item-links-item {
    font-size: 1.125rem;
  }
}
.contacts-item-links-item-icon {
  width: 1.875rem;
  height: 1.875rem;
  background-color: #030609;
  color: #fefefe;
  flex-shrink: 0;
  border-radius: 4.6875rem;
  padding: 0.3125rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s ease-in-out;
}
.contacts-item-links-item-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}
.contacts-item-links-item-icon.icon-phone {
  padding: 0.4375rem;
}
.contacts-item-links-item-icon.icon-phone svg {
  transform: translate(0.03125rem, -0.03125rem);
}
.contacts-item-links-item:hover .contacts-item-links-item-icon {
  background-color: #7b76a2;
}

.title-highlighted {
  background-color: #3a3080;
  border-radius: 3.125rem;
  padding: 0.875rem 2.25rem;
  width: fit-content;
  margin: 7.5rem auto;
}
@media only screen and (max-width: 768px) {
  .title-highlighted {
    margin: 4.5rem auto;
    padding: 0.875rem 2rem;
  }
}
.title-highlighted h1, .title-highlighted h2, .title-highlighted h3, .title-highlighted h4 {
  color: #fefefe;
  margin: 0;
  line-height: 1.1;
  transform: translateY(-0.125rem);
  font-size: 2.625rem;
  letter-spacing: -0.0625rem;
}
@media only screen and (max-width: 768px) {
  .title-highlighted h1, .title-highlighted h2, .title-highlighted h3, .title-highlighted h4 {
    font-size: 2rem;
  }
}

.gallery-wrapper {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
}
@media only screen and (max-width: 991px) {
  .gallery-wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 768px) {
  .gallery-wrapper {
    gap: 1rem;
  }
}
.gallery-item {
  display: block;
  overflow: hidden;
  border-radius: 1.5625rem;
  background-color: #eaeaeb;
}
@media only screen and (max-width: 768px) {
  .gallery-item {
    border-radius: 1rem;
  }
}
.gallery-item img {
  width: 100%;
  height: 100%;
  aspect-ratio: 15/10;
  object-fit: cover;
  transition: transform 0.25s ease-in-out;
}
.gallery-item:hover img {
  transform: scale(1.08);
}

.steps-wrapper {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
@media only screen and (max-width: 576px) {
  .steps-wrapper {
    gap: 1.25rem;
  }
}
.steps-item {
  display: flex;
  align-items: center;
  text-decoration: none;
  border-radius: 1.5625rem;
  overflow: hidden;
  min-height: 17.1875rem;
  padding: 2.5rem 6rem;
  position: relative;
  gap: 1rem;
}
@media only screen and (max-width: 991px) {
  .steps-item {
    flex-direction: column;
    min-height: unset;
    justify-content: center;
    text-align: center;
  }
}
@media only screen and (max-width: 768px) {
  .steps-item {
    padding: 2.5rem;
  }
  .steps-item-text {
    max-width: 21.875rem;
  }
}
@media only screen and (max-width: 576px) {
  .steps-item {
    padding: 2rem;
  }
}
.steps-item-number {
  min-width: 18.75rem;
}
.steps-item-number, .steps-item-text {
  color: #fefefe;
  margin: 0;
}
.steps-item:nth-child(1) {
  background-color: #3a3080;
}
.steps-item:nth-child(2) {
  background-color: #756ea6;
}
.steps-item:nth-child(3) {
  background-color: #a6a2c1;
}
.steps-item:nth-child(4) {
  background-color: #cecbe3;
}

.files-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
@media only screen and (max-width: 991px) {
  .files-wrapper {
    flex-direction: column;
  }
}
.files-item {
  border: 1px solid #030609;
  border-radius: 2.1875rem;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 1rem 0;
  overflow: hidden;
}
@media only screen and (max-width: 991px) {
  .files-item {
    flex-direction: column;
    align-items: center;
    padding: 2rem;
  }
}
@media only screen and (max-width: 576px) {
  .files-item {
    padding: 1.5rem 1.25rem;
  }
}
.files-item-main {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 1rem;
  padding: 0.875rem 2rem;
}
@media only screen and (max-width: 991px) {
  .files-item-main {
    padding: 0;
    flex-direction: column;
    text-align: center;
  }
}
.files-item-main-title {
  margin-bottom: 0;
  font-size: 1.5rem;
  font-weight: 600;
}
@media only screen and (max-width: 576px) {
  .files-item-main-title {
    font-size: 1.25rem;
  }
}
.files-item-main-text {
  margin-bottom: 0;
  font-size: 1.375rem;
}
@media only screen and (max-width: 576px) {
  .files-item-main-text {
    font-size: 1.125rem;
  }
}
.files-item-button {
  margin: -1px -1px -1px 0;
  font-size: 1.125rem;
  flex-shrink: 0;
}
.files-item-button::before {
  background-color: #3a3080;
}
.files-item-button:hover {
  color: #fefefe;
}

/*# sourceMappingURL=main.css.map */
