@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  src: url('../Fonts/inter-v20-latin-regular.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  src: url('../Fonts/inter-v20-latin-500.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  src: url('../Fonts/inter-v20-latin-700.woff2') format('woff2');
}

:root {
  --grid-padding: 30px;
  --grid-columns: 12;

  --max-content-width: 100%;

  --top-height: 40px;
  --header-height: 160px;

  --ff-base: 'Inter', system-ui;

  --font-weight-400: 400;
  --font-weight-500: 500;
  --font-weight-700: 700;
  --font-weight-regular: var(--font-weight-500);

  --color-white: #ffffff;
  --color-base: #3a3a3a;
  --color-violet: #66519c;
  --color-violet-33: #402683;
  --color-violet-33-hover: #2f176e;
  --color-violet-46: #66519c;
  --color-violet-46-hover: #5c4696;

  --color-grey-97: #f8f8f8;
}

body {
  font-family: var(--ff-base);
  font-size: 1rem;
  font-weight: var(--font-weight-regular);
  line-height: 162.5%;
  color: var(--color-base) !important;
}

p {
  font-size: 1rem;
  font-weight: var(--font-weight-regular);
  color: var(--color-base) !important;
}

.mobile {
  display: none;
}

.layout-home .banner {
  top: 0 !important;
  margin-bottom: 0 !important;
}

.jumbotron {
  position: inherit;
}

.link {
  color: var(--color-violet) !important;
}

.link--arrow {
  display: flex;
  align-items: center;
  gap: 15px;
}

.link--arrow::after {
  flex-shrink: 0;
  content: '';
  width: 20px;
  height: 10px;
  background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAyMiAxMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEgNkgyMU0yMSA2TDE2IDFNMjEgNkwxNiAxMSIgc3Ryb2tlPSIjNjY1MTlDIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4=');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.breadcrumb a {
  color: #3a3a3a;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.breadcrumb-item + .breadcrumb-item::before {
  color: #3a3a3a;
}

.breadcrumb-item.active {
  color: #402683;
}

.breadcrumb-item.active a {
  text-decoration: none;
}

/* Details */

details > summary {
  list-style: none;
  cursor: pointer;
}

details > summary::-webkit-details-marker {
  display: none;
}

details::details-content {
  display: block;
  block-size: 0;
  overflow: hidden;
  transition-property: block-size, content-visibility;
  transition-duration: 300ms;
  transition-timing-function: ease;
  transition-behavior: allow-discrete;
}

details[open]::details-content {
  block-size: auto;
  block-size: calc-size(auto, size);
}

.container--static {
  position: static;
}

.top {
  font-weight: var(--font-weight-400);
  color: rgba(255, 255, 255, 1);
  background-color: rgba(64, 38, 131, 1);
}

.top p,
.top a {
  color: rgba(255, 255, 255, 1);
}

.top__items {
  height: var(--top-height);
  display: flex;
  align-items: center;
}

.top__item--right {
  display: flex;
  align-items: center;
  gap: 25px;
  height: var(--top-height);
  line-height: var(--top-height);
  margin-left: auto;
}

.top__item--separator {
  display: none;
  width: 1px;
  height: calc(var(--top-height) - 12px);
  background-color: var(--color-white);
}

/* Service */

.top__item--service {
  display: none;
}

.top__item--service-item {
  display: block;
  padding-inline: 15px;
}

.top__item--service-item:hover,
.top__item--service-item:focus {
  color: rgba(255, 255, 255, 0.7);
}

.top__item--service-button {
  position: relative;
  anchor-name: --service-button;
  padding: 0;
  border: 0;

  display: flex;
  align-items: center;
  gap: 8px;

  color: white;
  background: transparent;
  cursor: pointer;
}

.top__item--service-button,
.top__item--service-button:focus {
  outline: none;
}

.top__item--service-menu {
  position-anchor: --service-button;
  position: absolute;
  margin: 0;
  inset: auto;
  top: anchor(bottom);
  right: anchor(right);

  border: 0;
  padding: 8px;
  color: var(--clr-white);
  background-color: var(--color-violet-33);
}

.top__item--service-menu:popover-open {
  display: grid;
}

/* Styling the popovers backdrop
.top__item--service-menu::backdrop {
  background-color: rgba(0, 0, 0, 0.6);
}
*/

/* Language */

.top__item--language {
}

.top__item--language-item {
  display: block;
  padding-inline: 15px;
}

.top__item--language-item:hover,
.top__item--language-item:focus {
  color: rgba(255, 255, 255, 0.5);
}

.top__item--language-button {
  anchor-name: --language-button;
  padding: 0;
  border: 0;

  display: flex;
  align-items: center;
  gap: 8px;

  color: white;
  background: transparent;
  cursor: pointer;
}

.top__item--language-button,
.top__item--language-button:focus {
  outline: none;
}

.top__item--language-menu {
  position-anchor: --language-button;
  position: absolute;
  margin: 0;
  inset: auto;
  top: anchor(bottom);
  right: anchor(right);

  border: 0;
  padding: 8px;
  color: var(--clr-white);
  background-color: var(--color-violet-33);
}

.top__item--language-menu:popover-open {
  display: grid;
}

.top__item--login {
  flex-shrink: 0;
}

.top__item--login a {
  display: block;
  width: 120px;
  text-align: center;
  background-color: var(--color-violet-46);
}

.top__item--login a:hover {
  background-color: var(--color-violet-46-hover);
}

.p-header {
  background-color: rgba(255, 255, 255, 1);
}

.p-header--fixed {
  position: fixed;
  inset: 0;
  z-index: 10;
}

.nav {
  display: flex;
  align-items: center;
}

.nav__logo {
  display: block;
  max-width: 260px;
}

.nav__menu {
  margin-left: auto;
}

.nav__menu > ul,
.nav__submenu > ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.nav__menu > ul {
  display: flex;
  gap: 20px;
}

.nav__link {
  color: rgba(58, 58, 58, 1);
}

.nav__link:hover,
.nav__link:focus,
.nav__link--active,
.nav__link--current {
  color: var(--color-violet-33);
}

.nav__item--10 .nav__link {
  padding-block: 13px;
  padding-inline: 30px;
  color: rgba(255, 255, 255, 1);
  background-color: var(--color-violet-33);
}

.nav__item--10 .nav__link:hover {
  background-color: var(--color-violet-33-hover);
}

.nav__wrapper {
  opacity: 0;
  visibility: hidden;
  display: grid;
  grid-template-columns:
    minmax(var(--grid-padding), 1fr) repeat(
      var(--grid-columns),
      minmax(0, calc(var(--max-content-width) / var(--grid-columns)))
    )
    minmax(var(--grid-padding), 1fr);
  position: absolute;
  top: calc(var(--header-height) + var(--top-height));
  left: 0;
  right: 0;
  width: 100%;
  background-color: rgba(255, 255, 255, 1);
  z-index: 1010;
  padding-block: 30px;
  box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.15);
  transition:
    opacity 600ms ease,
    visibility 600ms ease;
}

.nav__content {
  grid-column: 2 / 5;
  padding-block: 18px;
  margin-inline-end: 15px;
}

.nav__content .card {
  border: 0;
}

.nav__content .card > * + * {
  margin-block-start: 30px;
}

.nav__content .card-title {
  margin: 0;
  font-size: inherit;
  font-weight: var(--font-weight-700);
}

.nav__submenu {
  grid-column: 5 / -2;
  margin-inline-start: 15px;
}

.nav__menu > .nav__list > .nav__item {
  height: 160px;
  display: flex;
  align-items: center;
}

.nav__item--children:hover .nav__wrapper,
.nav__item--children:focus-within .nav__wrapper {
  opacity: 1;
  visibility: visible;
}

.nav__submenu > .nav__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(calc(420px - 50px), 100%), 1fr));
  gap: 0 30px;
}

.nav__submenu > .nav__list > .nav__item {
  padding-block: 18px;
  border-bottom: 1px solid rgba(217, 217, 217, 1);
}

/* Level 3 */
.nav__list--level-3 {
  padding: 0;
  list-style-type: none;

  font-size: 14px;
}

/* Footer */

.p-footer {
  font-weight: var(--font-weight-400);
  line-height: 36px;
  background-color: rgba(248, 248, 248, 1);
}

.p-footer ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.p-footer p,
.p-footer a {
  font-weight: var(--font-weight-400);
  color: var(--color-base);
}

.accordion > * + * {
  margin-block-start: 1px;
}

.p-footer .details .details__summary,
.accordion .details__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 20px;
  line-height: 36px;
  font-weight: 700;
  color: var(--color-violet-33);
}

/*
.accordion .details__summary {
  padding: 15px 15px 15px 30px;
  background-color: rgba(248, 248, 248, 1);
}
*/

.p-footer .details .details__summary::after,
.accordion .details__summary::after {
  content: '';
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background-color: var(--color-violet-46);
  background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGxpbmUgeDE9IjkiIHkxPSIxIiB4Mj0iOSIgeTI9IjE3IiBzdHJva2U9IndoaXRlIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8bGluZSB4MT0iMSIgeTE9IjkiIHgyPSIxNyIgeTI9IjkiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+Cjwvc3ZnPg==');
  background-repeat: no-repeat;
  background-position: center;
}

.p-footer .details[open] .details__summary::after,
.accordion .details[open] .details__summary::after {
  background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iI2ZmZmZmZiI+CiAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNNC4yNSAxMmEuNzUuNzUgMCAwIDEgLjc1LS43NWgxNGEuNzUuNzUgMCAwIDEgMCAxLjVINWEuNzUuNzUgMCAwIDEtLjc1LS43NVoiIGNsaXAtcnVsZT0iZXZlbm9kZCIgLz4KPC9zdmc+Cg==');
}

.p-footer .details .details__content,
.accordion .details__content {
  margin-block-start: 15px;
}

/*
.accordion .details__content {
  padding: 15px 30px 30px;
}
*/

.p-footer .details .details__content > *:last-child,
.accordion .details__content > *:last-child {
  margin: 0;
}

.footer__content {
  padding-block: 45px;
}

.footer__copyright {
  height: 50px;
  line-height: 50px;
  color: rgba(255, 255, 255, 1);
  background-color: var(--color-violet-33);
}

.footer__columns {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 43px;
}

/* Form */
.tx-powermail .container-fluid {
  padding-left: 0;
  padding-right: 0;
}

.powermail_form.layout1 {
  margin-block-end: 30px;
}

.powermail_form.layout1 h3 {
  display: none;
}

.powermail_form.layout1 .powermail_fieldset {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;

  padding-block-end: 50px;

  color: #fff;
  font-size: 18px;
  font-style: normal;
  font-weight: var(--font-weight-700, 700);
  line-height: 42px;

  background: #f8f8f8;
}

.powermail_form.layout1 .powermail_legend {
  margin: 0 0 45px 0;
  padding: 9px 50px;
  line-height: 1.5;
  color: var(--color-white);
  background-color: var(--color-violet);
}

.powermail_form.layout1 .powermail_label {
  display: none;
}

.powermail_form.layout1 .powermail_input,
.powermail_form.layout1 .powermail_textarea {
  border: 0;
  width: 100%;
  padding: 0 20px;
  background-color: #ffffff;
}

.powermail_form.layout1 .powermail_fieldwrap_firstname,
.powermail_form.layout1 .powermail_fieldwrap_email {
  grid-column: 1 / -1;
  margin-right: 50px;
  margin-left: 50px;
}

.powermail_form.layout1 .powermail_fieldwrap_lastname,
.powermail_form.layout1 .powermail_fieldwrap_phone {
  grid-column: 1 / -1;
  margin-right: 50px;
  margin-left: 50px;
}

.powermail_form.layout1 .powermail_fieldwrap_message {
  grid-column: 1 / -1;
  margin-right: 50px;
  margin-left: 50px;
}

.powermail_form.layout1 .powermail_submit {
  border: none;
  padding: 2px 30px;
  margin-right: 50px;
  margin-left: 50px;
  color: #ffffff;
  background-color: var(--color-violet-46);
  cursor: pointer;
}

.powermail_form.layout1 .powermail_submit:hover,
.powermail_form.layout1 .powermail_submit:focus {
  background-color: var(--color-violet-46-hover);
}

.powermail_form.layout1 .powermail-errors-list {
  padding: 0;
  margin: 0.25rem 0 0 0;
  list-style-type: none;
  font-size: 0.875rem;
  color: red;
}

@media (min-width: 576px) {
  :root {
  }
}

@media (min-width: 768px) {
  :root {
  }

  .powermail_form.layout1 .powermail_fieldwrap_firstname,
  .powermail_form.layout1 .powermail_fieldwrap_email {
    grid-column: 1 / 2;
    margin-left: 50px;
    margin-right: 0;
  }

  .powermail_form.layout1 .powermail_fieldwrap_lastname,
  .powermail_form.layout1 .powermail_fieldwrap_phone {
    grid-column: 2 / -1;
    margin-right: 50px;
    margin-left: 0;
  }

  .powermail_form.layout1 .powermail_fieldwrap_message {
    grid-column: 1 / -1;
  }
}

@media (min-width: 992px) {
  :root {
  }
}

@media (max-width: 1230px) {
  .top__item--left,
  .nav__menu {
    display: none;
  }
  .top__item--right {
    width: 100%;
    justify-content: space-between;
  }
  .top__item--language {
    order: 2;
  }
  .top__item--login {
    order: 1;
  }
  .nav__group {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 8px 0;
  }
  .nav__toggle {
    width: 100%;
    max-width: 160px;
    height: 50px;
  }
  .nav__toggle a {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 14px;
    width: 100%;
    height: 100%;
    text-align: center;
    color: var(--color-base);
    background-color: var(--color-grey-97);
  }
  .nav__toggle a svg {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    color: var(--color-violet-46);
  }
  .footer__copyright {
    text-align: center;
  }

  .top__item--separator {
    display: none;
  }
}

@media (max-width: 1199px) {
}

@media (min-width: 1200px) {
  :root {
  }

  .nav__toggle {
    display: none;
  }

  .p-footer .details .details__summary {
    pointer-events: none;
  }

  .p-footer .details .details__summary::after {
    display: none;
  }

  /*
  .p-footer .details .details__content {
    margin-block-start: 30px;
  }
  */

  .footer__columns {
    grid-template-columns: repeat(4, 1fr);
    gap: 60px;
  }

  .powermail_form.layout1 {
    margin-inline-end: 110px;
  }
}

@media (min-width: 1231px) {
  :root {
  }
}

@media (min-width: 1580px) {
  :root {
  }
  .nav__menu > ul {
    gap: 40px;
  }
}
