/* ------------------------------ */
/* ----- Typography / Colors ---- */
/* ------------------------------ */

/*
@font-face {
  font-family: 'TT Norms';
  font-weight: normal;
  font-style: normal;
  src: url('/wp-content/themes/veku_child/fonts/tt-norms-regular.woff2') format('woff2'),
       url('/wp-content/themes/veku_child/fonts/tt-norms-regular.woff') format('woff');
  font-display: swap;
}

@font-face {
  font-family: 'TT Norms';
  font-weight: bold;
  font-style: normal;
  src: url('/wp-content/themes/veku_child/fonts/tt-norms-bold.woff2') format('woff2'),
       url('/wp-content/themes/veku_child/fonts/tt-norms-bold.woff') format('woff');
  font-display: swap;
}


@font-face {
  font-family: 'TT Norms';
  font-weight: 900;
  font-style: normal;
  src: url('/wp-content/themes/veku_child/fonts/tt-norms-extra-bold.woff2') format('woff2'),
       url('/wp-content/themes/veku_child/fonts/tt-norms-extra-bold.woff') format('woff');
  font-display: swap;
}
*/

@font-face {
  font-family: 'TT Norms';
  font-weight: normal;
  font-style: normal;
  src: url('/wp-content/themes/veku_child/fonts/tt-norms-pro-trial-regular.woff2') format('woff2'),
       url('/wp-content/themes/veku_child/fonts/tt-norms-pro-trial-regular.woff') format('woff');
  font-display: swap;
}

@font-face {
  font-family: 'TT Norms';
  font-weight: bold;
  font-style: normal;
  src: url('/wp-content/themes/veku_child/fonts/tt-norms-pro-trial-bold.woff2') format('woff2'),
       url('/wp-content/themes/veku_child/fonts/tt-norms-pro-trial-bold.woff') format('woff');
  font-display: swap;
}


@font-face {
  font-family: 'TT Norms';
  font-weight: 900;
  font-style: normal;
  src: url('/wp-content/themes/veku_child/fonts/tt-norms-pro-trial-extrabold.woff2') format('woff2'),
       url('/wp-content/themes/veku_child/fonts/tt-norms-pro-trial-extrabold.woff') format('woff');
  font-display: swap;
}




/* ------------------------------ */
/* ---------- Variables --------- */
/* ------------------------------ */

:root {
  /* Brand Fonts */
  --brand-font: 'TT Norms';

  /* Brand Colors*/
  --brand-color-1: #1C329B;
  --brand-color-2: #26D0CE;
  --brand-accent-color-1: #EFA00B;
  --brand-accent-color-2: #FFD60A;
  --brand-accent-color-3: #CC2936;
  --brand-copy: #0D1645;
  --brand-light: #f6f7fd;
  --brand-border: #e6ebf0;
  --brand-white: #ffffff;
  --brand-gradient: linear-gradient(270deg, var(--brand-color-2) 0%, var(--brand-color-1) 100%);
  --button-gradient: linear-gradient(90deg, var(--brand-color-1) 0%, var(--brand-color-2) 50%, var(--brand-color-1) 100%);
  --label-gradient: linear-gradient(270deg, var(--brand-accent-color-2) 20%, var(--brand-accent-color-1) 100%);
  --disabled-gradient: linear-gradient(270deg, #D2D2D2 0%, #AAAAAA 100%);
  
  /* Font Styling */
  --font-size-9: 70px;
  --font-size-8: 54px;
  --font-size-7: 38px;
  --font-size-6: 30px;
  --font-size-5: 26px;
  --font-size-4: 20px;
  --font-size-3: 18px;
  --font-size-2: 16px;
  --font-size-1: 14px;
  --font-size-standard: 21px;
  --line-height-2: 1.1;
  --line-height-1: 1.5;

  /* Hover & Transition */
  --opacity: .7;
  --transition-delay: .15s; 
  --transition-4: 1s;
  --transition-3: .75s;
  --transition-2: .5s;
  --transition-1: .25s;

  /* Spacing */
  --spacing-10: 180px;
  --spacing-9-5: 150px;
  --spacing-9: 120px;
  --spacing-8: 80px;
  --spacing-7: 60px;
  --spacing-6-5: 50px;
  --spacing-6: 40px;
  --spacing-5: 30px;
  --spacing-4: 24px;
  --spacing-3: 20px;
  --spacing-2-5: 16px;
  --spacing-2: 10px;
  --spacing-1: 6px;

  /* Box Shadow */
  --box-shadow-1: 0 20px 20px 0px rgba(0,0,0,.05);
  --box-shadow-2: 0px 0px 20px rgba(0,0,0,.075);
  --box-shadow-3: 0px 0px 20px rgba(0,0,0,.2);

  /* Layout */
  --height-header: 100px;
  --height-header-scrolled: 80px;
  --width-content: 820px;
  --width-content-big: 1000px;
  --brand-clip-path: polygon(0% 0%, 76% 0, 100% 100%, 24% 100%);
}


/* ------------------------------ */
/* ----------- General ---------- */
/* ------------------------------ */

::selection {
  background: var(--brand-copy);
  color: var(--brand-white);
}

::-moz-selection {
  background: var(--brand-copy);
  color: var(--brand-white);
}

html {
  font-size: 20px;
}

body {
  font-family: var(--brand-font);
  font-size: var(--font-size-standard);
  line-height: var(--line-height-1);
  color: var(--brand-copy);
  -webkit-tap-highlight-color: transparent;
}

.site_wrapper {
  background-color: var(--brand-white);
}

h1, h2, h3, h4 {
  font-weight: 900;
  line-height: var(--line-height-2);
}

h2:first-child, h3:first-child, h4:first-child, .section > .section__title:first-child h2, .section > .section__title:first-child h3, .section > .section__title:first-child h4 {
  margin-top: 0;
}

h1, .typography--h1 {
  font-size: var(--font-size-9);
  margin-top: 0;
  margin-bottom: var(--spacing-4);
}

h2, h3, .section__title h2, .section__title h3, .section__text + .section__text h2:first-child, .section__text + .section__text h3:first-child {
  margin-top: var(--spacing-7);
}

h1 + h2, h2 + h3 {
  margin-top: 0;
}

h2, .typography--h2 {
  font-size: var(--font-size-8);
  margin-bottom: var(--spacing-4);
}

h3, .typography--h3 {
  font-size: var(--font-size-7);
  line-height: 1.25;
  margin-bottom: var(--spacing-3);
}

h4, .typography--h4 {
  font-size: var(--font-size-6);
  margin-bottom: var(--spacing-2-5);
}

h4, .section__title h4, .section__text + .section__text h4:first-child {
  margin-top: var(--spacing-7);
}

h5, .typography--h5 {
  font-size: var(--font-size-5);
  font-weight: bold;
  line-height: var(--line-height-2);
}

h1 > b, .typography--h1 > b, h2 > b, .typography--h2 > b, h3 > b, .typography--h3 > b, h4 > b, .typography--h4 > b {
  font-weight: 900;
  color: transparent;
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-box-decoration-break: clone;
}

.typography--supertitle {
  display: block;
  font-size: var(--font-size-4);
  font-weight: bold;
  margin-bottom: var(--spacing-2);
}

.typography--supertitle + h1, .typography--supertitle + h2, .typography--supertitle + h3, .typography--supertitle + h4 {
  margin-top: 0;
}

.typography--copy {
  font-size: var(--font-size-standard);
}

.typography--medium {
  font-weight: bold;
}

.typography--bold {
  font-weight: 900;
}

a {
  color: var(--brand-copy);
  text-decoration: none;
}

a.full {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  max-width: 100%;
  text-indent: -30000px;
  z-index: 10;
  text-decoration: none;
  text-align: left;
}

a.full > span {
  position: absolute;
  height: 1px;
  width: 1px;
  clip: rect(1px,1px,1px,1px);
  border: 0;
  overflow: hidden;
}

a.full::before, a.full::after {
  display: none;
}

section p a:not(.full), section li a:not(.full), .site_cover p a:not(.full), .site_cover li a:not(.full), label a, .footer__contact a {
  position: relative;
  border-bottom: 1px solid;
  -webkit-transition: var(--transition-1);
  -o-transition: var(--transition-1);
  transition: var(--transition-1);
}

.no-touchevents main p a:hover:not(.full), .no-touchevents main li a:hover:not(.full), .no-touchevents .site_cover p a:hover:not(.full), .no-touchevents .site_cover li a:hover:not(.full), .no-touchevents main label a:hover, .no-touchevents .footer__contact a:hover {
  color: var(--brand-color-1);
}

p:not(.margin-big) {
  margin: 0 0 var(--spacing-3);
}

p.margin--big, main ul {
  margin: 0 0 var(--spacing-6);
}

p:last-child, ul:last-child {
  margin-bottom: 0;
}

b, strong {
  font-weight: bold;
}

main p + ul {
  margin-top: calc(var(--spacing-1) * -1);
}

main ul li {
  position: relative;
  padding-left: 1.25rem;
}

main ul li::before {
  content: "";
  position: absolute;
  top: 16px;
  left: 0;
  width: 10px;
  height: 2px;
  background-color: var(--brand-copy);
}

strong, b {
  font-weight: bold;
}

span[class$="--hide-text"], span.hide-text {
  position: absolute;
  height: 1px;
  width: 1px;
  clip: rect(1px,1px,1px,1px);
  border: 0;
  overflow: hidden;
}

span.emoji {
  font-size: 85%;
}

h1, h2, h3, h4, main p, main ul, main a, main span {
  max-width: var(--width-content);
}

.section--fullwidth h1, .section--fullwidth h2, .section--fullwidth h3, .section--fullwidth h4, main .section--fullwidth p, main .section--fullwidth ul, main .section--fullwidth a, main .section--fullwidth span {
  max-width: 100%;
}


/* Visually hidden */
.ui-helper-hidden-accessible {
  position: absolute;
  top: 10px;
  left: 10px;
  overflow: hidden;
  clip: rect(1px,1px,1px,1px);
  width: 1px;
  height: 1px;
  word-wrap: normal;
}

a.visually-hidden:not(.skip-link):focus-visible, a.visually-hidden:not(.skip-link):focus {
  position: static !important;
  display: block;
  overflow: visible;
  clip: auto;
  height: auto;
  width: auto;
  margin: var(--spacing-0) 0;
  text-decoration: underline;
}

a.skip-link:focus-visible, a.skip-link:focus {
  overflow: visible;
  clip: auto;
  width: auto;
  height: auto;
  z-index: 10000;
  font-size: var(--font-size-2);
  font-weight: 500;
  color: var(--brand-black);
  padding: 5px 12px;
  outline: 2px solid !important;
}


/* Focus visible */
a:focus-visible, button:focus-visible {
  outline: 2px solid !important;
  transition: unset !important;
}


/* Focus visible form */
input:focus-visible, textarea:focus-visible, select:focus-visible, .select2-container--focus span.select2-selection__rendered {
  outline: 2px solid !important;
  transition: unset !important;
}



/* ------------------------------ */
/* ----------- Layout ----------- */
/* ------------------------------ */

.section {
  position: relative;
  padding-top: var(--spacing-10);
}

.header:not(.header--cover) + main .section:first-child {
  padding-top: var(--spacing-9);
}

.header.header--cover + main .section:first-child {
  padding-top: calc(var(--spacing-10) / 2);
  margin-top: calc(var(--spacing-10) / 2);
}

.section--color:not(.section--small-gap), .section--light:not(.section--small-gap) {
  margin-top: var(--spacing-10);
  padding-bottom: var(--spacing-10);
}

.section.section--small-gap {
  padding-top: var(--spacing-8);
}

.section--color.section--small-gap, .section--light.section--small-gap {
  margin-top: var(--spacing-8);
  padding-bottom: var(--spacing-8);
}

.section > div, .inside {
  margin: 0 auto;
  max-width: 1440px;
  padding: 0 50px;
}

.section > div, .section__row > .row > div > div {
  padding-top: var(--spacing-8);
}

.section > div:first-child, .section__row > .row > div > div:first-child {
  padding-top: 0;
}

.section > div:last-child, .section__row > .row > div > div:last-child {
  padding-bottom: 0;
}


/* Center */
.section > div[class*="--center"] {
  text-align: center;
}

.section > div[class*="--center"] h1, .section > div[class*="--center"] h2, .section > div[class*="--center"] h3, .section > div[class*="--center"] h4, .section > div[class*="--center"] p, .section > div[class*="--center"] ul {
  margin-right: auto;
  margin-left: auto;
}

.section > div[class*="--center"] ul {
  white-space: pre-line;
  line-height: 0;
}

.section > div[class*="--center"] ul li {
  display: inline-block; 
  line-height: var(--line-height-1);
}


/* ------------------------------ */
/* ------------ Media ----------- */
/* ------------------------------ */

/* Images */
.picture_container {
  position: relative;
  display: block;
  overflow: hidden;
  line-height: 1;
}

.picture_container--cover img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.picture_container--cover, .picture_container--cover picture {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

@media (max-width: 413.98px) {

  .picture_container:not(.picture_container--cover) img {
    width: 100%;
  }

}


/* Position */
.picture_container--left img {
  -o-object-position: left center;
     object-position: left center;
}

.picture_container--right img {
  -o-object-position: right center;
     object-position: right center;
}

/* Overlay */
.picture_container--overlay::before {
  content: "";
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: 0;
  height: 25%;
  width: 100%;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(66, 66, 65, 0)), to(rgba(66, 66, 65, 0.8)));
  background: -o-linear-gradient(top, rgba(66, 66, 65, 0) 0%, rgba(66, 66, 65, 0.8) 100%);
  background: linear-gradient(180deg, rgba(66, 66, 65, 0) 0%, rgba(66, 66, 65, 0.8) 100%);
}


/* Videos */
.video_container {
  position: relative;
  display: block;
  overflow: hidden;
  line-height: 1;
}

.video_container--embed {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;
}

.video_container--embed iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.video_container--cover iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.video_container--cover video {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

/* Video thumbs */
.video_container--cover {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}


/* iFrames */
.iframe_container {
  position: relative;
  overflow: hidden;
}

.iframe_container iframe {
  max-width: 100%;
}




/* ------------------------------ */
/* ------------ Icons ----------- */
/* ------------------------------ */

.icon:not(.icon--white):not(.icon--error) {
  fill: var(--brand-copy);
}

.icon.icon--white {
  fill: var(--brand-white);
}

.icon--arrow {
  width: 15px;
  height: 10px;
}

.icon--arrow use {
  stroke: var(--brand-copy);
}

.icon--arrow.icon--white use {
  stroke: var(--brand-white);
}

.icon--pin {
  width: 13px;
  height: 17px;
}

.icon--search, .icon--location, .icon--calendar {
  width: 24px;
  height: 24px;
}

.icon--calendar {
  margin-top: -1px;
}

.icon--search use, .icon--calendar use {
  stroke: var(--brand-copy);
  stroke-width: 0.4;
  stroke-miterlimit: 10;
}

.icon--search.icon--white use, .icon--calendar.icon--white use {
  stroke: var(--brand-white);
}

.icon--reset {
  width: 18px;
  height: 18px;
}

.icon--reset use {
  stroke: var(--brand-copy);
  stroke-width: .5;
}

.icon--more {
  width: 20px;
  height: 20px;
}

.icon--more use {
  stroke: var(--brand-copy);
  stroke-width: .75;
}

.icon--reset.icon--white use, .icon--more.icon--white use {
  stroke: var(--brand-white);
}

.icon--error {
  width: 16px;
  height: 16px;
  fill: var(--brand-accent-color-3);
}


/* ------------------------------ */
/* ------------ Loader ----------- */
/* ------------------------------ */

.loader {
  height: 100%;
  width: 21px;
}

.loader__spinner {
  position: relative;
  width: 17px;
  height: 17px;
  border: 2px solid var(--brand-copy);
  border-bottom-color: transparent;
  border-radius: 50%;
  display: inline-block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-animation: rotation .75s linear infinite;
  animation: rotation .7s linear infinite;   
}

.loader__spinner:after {
  display: none;
}

.loader_text {
  font-size: var(--font-size-2);
  font-weight: bold;
}


@-webkit-keyframes rotation {
  0% {
      -webkit-transform: rotate(0deg);
              transform: rotate(0deg);
  }
  100% {
      -webkit-transform: rotate(360deg);
              transform: rotate(360deg);
  }
}

@keyframes rotation {
  0% {
      -webkit-transform: rotate(0deg);
              transform: rotate(0deg);
  }
  100% {
      -webkit-transform: rotate(360deg);
              transform: rotate(360deg);
  }
}



/* ------------------------------ */
/* ------------ Title ----------- */
/* ------------------------------ */

.section__title {
  padding-top: 0 !important;
}

.section__title + div {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.section__title + .section__title {
  padding-top: var(--spacing-5) !important;
}



/* ------------------------------ */
/* ----------- Places ----------- */
/* ------------------------------ */

.places {
  grid-gap: var(--spacing-6) var(--spacing-8);
}

.place {
  -moz-column-break-inside: avoid;
  break-inside: avoid;
}

.place > .typography--medium {
  display: block;
  padding: 4px 0;
  font-size: var(--font-size-4);
}

.place + .place {
  margin-top: var(--spacing-5);
}

.place__course > a {
  display: inline-block;
  padding: 4px 0;
  transition: var(--transition-1);
}


/* Nav */
.site_nav .places {
  -moz-columns: 4;
  column-count: 4;
}

.site_nav .place__course > a {
  font-size: var(--font-size-3);
}

.no-touchevents .site_nav .place__course > a:hover {
  color: var(--brand-color-1);
}

.place__course--active > a {
  font-weight: bold;
}

.site_nav .place__course--active > a {
  color: transparent !important;
  font-weight: 900;
  color: transparent;
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-box-decoration-break: clone;
}

.footer__places .place__course--active > a {
  color: var(--brand-white) !important;
  opacity: var(--opacity);
}


/* Footer */
footer .places {
  -moz-columns: 3;
  column-count: 3;
}



/* ------------------------------ */
/* -------- Media Queries ------- */
/* ------------------------------ */

@media all and (max-width: 1599.98px) and (min-width: 1400px) {

  /* :root {
    --spacing-9: 7rem;
  } */

}


@media all and (max-width: 1399.98px) and (min-width: 1240px) {

  /* :root {
    --spacing-9: 6rem;
    --spacing-8: 3.5rem;
    --spacing-7: 2.5rem;
    --spacing-6: 1.5rem;
  }

  .header.header--no-cover + main nav + .section, .header:not(.header--no-cover) + main nav + .section, .section > .section__initiatives + .section__initiatives {
    padding-top: var(--spacing-7);
  } */

}


@media all and (max-width: 1239.98px) {  

  /* :root {
    --spacing-9: 5rem;
    --spacing-8: 3.5rem;
    --spacing-7: 2.5rem;
    --spacing-6: 1.5rem;
    --spacing-5: 1.25rem;

    --font-size-6: 1.25rem;
    --font-size-5: 1.1rem;
    --font-size-4: 1rem;
    --font-size-3: .95rem;
    --font-size-2: .9rem;
    --font-size-1: 16px;

    --height-header: 72px;
  }

  .header.header--no-cover + main nav + .section, .header:not(.header--no-cover) + main nav + .section, .section > .section__initiatives + .section__initiatives {
    padding-top: var(--spacing-7);
  }

  h1 {
    font-size: 1.8rem;
  }
  
  h2 {
    font-size: 1.6rem;
  }
  
  h3 {
    font-size: 1.45rem;
  } */

}


@media all and (max-width: 991.98px) {

  /* :root {
    --spacing-9: 4.5rem;
    --spacing-8: 3rem;
    --spacing-7: 2rem;
    --font-size-6: 1.2rem;
    --width-content: 100%;
  }

  body {
    font-size: var(--font-size-2);
  }

  h1 {
    font-size: 1.7rem;
  }
  
  h2 {
    font-size: 1.5rem;
  }
  
  h3 {
    font-size: 1.4rem;
  }

  .section__row .row {
    margin-right: -1rem;
    margin-left: -1rem;
  }

  .section > div, .inside, .section__row .col-m-3, .section__row .col-m-4, .section__row .col-m-5, .section__row .col-m-6, .section__row .col-m-7, .section__row .col-m-8, .section__row .col-m-9, .section__row .col-m-12 {
    padding-right: 1rem;
    padding-left: 1rem;
  }

  .header.header--no-cover + main nav + .section, .header:not(.header--no-cover) + main nav + .section, .section > .section__initiatives + .section__initiatives {
    padding-top: 2.5rem;
  } */

}


@media all and (max-width: 767.98px) {

  /* :root {
    --spacing-9: 3.5rem;
    --spacing-8: 2.5rem;
    --spacing-7: 1.75rem;
    --font-size-6: 1.15rem;
    --font-size-5: 1.05rem;
    --font-size-1: 15px;
    --height-header: 60px;
  }
  
  .section > div, .inside {
    padding-right: 15px;
    padding-left: 15px;
  }

  h1, h2 {
    margin-bottom: var(--spacing-2);
  }

  h3, h4 {
    margin-bottom: var(--spacing-1);
  }

  h1 {
    font-size: 1.4rem;
  }
  
  h2 {
    font-size: 1.35rem;
  }
  
  h3 {
    font-size: 1.25rem;
  }

  h4, .typography--h4 {
    font-size: var(--font-size-5);
  }

  .header.header--no-cover + main + .section, .header:not(.header--no-cover) + main + .section {
    padding-top: 1.5rem;
  } */


  h1 br, h2 br, h3 br {
    content: "";
  }

  h1 br::after, h2 br::after, h3 br::after {
    content: " ";
  }

}


@media all and (max-width: 359.98px) {



}