@import url("fonts/volte/volte.css");

:root {
  font-family: 'Volte Regular'; font-size: 18px; letter-spacing: 0.03em; line-height: 1.42; text-rendering: optimizeLegibility; color: #221f20;
  --primary: #ded6d0;
  --secondary: #5a7366;
  --dark-green: #17302a;
  --linkColor: #3b574f;
  --headerColor: #3b574f;

  

}

/*
::-webkit-input-placeholder { color: #01306D; }
::-moz-placeholder { color: #01306D; }
:-ms-input-placeholder { color: #01306D; }
:-moz-placeholder { color: #01306D; }
*/

body{ background-color: #fff; }

main { display: block; max-width: 3000px; margin: 0 auto; background-color: var(--primary); position: relative; z-index: 2; color: #19261e; }


body[data-theme="dark-green"] :is(h1,h2,h3){  color: var(--primary); }
body[data-theme="dark-green"] main{ background-color: var(--dark-green); color: var(--primary); }

body[data-theme="dark-green"] section.banner.hero div.wrapper.gradient div.content::after{
  background: rgb(23, 48, 42);
  background: linear-gradient(180deg, rgba(23, 48, 42, 0) 0%, rgba(23, 48, 42, 1) 100%);
}

body[data-theme="dark-green"] article.v1 div.image::after {
  background: rgb(23, 48, 42);
  background: linear-gradient(180deg, rgba(23, 48, 42, 0) 0%, rgba(23, 48, 42, 1) 100%);
}


div.container,
section.content > div.container{ position: relative; max-width: 768px; } /* giver 690px i content width*/

section.content > div.container div.container{ padding: 0; margin-left: 0!important; }
section.content > div.container div.container div.text img{ width: auto!important; height: auto!important; max-width: unset; width: 100%!important; }
  
section.content article{ padding: 0; margin-bottom: 4rem; }
section.content section{ margin-bottom: 2rem; }

div.container-fluid{ padding: 0!important; overflow-x: hidden; }

input:focus:-moz-placeholder { opacity: 0; }
input:focus:-ms-input-placeholder { opacity: 0; }
input:focus::-moz-placeholder { opacity: 0; }
input:focus::-webkit-input-placeholder { opacity: 0; }

*, *:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
*{ margin: 0; outline: none; -webkit-text-size-adjust: none; }

strong,b{ font-weight: normal; font-family: 'Volte Semibold'; }

p:empty{ display: block; min-height: 1rem; margin-top: 0!important; }
p.preline{ white-space: pre-line; }

ul{ list-style-type: none; margin: 0; padding: 0; }
ul li{ background: none; padding: 0; position: relative; }

span.arrow,
a{ color: inherit; text-decoration: none; cursor: pointer; display: inline-block; position: relative; z-index: 1; transition: all .2s ease; }

a:hover,a:focus{ color: inherit; text-decoration: none; }

article.intro div.text a,
div.info-text a{ text-decoration: underline; }

span.button > a,
a.button{ text-transform: uppercase; font-size: 18px; line-height: 47px; position: relative; text-decoration: none!important; font-family: 'Volte Semibold'; }

span.button > a::after{ content: ""; display: block; position: absolute; bottom: 1px; left: 0; width: 100%; height: 2px; background-color: #fff; z-index: -1; transition: all .2s ease; background-color: var(--primary); }

a > span.arrow,
span.arrow > a,
a.arrow{ line-height: 1; padding-top: 2px; padding-right: 23px; background: url(arrow-right-green.svg) center right no-repeat; background-size: 16px 14px; text-decoration: none!important; font-family: 'Volte Semibold'; }

footer a.arrow{ background: url(arrow-right-beige.svg) center right no-repeat; background-size: auto 12px; }
header nav a.arrow{ padding-right: 30px; background: url(arrow-right-beige.svg) center right no-repeat; background-size: auto 20px; }
section.program div.container > a.row div.text::after{ content: ""; display: block; position: absolute; bottom: 30px; right: 30px; width: 30px; height: 30px; right: 30px; background: url(arrow-right-green.svg) center right no-repeat; background-size: auto 20px; }

body[data-theme="dark-green"] a > span.arrow,
body[data-theme="dark-green"] span.arrow > a,
body[data-theme="dark-green"] a.arrow{ background: url(arrow-right-beige.svg) center right no-repeat; color: var(--primary); padding-right: 25px; }

a.underline{ border-bottom: 1px solid transparent; border-color: inherit; }

h1,h2,h3,.h1,.h2,.h3{ font-weight: normal; color: var(--headerColor); text-wrap: pretty; }
h1 { font-size: min(max(32px, 4vw), 80px); line-height: 1;  }
h2, .h2 { font-size: min(max(24px, 4vw), 46px); line-height: 1; }
h3, .h3 { font-family: 'Volte Semibold'; font-size: 18px; line-height: 1.25; font-weight: normal; }

h1 + p,
h2 + p,
h1 + div,
h2 + div{ margin-top: 1rem; }

div.title{ font-size: 30px; }

section.banner div.content > h1 + p { margin-top: 1rem; }

div.description p + *{ margin-top: 1rem; }

div.image a{ display: block; }
img{ vertical-align: middle; }

div.image img,
div.item img{ max-width: 100%; height: auto; }

section.banner.hero.removeBottomMarginTrue,
section.banner.hero.removeBottomMarginTrue + section.content{ margin-bottom: 0; }

section.banner.hero h1{ font-family: 'Volte Semibold'; }
section.banner.hero h1 + p{ margin-top: 1rem; }
section.banner.hero { position: relative; padding: 0; overflow: hidden; margin-bottom: 0; min-height: 64vh; }
section.banner.hero > a{ display: block; position: absolute; width: 100%; height: 100%; z-index: 2; }

section.banner.hero div.video-frame.with-audio{ position: absolute; top: 0; left: 0; z-index: 2; }
section.banner.hero div.video-frame.with-audio video{ display: none; }

section.banner.hero div.video-frame,
section.banner.hero picture { display: block; width: 100%; height: 100dvh; padding-top: 0; position: relative; overflow: hidden; }


section.banner.hero.Lav{ min-height: 160px; }

section.banner.hero.Lav div.video-frame,
section.banner.hero.Lav picture { height: 40dvh; }

section.banner.hero div.video-frame video{ position: absolute; top: 0; width: 100%!important; height: 100%!important; object-fit: cover; }

section.banner.hero picture.mobileonly{ display: none; }

section.banner.hero picture img { position: absolute; top: 0; width: 100%; height: 100%; object-fit: cover; }
section.banner.hero div.wrapper{ position: absolute; z-index: 1; width: 100%; bottom: 0; font-size: 20px; }
section.banner.hero div.wrapper div.content{ display: block; padding: 250px 16px 50px 16px; position: relative; }
section.banner.hero div.wrapper div.content label{ display: inline-block; padding: 8px 10px; border-radius: 4px; margin-bottom: 5px; }

section.banner.hero div.wrapper.gradient div.content::before{ content: ""; display: block; position: absolute; bottom: 0; left: 0; width: 100%; height: 100%; z-index: -1;
  background: rgb(255,255,255);
background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(222,214,208,1) 100%);  
}

section.banner.hero div.wrapper.gradient div.content::after{ content: ""; display: block; position: absolute; bottom: 0; left: 0; width: 100%; height: 100%; z-index: -1;
  background: rgb(255,255,255);
background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(222,214,208,1) 100%);
}

section.banner.hero::before{ content: ""; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 400px; z-index: 1;
  background: rgb(255,255,255);
  background: linear-gradient(0deg, rgba(255,255,255,0) 0%, rgba(0,0,0,0.5) 100%);
}

section.banner div.play-video{ position: absolute; bottom: 25px; right: 100px; z-index: 2; cursor: pointer; }
section.banner div.play-video span{ display: block; width: 40px; height: 40px; border: 1px solid #fff; border-radius: 50%; position: relative; float: left; }
section.banner div.play-video span svg{ position: absolute; top: calc(50% - 8px); left: calc(50% - 6px); }
section.banner div.play-video div{ display: inline-block; font-size: 12px; line-height: 40px; text-transform: uppercase; margin-left: 10px; }

section.program div.container div.description h2{ text-align: center; }

section.program div.container > a.row{ margin: 0; --bs-gutter-x: 0; }
section.program div.container > a.row > { padding: 0; }
section.program div.container > a.row + a.row{ margin-top: 1rem; }

section.program div.container > a.row div.text{ padding: 30px; position: relative; color: initial; line-height: 1.25; }
section.program div.container > a.row div.text h2{ color: initial; font-size: 25.3px; font-weight: 600; margin: 0; margin-bottom: 5px; }
section.program div.container > a.row div.text h2 + p{ margin-top: 0!important; }
section.program div.container > a.row div.text p + p{ margin-top: 1rem; }
section.program div.container > a.row div.text div.period{ color: var(--dark-green); margin-bottom: 5px; }
section.program div.container > a.row div.text div.venue{ position: absolute; bottom: 30px; left: 30px; font-family: 'Volte Semibold'; }



section.program div.container > a.row:nth-child(odd){ background-color: var(--primary); }
section.program div.container > a.row:nth-child(even){ background-color: #b4a8a1; }


@media (min-width: 1200px) {


}


@media (min-width: 1024px) {  


}

@media (max-width: 991px) { 

  div.container.small{ margin-left: auto!important; }
  
  footer div.adaptive div.privacypolicy{ position: static!important; margin: 10px 0 5px 0; }
  footer div.SoMe { display: inline-block; }

}


@media (max-width: 767px) {
  
  section.banner.hero div.wrapper{ font-size: 18px; }
  main div.container { padding-right: 0; padding-left: 0 }

  article.v1 div.text > div.text,
  footer{ padding-left: 16px!important; padding-right: 16px!important; }

  section.banner.hero div.video-frame{ padding-top: var(--video-ratio); }
  section.banner.hero div.video-frame video{ top: 50%; transform: translateY(-50%); }

  section.banner.hero picture.mobileonly{ display: block; }
  section.banner.hero picture.mobileonly + div.video-frame{ display: none!important; }

  section.program div.container > a.row div.text div.venue { position: static; margin-top: 1rem; }
  section.program div.container > a.row div.text { font-size: 12px; line-height: 1.1; }
  section.program div.container > a.row div.text::after { bottom: unset; right: 30px; width: 15px; height: 15px; background-size: contain; margin-top: -15px; }
  section.program div.container > a.row div.image{ height: 100%; position: relative; }
  section.program div.container > a.row div.image img{ position: absolute; width: 100%; height: 100%; object-fit: cover; inset: 0; }
  
  

}

@media (max-height: 767px) {
    
}

@media (max-width: 575px) {

  :root { font-size: 16px; }
  
  section.banner.hero div.video-frame, section.banner.hero picture { height: 100vh; }

  section.banner div.play-video { right: 16px; }
  section.banner div.play-video + div.wrapper{ padding-bottom: 60px; }

  section.banner.hero div.wrapper div.content { padding: 30px 0.75rem; padding-top: 140px; }

  header nav { padding: 30px 16px!important; }

  section.program div.container > a.row div.text h2 { font-size: 16px; }
  section.program div.container > a.row div.text { padding: 15px; }

}