/* roboto-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/roboto-v50-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/roboto-v50-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 400;
  src: url('../fonts/roboto-v50-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/roboto-v50-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-900 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 900;
  src: url('../fonts/roboto-v50-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}





:root, :host {
  --fa-style-family-classic: 'Font Awesome 6 Free';
  --fa-font-solid: normal 900 1em/1 'Font Awesome 6 Free'; }

@font-face {
  font-family: 'Font Awesome 6 Free';
  font-style: normal;
  font-weight: 900;
  font-display: block;
  src: url("../fonts/fa-solid-900.woff2") format("woff2"); }

.fas,
.fa-solid {
  font-weight: 900;
  color:var(--basic-color-green);
}



:root {
  --basic-color-green: #366735;
  --basic-color-yellow: rgba(252, 200, 0, 1);
  --basic-color-grey: #ececec;
  --bg-rgb: 255, 255, 255;
  --basic-color-darkgreen: #1e1f1c;
}




body {
  margin: 0;
  padding: 0;
  height: 100%;
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  color: #333;
  line-height: 1.5;
  height: 100%;
}



a:not(nav a) {
    text-decoration: underline;
    color: inherit;
    text-decoration-thickness: 1px;
    text-underline-position: under;
}
a:hover:not(.nav--main a) {
  text-decoration: underline;
  color: rgba(54, 103, 53, 1);
}

a[href^=mailto], a[href^=tel] {
  text-decoration: underline;
}
a[href^=mailto]:hover, a[href^=tel]:hover {
  text-decoration: underline;
  color: rgb(4, 159, 223);
}

@media (max-width: 767px) {
  a[href^="http:"], a[href^="https:"], a[href^=mailto], a[type="application/pdf"] {
    word-wrap: break-word;
    word-break: break-all;
  }
}


.h1, h1 {
  margin-bottom: 1.5rem;
  font-size: clamp(1.5rem, 1.0665rem + 2.3121vw, 2.5rem);
}
.h2, h2 {
    font-size: clamp(1.325rem, 1.0324rem + 1.5607vw, 2rem);
}


.h2, .h3, .h4, .h5, .h6 , h2, h3, h4, h5, h6 {
	margin-bottom: 1rem;
}


.invisible {
  border: 0;
  clip-path: circle(0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.float_right,
.media--right > figure,
.float_left,
.media--left > figure {
    float:none;
}

@media (min-width:768px) {

.float_left,
.media--left > figure {
	float:left;
}
.float_right,
.media--right > figure {
	float:right;
}

.media--left > figure {
margin-right:1em;
}
.media--right > figure {
margin-left:1em;
}
 }
/*Clear floats */

/*
.block {
	overflow:hidden;
}
*/
.media {
	display:flow-root;
}
.clear,#clear {
	height:0.1px;
	font-size:0.1px;
	line-height:0.1px;
	clear:both;
}

img {
	max-width: 100%;
	height: auto;
	width: auto;
	vertical-align: middle;
}

strong {
  font-weight: 700;
}

em {
  font-style: italic;
}

[id=wrapper]:not(:has(.swiper)) {
	display: grid;
	grid-template-rows: auto 1fr auto;
	min-height: 100vh;
}

[id=main] {
    font-size:1.125rem;
    font-size: clamp(1rem, 0.9583rem + 0.2222vw, 1.125rem);
    min-height:400px;
}
[id="footer"] .inside {
	background:var(--basic-color-green);
    padding:2rem;
    position: sticky;
  top: 100vh;
}
[id="footer"] .inside, [id="footer"] nav a {
	color: white;
    text-decoration:none;
}
[id="footer"] nav a:hover, [id="footer"] nav strong.active  {
    text-decoration:underline;
    color:inherit;
    text-underline-offset: .1875em;
}
[id="footer"] nav ul {
	padding-left:0;
    display:flex;
}
[id="footer"] nav ul li+li:before{
  content:"|";
  margin:0 .5rem;
}
[id="footer"] nav ul li {
	margin-bottom:1rem;

}
[id=main] .mod_article:not(:has(.hero_section)) {
	padding-bottom: 3rem;
}



[id=main] .mod_article:first-of-type {
	padding-top: 3rem;
   	padding-bottom: 3rem;
}

[id=header] .navbar figure{
	margin-bottom: 0;
}

.content-text ul {
  padding-left: 1.25rem;
  list-style: square;
  margin: 1em 0;
  /*text-indent: -.375em;*/
}
.content-text ol {
  padding-left: 1.25rem;
  list-style: decimal;
  margin: 1em 0;
}
.content-text li {
  margin-bottom: 0.125em;
}
.content-text ul li::marker {
	font-size: 1.25em;
	color: var(--basic-color-green);
}
.mod_sitemap ul {
  padding-left: 2rem;
  list-style: square;
  margin: 0.5em 0;
}

.content-downloads li {
  margin-bottom: .75rem;
}
.content-downloads ul {
  padding:0;
}


.bg-light-one {
	background-color: rgba(252, 252, 251, 1) ;
}
.g-4-2, .gx-4-2 {
	--bs-gutter-x: 2rem;
}
.container-lg:has(.row.gx-4-2) {
    padding-right: 1rem;
    padding-left: 1rem;
}

.text--green{
    color:var(--basic-color-green);
}
.text--white{
    color:white;
}

.fs-small {
    font-size:.875rem;
}


/*nav*/
.navbar-brand {
    padding: 0;
    max-width:130px;
}

.nav--bar--wrapper {
    min-height: 75px;
}
/*
@media (min-width: 992px) {
.nav--bar--wrapper {
display:block;
min-height: 120px;
}
}
*/


.nav--main .navbar-nav a.nav-link {
	color: #272727;
  padding-right: 15px;
   padding-left: 15px;

}

.navbar-nav > li > a.nav-link:focus, .navbar-nav > li > a.nav-link:hover, .navbar-nav > li.active > a.nav-link {
	background: transparent;
	color: var(--basic-color-green);
	outline: 0;
}

.dropdown-item:focus, .dropdown-item:hover {
	background-color: transparent;
    color: var(--basic-color-green);
}

.dropdown-item.active, .dropdown-item:active {
	background-color: transparent;
     color: var(--basic-color-green);
}
.dropdown-menu li:not(:last-child) {
	margin-bottom: .5rem;
}

@media (min-width: 992px) {
  .dropdown-menu li, .dropdown-menu li:not(:last-child) {
    margin-bottom: .2rem;
  }
}

.navbar-nav {
    font-size: 20px;
    gap: 0 1.5rem;
}

.nav--main {
	box-shadow: 0px 1px 5px 0px rgba(225,225,225,0.85);
	background: white;
	/*position: fixed;*/
	width: 100%;
    z-index: 99;
}
/*
@media (min-width: 992px) {
 .nav--main {
  	padding:1.875rem 0 0;
}
.nav--main .navbar-collapse {
    align-self: end;
}
 }

*/
.navbar-nav li {
    position:relative;
}

@media (min-width:992px) {
 .navbar-nav > li > a::before {
    content: "";
    position: absolute;
    height: 2px;
    bottom: -6px;
    left: 0;
    border-top: 2px solid var(--basic-color-yellow);
    visibility: hidden;
    width: 0px;
    transition: all 0.3s ease-in-out 0s;
  }
  
.nav-link a:hover::before, .navbar-nav li:hover > a::before, .navbar-nav .active a::before {
    visibility: visible;
    width: 100%;
}
    }
    
    


@media (min-width: 992px) {
  .navbar-expand-lg .navbar-nav .dropdown-menu {
    position: absolute;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
    border: transparent;
  }

.navbar .dropdown-menu {
	display: block;
	/*top: calc(100% + 30px);*/
    top: 130%;
	z-index: 99;
	opacity: 0;
	visibility: hidden;
	transition: 0.3s;
}
.navbar .dropdown-menu.show {
	opacity: 1;
	top: 100%;
	visibility: visible;
} 

.dropdown-menu::after {
	position: absolute;
	content: "";
	width: 0;
	height: 0;
	bottom: 100%;
	left: calc(14px + 1em);
	border: 6px solid rgba(255, 255, 255, 0.97);
	border-bottom-color: transparent;
	border-left-color: transparent;
	-webkit-transform-origin: 100% 100%;
	transform-origin: 100% 100%;
	transform: rotate(-45deg);
	box-shadow: 1px -1px 1px rgba(0, 0, 0, 0.05);
} 

 }




.dropdown-toggle::after {
	display: inline-block;
	width: 8px;
	height: 8px;
	margin-left: .5em;
	vertical-align: .255em;
	content: "";
	border-bottom: 1px solid !important;
	border-right: 1px solid !important;
	border-left: 0 !important;
	border-top: 0 !important;
	transform: rotate(45deg);
}



/*gallery*/
/*
.content-gallery > ul {
    display: flex;
    flex-wrap: wrap;
    gap:1rem;
}

.content-gallery figure {
	margin: 0;
}
.content-gallery.justify-content-center>ul {
	justify-content: center ;
}

*/

.content-gallery ul {
  display:grid;
  grid-template-columns:repeat(12, 1fr);
  grid-gap:1rem;
  list-style:none;
  margin:0;
  padding:0
}
@media only screen and (min-width:768px) {
  .content-gallery ul {
    grid-gap:1rem
  }
}
.content-gallery li {
  grid-column:span 12
}
@media only screen and (min-width:576px) {
  .content-gallery li {
    grid-column:span 6
  }
}

@media only screen and (min-width:992px) {
  .content-gallery--cols-3 li {
    grid-column:span 4
  }

.content-gallery--cols-4 li {
  grid-column:span 3
}
.content-gallery--cols-6 li {
  grid-column:span 2
}
 }

.content-gallery figure{
  margin:0
}

.content-gallery figure {
	/*padding: 0.25rem;*/
	background: white;
	/*border: 1px solid #dde1e4;*/
    transition: transform .35s linear;
    width: fit-content;
}
.content-gallery figure img {
    border-radius: .5rem;
}

.content-gallery figure:hover {
	transform: scale(1.03);
}


.text--red {color:#641027;}
.text--white {color:#ffffff;}
.text--orange{color:#DB6D0F;}
.font_small {font-size:.775em;}


 
/*miscellaneous*/

.content-player video {
	max-width: 100%;
	height: auto;
}


.contao-cookiebar a:focus {
	outline: thin dashed;
}

/* Responsive videos  */
figure.aspect {
  position: relative;
}

.aspect,
.responsive {
  position: relative;
}

.aspect iframe,
.responsive iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.aspect--3\:2 {
  aspect-ratio: 1.5;
}

.aspect--4\:3 {
  aspect-ratio: 1.3333333333;
}

.aspect--16\:9 {
  aspect-ratio: 1.7777777778;
}

.aspect--16\:10 {
  aspect-ratio: 1.6;
}

.aspect--21\:9 {
  aspect-ratio: 2.3333333333;
}

/* custom elment*/
.infobox--wrapper {
	position: relative;
    /*margin-bottom: 1rem;*/
    /*margin-top: 3rem;*/
}


.infobox {
	background: #f0f0f0;
	border-radius: 10px;
	padding: 15px;
	height: 100%;
	box-shadow: 0px 3px 12px rgba(107, 107, 107, 0.3);
	border: 1px solid #f0f0f0;
}
.infobox p:last-child {
	margin-bottom: 0;
}
.infobox a {
	text-decoration: none;
	color: inherit;
}
.infobox a:hover {
	text-decoration: underline;
}


/* Ken Burns Effekt */
.image-kb-wrap {
  overflow: hidden;
  /* position: relative;*/
}
.image-kb-wrap figure {
  overflow: hidden; 
  margin-bottom:0;
  
  /* position: relative;*/
}
.image-kb-wrap img {
  width: 100%;
  /*  position: absolute; */
  -webkit-animation: move 30s ease 0.5s 2 alternate;
          animation: move 30s ease 0.5s 2 alternate;
  /*animation-fill-mode: forwards;*/
  /*-webkit-animation-fill-mode: forwards;*/
}

@-webkit-keyframes move {
  0% {
    -webkit-transform-origin: right center;
            transform-origin: right center;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
}

@keyframes move {
  0% {
    -webkit-transform-origin: right center;
            transform-origin: right center;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
}

/*max widths*/
.width-max-1200 {
  max-width: 1200px;
  margin: auto;
}

.width-max-900 {
  max-width: 900px;
  margin: auto;
}

.width-max-800 {
  max-width: 800px;
  margin: auto;
}

.width-max-700 {
  max-width: 700px;
  margin: auto;
}

.width-max-600 {
  max-width: 600px;
  margin: auto;
}

.width-max-500 {
  max-width: 500px;
  margin: auto;
}

.width-max-400 {
  max-width: 400px;
  margin: auto;
}


/* extra margins */
.mt-6 {
  margin-top: 4rem;
}

.mt-7 {
  margin-top: 5rem;
}

.mt-8 {
  margin-top: 6rem;
}

.mt-9 {
  margin-top: 7rem;
}

.mt-10 {
  margin-top: 8rem;
}

.mb-6 {
  margin-bottom: 4rem;
}

.mb-7 {
  margin-bottom: 5rem;
}

.mb-8 {
  margin-bottom: 6rem;
}

.mb-9 {
  margin-bottom: 7rem;
}

.mb-10 {
  margin-bottom: 8rem;
}

.my-6 {
  margin-top: 4rem;
  margin-bottom: 4rem;
}

.my-7 {
  margin-top: 5rem;
  margin-bottom: 5rem;
}

.my-8 {
  margin-top: 6rem;
  margin-bottom: 6rem;
}

.my-9 {
  margin-top: 7rem;
  margin-bottom: 7rem;
}

.my-10 {
  margin-top: 8rem;
  margin-bottom: 8rem;
}

/* extra paddings */
.pt-6 {
  padding-top: 4rem;
}

.pt-7 {
  padding-top: 5rem;
}

.pt-8 {
  padding-top: 6rem;
}

.pt-9 {
  padding-top: 7rem;
}

.pt-10 {
  padding-top: 8rem;
}

.pb-6 {
  padding-bottom: 4rem;
}

.pb-7 {
  padding-bottom: 5rem;
}

.pb-8 {
  padding-bottom: 6rem;
}

.pb-9 {
  padding-bottom: 7rem;
}

.pb-10 {
  padding-bottom: 8rem;
}

.py-6 {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.py-7 {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.py-8 {
  padding-top: 6rem;
  padding-bottom: 6rem;
}

.py-9 {
  padding-top: 7rem;
  padding-bottom: 7rem;
}

.py-10 {
  padding-top: 8rem;
  padding-bottom: 8rem;
}

.nav-tabs .nav-link {color:black;}

.nav-tabs+.tab-content {padding:2rem 0}

@media (max-width: 575px) {
.nav-tabs {
    width: fit-content;
    display:inline-block;
}
    }


.widget-calendar input {
	max-width: 160px;
	width: min-content;
	margin-right: .5rem;
}

.widget-calendar {
	display: flex;
	align-items: center;
	gap: 1rem;
    flex-wrap: wrap;
}
.widget-calendar svg[style]  {
   width: 32px !important;
  height: 32px !important;
  margin-bottom: 6px;
}

.widget-calendar p.error{
	flex: 0 0 100%;
	margin: 0;
}
 p.error{
    color:red;
}


form input[type="checkbox"]:not(.altcha-checkbox input[type="checkbox"]), form input[type="radio"] {    
    vertical-align: middle;    
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
    background-color: #FFF;
    border: 2px solid var(--basic-color-yellow);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    }

form input:checked:not(.altcha-checkbox input:checked)::before {
	content: "\2713";
	color:#026502;
	font-size: 2rem;
	font-weight: normal;
	text-align: center;
	line-height: .75rem;
	text-indent: 0;
}

form button, input[type="submit"], .button {
	display: inline-block;
	padding: 1rem;
	margin-bottom: 0;
	text-align: center;
	vertical-align: middle;
	line-height: 16px;
	font-size: inherit;
	color: #000;
	cursor: pointer;
	border: 1px solid #ccc;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: .5rem;
	background: var(--basic-color-yellow);
   transition: all .25s ease-in-out;
    width: 75%;
    min-width: min-content;
  box-shadow: rgba(0, 0, 0, .2) 15px 28px 25px -18px;
    
}
.widget-submit{
 margin-top:2rem;
}

form button:hover, input[type="submit"]:hover, .button:hover {
	background: rgba(252, 200, 0, .8); 

}
form button:active, input[type="submit"]:active, .button:active {
	background: rgba(252, 200, 0, .8); 
    box-shadow: rgba(0, 0, 0, .3) 2px 8px 8px -5px;
    transform: translate3d(0, 2px, 0);
}


.ce_form > form {
	max-width: 600px;
}

.widget > label {
	font-weight: 400;
}

select {
	width: 100%;
	background: white;
	border-radius: 3px;
	border: 1px solid #ccc;
    padding: .25rem .5rem;
}
select, select > option {
	font-size: clamp(0.875rem, 0.8125rem + 0.3333vw, 1rem);
}

.flatpickr-calendar select {

 display:inline-block;

}

.box--overlapped {
    align-items: center;
    /* essential for swiper - without it, there will be problems with the sticky footer and CSS grid. */
    /*max-width: calc(100vw - 10vw);*/
    margin: 0 auto;

}

@media (min-width: 768px) {
.box--overlapped .content-image:not(.content-swiper .content-image), .box--overlapped .content-swiper{
    margin-left:-12rem;
}
 }
 

 
.box--overlapped .content-text{
    z-index:2;
    position:relative;
    background-color: rgba(var(--bg-rgb), 0.85);
    padding: 1.25em 1.25rem 1.25rem 0;
    border-radius: 8px;
    animation: flyInLeft .8s ease 1 normal forwards;
    opacity: 0;

}

.box--overlapped .content-text  * + *{

    animation: flyInLeft .8s ease .4s 1 normal forwards;
    opacity: 0;

}

.box--overlapped .content-image img{
	aspect-ratio: 1.6;
	width: 100%;
	object-fit: cover;
     border-radius: 8px;
}

@keyframes flyInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-1000px, 0, 0);
    transform: translate3d(-1000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}


/*news */

.mod_newslist a:not(.more a){
    text-decoration:none;
}
p.back {
  margin-top:1.5rem;
}
p.back a {
  padding:.375em 1.375em;
  background-color: var(--basic-color-green);
  color: white;
  transition: box-shadow .15s cubic-bezier(.4,0,1,1);
  text-decoration: none;
  border-radius: .5rem;
  display: inline-block;
}
p.back a:hover {
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.14),
                0 1px 5px rgba(0, 0, 0, 0.12),
                0 3px 1px -2px rgba(0, 0, 0, 0.2);
    color: white;
    text-decoration: none;

}

/*table*/


table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid gainsboro;
	background: white;
}
table th,
table td {
	border: solid #f2f2f2;
	border-width: 1px 0 0 1px;
}
table th:first-child,
table td:first-child {
	border-left: 0;
}
table > thead > tr:first-child > th,
table > thead > tr:first-child > td,
table > tbody:first-child > tr:first-child > th,
table > tbody:first-child > tr:first-child > td,
table > tfoot:first-child + tbody > tr:first-child > th,
table > tfoot:first-child + tbody > tr:first-child > td {
	/* First row of the table */
	border-top: 0;
}
table th {
	padding: 0.4em 0.66667em;
	font-weight: bold;
	text-align: left;
}
table td {
	padding: 0.4em 0.66667em;
}
table thead {
	background: rgba(0, 0, 0, 0.02);
}
table tfoot td {
	font-style: italic;
}

.hero__content > div {


	padding: 1rem;

} 

@media (min-width:992px) {
.hero_section {
  display: grid;
  place-items: center;              
    overflow: hidden;
}

.hero__image {
  grid-area: 1 / 1;                 
  width: 100%;
  height: 100%;
  filter: brightness(0.7);          
}

.hero__content {
	grid-area: 1 / 1;
	padding: .75rem;
	z-index: 100;
	display: flex;
	gap: 2rem;
	max-width: 1320px;
}
.hero__content > div {
	background-color: rgba(var(--bg-rgb), 0.9);
	padding: 1.5em 1.5rem;
	border-radius: 1rem;
}                     
 }

