/*--------------------------------------------------------------
# Variables
--------------------------------------------------------------*/

:root {
  --primary-color: #324168;
  --secondary-color: #e0c18d;
  --black-color: #1d1d1b;
  --white-color: #FAF9F7;
  --light-color: #f5f1e9;

  --spacing-large: 80px;
  --spacing-medium: 40px;
  --spacing-small: 0.75rem;
  --spacing-col: 30px;
  --height-navigation: 83px;

  --font-size-base: 16px;
  --font-size-h1: 28px;
  --font-size-h2: 24px;
  --font-size-h3: 20px;
  --font-size-h4: 18px;
  --font-size-lead: 18px;
  --font-size-small: 14px;
  --font-size-tiny: 12px;

  --border-radius-lg: 30px;
  --border-radius-md: 20px;
  --border-radius-sm: 10px;

  --padding-cards: 1.5rem;
  color-scheme: light;
}

@media (min-width: 992px) {
  :root {
    --spacing-large: 160px;
    --spacing-medium: 80px;
    --spacing-small: 60px;
    --font-size-base: 18px;
    --font-size-h1: 58px;
    --font-size-h2: 32px;
    --font-size-h3: 22px;
    --font-size-h4: 20px;
    --font-size-lead: 20px;
    --font-size-small: 16px;
    --font-size-tiny: 14px;
    --padding-cards: 2rem;
  }
}

@media (min-width: 2000px) {
  :root {
    --font-size-base: 20px;
    --font-size-lead: 22px;
  }
}

@media (max-width: 1999px)  { :root { --container-width: 100%; } }
@media (min-width: 2000px) { :root { --container-width: 1820px; } }

/*--------------------------------------------------------------
# Body
--------------------------------------------------------------*/

html { scroll-behavior: smooth; scroll-padding-top: 0; }

body {
  font-family: "Manrope", sans-serif;
  font-weight: 500;
  position: relative;
  width: 100%;
  height: 100%;
  color: var(--white-color);
  background: var(--primary-color);
  font-size: var(--font-size-base);
  overflow-x: hidden;
}

.body-container img { max-width: 100%; height: auto!important; }

/*--------------------------------------------------------------
# Layout
--------------------------------------------------------------*/

.container-fluid {
  padding-left: var(--spacing-small);
  padding-right: var(--spacing-small);
}

.container {
    max-width: var(--container-width)!important;
}

.section-spacing-lg { padding-top: var(--spacing-large); padding-bottom: var(--spacing-large); }
.section-spacing-md { padding-top: var(--spacing-medium); padding-bottom: var(--spacing-medium); }
.mt-navbar { margin-top: var(--height-navigation); }
.mt-lg { margin-top: var(--spacing-large); }
.mb-lg { margin-bottom: var(--spacing-large); }
.pt-lg { padding-top: var(--spacing-large); }
.pb-lg { padding-bottom: var(--spacing-large); }
.mt-md { margin-top: var(--spacing-medium); }
.mb-md { margin-bottom: var(--spacing-medium); }
.pt-md { padding-top: var(--spacing-medium); }
.pb-md { padding-bottom: var(--spacing-medium); }
.mt-sm { margin-top: var(--spacing-small); }
.mb-sm { margin-bottom: var(--spacing-small); }
.pt-sm { padding-top: var(--spacing-small); }
.pb-sm { padding-bottom: var(--spacing-small); }

.mb-col { margin-bottom: 1.5rem; }
@media (max-width: 1399px) { .mb-col-xxl { margin-bottom: 1.5rem; } }
@media (max-width: 1199px) { .mb-col-xl  { margin-bottom: 1.5rem; } }
@media (max-width: 991px)  { .mb-col-lg  { margin-bottom: 1.5rem; } }
@media (max-width: 767px)  { .mb-col-md  { margin-bottom: 1.5rem; } }
@media (max-width: 575px)  { .mb-col-sm  { margin-bottom: 1.5rem; } }

/*--------------------------------------------------------------
# Backgrounds
--------------------------------------------------------------*/

.bg-light { background-color: var(--light-color)!important; color: var(--primary-color) }
.bg-dark  { background-color: var(--black-color)!important; }
.bg-main  { background-color: var(--primary-color)!important; }

/*--------------------------------------------------------------
# Links
--------------------------------------------------------------*/

a { color: var(--primary-color); text-decoration: none!important; -webkit-transition: color 0.2s ease; transition: color 0.2s ease; }
a:hover, a:focus { color: var(--black-color); }
.bg-main a { color: var(--white-color); text-decoration: none!important; }
.bg-main a:hover, .bg-main a:focus { color: var(--light-color); }

a.link-underlined {
  background-image: -webkit-gradient( linear, left top, right top, color-stop(33%, currentColor), color-stop(33%, transparent), color-stop(66%, currentColor) );
  background-image: linear-gradient( 90deg, currentColor 33%, transparent 33% 66%, currentColor 66% );
  background-size: 300% 1.5px;
  background-position: 0 100%;
  background-repeat: no-repeat;
  padding-bottom: 2px;
  text-decoration: none;
  -webkit-transition: background-position 0.75s ease;
  transition: background-position 0.75s ease;
}

a.link-underlined:hover {
  background-position: 100% 100%;
}

/*--------------------------------------------------------------
# Typografie
--------------------------------------------------------------*/

h1 { font-size: var(--font-size-h1); font-weight: 600; margin-bottom: 2.5rem; }
h2 { font-size: var(--font-size-h2); font-weight: 600; margin-bottom: 1.5rem; }
h3 { font-size: var(--font-size-h3); font-weight: 600; }
h4 { font-size: var(--font-size-h4); font-weight: 600; }
.lead { font-size: var(--font-size-lead); font-weight: 500; }
.text-main { color: var(--primary-color); }
span.section-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: var(--secondary-color);
  font-weight: 600;
  font-size: var(--font-size-lead);
  margin-bottom: 1.25rem;
}

span.section-title::before {
  content: '';
  width: 12px;
  height: 12px;
  border-radius: 6px;
  background: var(--secondary-color);
  margin-right: 12px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

@media (max-width: 991px) {
h1 { margin-bottom: 1.75rem; }
h2 { margin-bottom: 1rem; }
span.section-title {
  margin-bottom: .75rem;
}
}

/*--------------------------------------------------------------
# Buttons
--------------------------------------------------------------*/

.btn { padding: .6rem 1.8rem; font-size: 20px; border-radius: 50px!important; font-weight: 600; }
.btn-sm { padding: .3rem 1rem; font-size: var(--font-size-small)!important; }

.btn-main { color: var(--white-color); background: var(--primary-color); border-color: var(--primary-color); }
.btn-main:hover, .btn-main:focus, .btn-main:active { color: var(--white-color)!important; background: var(--secondary-color)!important; border-color: var(--secondary-color)!important; }

.btn-main-outline { color: var(--primary-color); background: var(--white-color); border-color: var(--primary-color); }
.btn-main-outline:hover, .btn-main-outline:focus, .btn-main-outline:active { color: var(--white-color)!important; background: var(--secondary-color)!important; border-color: var(--secondary-color)!important; }

.btn-second { color: var(--primary-color); background: var(--white-color); border-color: var(--white-color); }
.btn-second:hover, .btn-main:focus, .btn-main:active { color: var(--primary-color)!important; background: var(--light-color)!important; border-color: var(--light-color)!important; }

.btn-arrow-down {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-right: 72px;
}

.btn-arrow-down::before,
.btn-arrow-down::after {
  content: "";
  position: absolute;
  right: 2px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
}

.btn-arrow-down::before {
  background: var(--secondary-color);
}

.btn-arrow-down::after {
  background-color: var(--primary-color);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 44px 88px;
  mask-size: 44px 88px;
  -webkit-mask-position: center -44px;
  mask-position: center -44px;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 88'%3E%3Cg transform='translate(6,6) scale(2)'%3E%3Cpath d='M8 4a.5.5 0 0 1 .5.5v5.793l2.146-2.147a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 1 1 .708-.708L7.5 10.293V4.5A.5.5 0 0 1 8 4'/%3E%3C/g%3E%3Cg transform='translate(6,50) scale(2)'%3E%3Cpath d='M8 4a.5.5 0 0 1 .5.5v5.793l2.146-2.147a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 1 1 .708-.708L7.5 10.293V4.5A.5.5 0 0 1 8 4'/%3E%3C/g%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 88'%3E%3Cg transform='translate(6,6) scale(2)'%3E%3Cpath d='M8 4a.5.5 0 0 1 .5.5v5.793l2.146-2.147a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 1 1 .708-.708L7.5 10.293V4.5A.5.5 0 0 1 8 4'/%3E%3C/g%3E%3Cg transform='translate(6,50) scale(2)'%3E%3Cpath d='M8 4a.5.5 0 0 1 .5.5v5.793l2.146-2.147a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 1 1 .708-.708L7.5 10.293V4.5A.5.5 0 0 1 8 4'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-transition: -webkit-mask-position 0.4s cubic-bezier(0.65, 0, 0.35, 1);
  transition: -webkit-mask-position 0.4s cubic-bezier(0.65, 0, 0.35, 1);
  transition: mask-position 0.4s cubic-bezier(0.65, 0, 0.35, 1);
  transition: mask-position 0.4s cubic-bezier(0.65, 0, 0.35, 1), -webkit-mask-position 0.4s cubic-bezier(0.65, 0, 0.35, 1);
}

.btn-arrow-down:hover::after {
  -webkit-mask-position: center 0px;
  mask-position: center 0px;
}


@media (max-width: 991px) {
.btn { font-size: 18px; }
.btn-arrow-down::before,
.btn-arrow-down::after {
  width: 42px;
  height: 42px;
}

.btn-arrow-down::after {
  background-color: var(--primary-color);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 42px 84px;
  mask-size: 42px 84px;
  -webkit-mask-position: center -42px;
  mask-position: center -42px;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 88'%3E%3Cg transform='translate(6,6) scale(2)'%3E%3Cpath d='M8 4a.5.5 0 0 1 .5.5v5.793l2.146-2.147a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 1 1 .708-.708L7.5 10.293V4.5A.5.5 0 0 1 8 4'/%3E%3C/g%3E%3Cg transform='translate(6,50) scale(2)'%3E%3Cpath d='M8 4a.5.5 0 0 1 .5.5v5.793l2.146-2.147a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 1 1 .708-.708L7.5 10.293V4.5A.5.5 0 0 1 8 4'/%3E%3C/g%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 88'%3E%3Cg transform='translate(6,6) scale(2)'%3E%3Cpath d='M8 4a.5.5 0 0 1 .5.5v5.793l2.146-2.147a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 1 1 .708-.708L7.5 10.293V4.5A.5.5 0 0 1 8 4'/%3E%3C/g%3E%3Cg transform='translate(6,50) scale(2)'%3E%3Cpath d='M8 4a.5.5 0 0 1 .5.5v5.793l2.146-2.147a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 1 1 .708-.708L7.5 10.293V4.5A.5.5 0 0 1 8 4'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-transition: -webkit-mask-position 0.4s cubic-bezier(0.65, 0, 0.35, 1);
  transition: -webkit-mask-position 0.4s cubic-bezier(0.65, 0, 0.35, 1);
  transition: mask-position 0.4s cubic-bezier(0.65, 0, 0.35, 1);
  transition: mask-position 0.4s cubic-bezier(0.65, 0, 0.35, 1), -webkit-mask-position 0.4s cubic-bezier(0.65, 0, 0.35, 1);
}

.btn-arrow-down:hover::after {
  -webkit-mask-position: center 0px;
  mask-position: center 0px;
}
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/

.header-fullscreen { min-height: 100svh; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; position: relative; background-color: var(--primary-color); color: var(--white-color); padding-top: 60px; }

/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/

body.nav-open { overflow: hidden; }

#navigation { position: absolute; top: 0; width: 100%; padding: var(--spacing-small) 0; background: none; z-index: 1002; }
#navigation .container { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: inherit; flex-wrap: inherit; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

.navbar-brand { z-index: 1002; padding: 0; }
.navbar-logo { height: 80px; }

@media (max-width: 991px) {
  .navbar-logo { height: 50px; }
}

/*--------------------------------------------------------------
# Popup
--------------------------------------------------------------*/

#popupToast {
  background: var(--white-color);
  color: var(--black-color);
  min-width: 320px;
  max-width: 400px;
  border-radius: var(--border-radius-sm);
  -webkit-box-shadow: 1px 2px 8px 0 rgba(0, 0, 0, 0.15);
          box-shadow: 1px 2px 8px 0 rgba(0, 0, 0, 0.15);
}
@media (max-width: 414px) {
  #popupToast { min-width: calc(100vw - 30px); max-width: calc(100vw - 30px); }
}
#popupToast h5 { font-size: var(--font-size-base); }
#popupToast .small { font-size: var(--font-size-small); }
#popupToast .tiny { font-size: var(--font-size-tiny); }

/*--------------------------------------------------------------
# Cookies
--------------------------------------------------------------*/

.cookie-consent-banner {
  display: none;
  bottom: 1rem;
  left: 1rem;
  position: fixed;
  padding: 1rem;
  border-radius: var(--border-radius-sm);
  width: 300px;
  text-align: left;
  max-height: 85%;
  overflow-y: auto;
  max-width: calc(100% - 40px);
  z-index: 997;
  opacity: 1;
  font-size: var(--font-size-tiny);
  -webkit-box-shadow: 1px 2px 8px 0 rgba(0, 0, 0, 0.15);
          box-shadow: 1px 2px 8px 0 rgba(0, 0, 0, 0.15);
  color: var(--black-color);
  background-color: var(--white-color);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.cookie-consent-options label { margin: 0 10px; font-size: var(--font-size-tiny); }
.cookie-consent-options input { margin-right: 5px; }

@media (max-width: 414px) {
  .cookie-consent-banner {
    bottom: 0; left: 0;
    width: 100%;
    padding: 15px;
    border-radius: 0;
    max-width: 100%;
    background-color: var(--white-color);
    text-align: center;
  }
}

/*--------------------------------------------------------------
# Tiny MCE
--------------------------------------------------------------*/

.tox-tinymce { top: auto!important; bottom: 0!important; position: fixed!important; }
.tox-form__group--stretched .tox-label { display: none!important; }
.tox-form__group { margin-bottom: 10px!important; }