* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html,body {
  font-family: "Avenir", sans-serif;
  font-weight: normal;
  font-style: normal;
  font-size: 1.1em;
  line-height:1.3;

  background-color: #f0f0f0;
  color: #fff;
}
a{
  text-decoration: none;
  color: #fff;
}

.clear{clear:both; width: 100%; display: block;}
h2{font-size: 2em; font-weight: bold; }
.spacer50{width: 100%; height: 50px; position:relative;}

header{
    background: rgb(64,160,210);
    background: linear-gradient(0deg, rgba(64,160,210,1) 0%, rgba(15,80,150,1) 95%);
    width: 100%;
    height: 100%;
    overflow:hidden;
}

.headerInner, .innerBlock{
    width: 90%;
    max-width:1000px;
    margin: 0 auto;
    position:relative;
}

.rats{
    position:absolute; 
    top: -30%;
    left: -55%;
    width: 120%;
    z-index:0;
}
.rats img{width:100%; max-width: 1700px;}

header #mainmenu ul{
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
    height: 100%;
}
header #mainmenu ul li{
    display: inline-block;
    padding: 0 20px;
    font-size: 1rem;
    text-transform: uppercase;
    color: #fff; 
}

#logo{ width: 200px; float:left; }
#logo img{width: 100%; }

#mainmenu{ float:right;  margin-right:0px; text-align:right; margin-top: 30px; }
#mainmenu a{font-size: 0.8em;}

.line1{margin-top: 4%;}
.headerLine {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    position: relative;
}

.headerLine .arrows {
    width: 22px;
    height: 22px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.headerLine .arrowLeft {
    left: 15px; /* Position 20px from the left */
}

.headerLine .arrowRight {
    right: 15px; /* Position 20px from the right */
}

.headerLine .arrows img {
    transform: none; /* Reset any previous transformations */
}

.headerLine .arrowLeft img {
    transform: rotate(0deg); /* Flip left arrow to face left */
}

.headerLine .arrowRight img {
    transform: rotate(180deg); /* Flip right arrow to face right */
}

.headerLine .line {
    width: 100%;
    height: 2px; /* Thickness of the line */
    background-color: #ffd786; /* Line color */
    position: absolute;
    top: calc(50% - 1px); /* Center the line vertically */
    transform: translateY(-50%);
    z-index: 1; /* Place the line behind the arrows */
}
.headerLine .line.lineblue {
    background-color: #40a0d2; /* Line color */
    height: 1px;
}



.berni{
    position: absolute; 
    top: -8%;
    left: -42%;
    height: 100%;
    z-index: 3;
    width: 90%;
}
.berni img, .slogan img{width: 100%; }
.slogan{ width: 40%; max-width: 428px; margin-left: auto; text-align: right; padding: 10% 5% 10% 0%; }

.headerText{ margin: 8% 0%; }







#products, #edienkarte{
    background: rgba(64,160,210,1);
      padding: 50px 0px;
}

.blockTitle{
    width: 100%;
    text-align: center;
    padding: 2% 0%;
}

.blockText{
    width: 100%;
    margin: 40px 0px;
}

.productsList {
    display: flex;
    flex-wrap: wrap; /* Allow wrapping to the next line */
    gap: 80px; /* Increase spacing between products */
    justify-content: center; /* Center the products horizontally */
    margin: 40px 0; /* Add 40px margin from top and bottom */
}

.product {
    display: flex; /* Use flexbox to align image and info side by side */
    flex-wrap: nowrap; /* Prevent wrapping */
    gap: 40px; /* Add spacing between the image and info */
    width: calc(45% - 20px); /* Reduce product size to 45% of the container width */
    box-sizing: border-box; /* Include padding and border in the width */
    align-items: center; /* Vertically align image and info */
}

.productImage {
    width: 60%; /* Image takes 60% of the product block */
}

.productInfo {
    width: 40%; /* Info takes the remaining 40% */
    display: flex;
    flex-direction: column; /* Stack title and text vertically */
    justify-content: center; /* Center the content vertically */
}
.productTitle{
    font-weight: 700;
    color: #ffd786;
}

.productList2{z-index:10;}
.edienkarteItem {
    width: calc(80% - 20px);
    gap: 0px;
    margin-top: -10%;
    z-index:10;
}
.edienkarteItem:first-child{ margin-top: 0%; }
.edienkarteItem img{width: 100%; }
.rats2{top: 0%; left: -20%; width: 110%; z-index: 0;}
.rats2 img{max-width: 2000px; }
#edienkarte .innerBlock{overflow:hidden; max-width:100%; width:100%;}
#edienkarte .innerBlock.innerBlockinner{max-width: 1000px; width: 90%; overflow: visible;}
#edienkarte .innerBlock.innerBlockinner .headerLine{margin-top: 10px;}



 
footer{
    background: rgb(64,160,210);
    background: linear-gradient(180deg, rgba(64,160,210,1) 0%, rgba(15,80,150,1) 95%);
    width: 100%;  
    margin: 0% auto 0% auto;
    padding: 10% 0% 1% 0%;
    text-align: center;
    font-size: 0.9em;
}

.footerInner{
    max-width: 1100px;
    position:relative;
}




/* Modal body content */
.modal-body img {
    max-width: 100%;
    height: auto;
    margin: 20px 0;
}
.modal-content .footerSubtext a{ color: #ffd786; }

.modal-body table{
    border-collapse: collapse;
    width: 90%; 
}
.modal-body td, .modal-body th{
    border: solid 1px #ddd;
    padding: 10px;
}
.modal-body th{font-weight: bold;}
.modal-body h2{ width: 90%; }




.socialList{
    width: 100%; text-align:center; display:flex; justify-content: center; align-items: center; padding: 20px 0px;
}
.socialItem{ 
    display: inline-block;
    padding: 0 10px;
    width: 70px;
}
.socialItem img{
    width: 100%;
}
.footerSubtext{ cursor: pointer; text-decoration: underline; font-size: 0.8em; }
.footerSubtext:hover{text-decoration: underline;}

 
.jaunumi{
    background-color: #ffebc2;
    padding: 5%;
    color: #0f5096;    
}

.jaunumiImage{ border-radius: 10px; width: 32%; display: inline-block; vertical-align:middle; aspect-ratio: 16/9; overflow:hidden; }
.jaunumiImage img {width:100%;  }

.jaunumiDetails{display: inline-block; vertical-align: middle; width: 60%; margin-left: 5%; }
.jaunumiTitle{   }
.jaunumiButton{margin-top: 20px; border: solid 1px #0f5096; border-radius: 50px; text-transform:uppercase; font-weight: bold; padding: 5px 15px; width: 25%; text-align:center; cursor: pointer; float:right; transition: all 0.3s;   }
.jaunumiButton:hover{ border: solid 1px #40a0d2; color: #40a0d2; }
.jaunumiDate{font-size: 0.8em; font-weight: bold; margin-top: 20px; float:left;
    color: #40a0d2;  }


.kalendars{
    padding: 5%;
    background: rgb(64,160,210);
}


.jaunums{   }
.jaunumsImg{ width: 80%; margin: auto; border-radius: 20px; overflow:hidden; }
.jaunumsImg img{ border-radius: 20px; }
.jaunumsTitle, .jaunumsContent{ width: 80%; margin: 30px auto; font-size: 1.2em; }


.jaunumsContent ul li{ padding: 10px; }
.jaunumsContent ul{margin-left: 20px;}

.modal-body img.jaunumiMidImg{ width: 50%; max-width: 250px; } 





/* Modal background */
.modal {
    display: none; /* Hidden by default */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8); /* Dark background with transparency */
    z-index: 2000; /* Ensure it appears above other elements */
    justify-content: center;
    align-items: center;

}

/* Modal content */
.modal-content {
    width: 80%;
    max-height: 80%;
    background-color: #ffebc2;
    border-radius: 8px;
    overflow-y: auto; /* Enable scrolling for long content */
    padding: 20px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    margin: 10%;
    color: #0f5096;
    font-size: 0.8em;
    position:relative;
}
.modal-content p{
    margin-top: 10px; 
}

/* Close button */
.close-button {
    position: absolute;
    top: 10px;
    right: 20px;
    font-size: 24px;
    font-weight: bold;
    color: #333;
    cursor: pointer;
    z-index:9999;
}




.gdpr-popup {
    position: fixed;
    bottom: 10px;
    left: 10px;
    width: 30%;
    background-color: rgba(0, 0, 0, 0.8);
    color: #fff;
    padding: 20px;
    text-align: left;
    z-index: 1000;
    display: none; /* Hidden by default */
    font-size: 0.7em;
} 

.gdpr-content {
    max-width: 800px;
    margin: 0 auto; 
    display: block;
    text-align:left;
    gap: 10px;
}

.gdpr-button {
    background-color: #40a0d2;
    color: #fff;
    border: none;
    padding: 10px 20px;
    font-size: 16px;
    cursor: pointer;
    border-radius: 5px;
    display: inline-block;
    margin: 10px 0px 0px 0px;
}

.gdpr-button:hover {
    background-color: #0f5096;
}

.gdpr-button.decline {
    background-color: #ffebc2; /* Red background for decline button */
    color: #333;
}

.gdpr-button.decline:hover {
    background-color: #ffd786; /* Darker red on hover */
}




/* Burger Button */
.burger-menu{
    position: absolute;
    top: 40px;
    right: 10px; 
    z-index: 999;
    text-align:right;
}
.burger-button {
    width: 30px;
    height: 25px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    cursor: pointer;
    z-index: 999;
    right: 10px;
    text-align: right;
    margin-right: 10px;
}

.burger-button span {
    display: block; 
    height: 4px;
    background-color: #fff;
    border-radius: 2px;
    transition: all 0.3s ease;
}
.burger-menu.active .burger-button span{
    background-color: #000;
}

/* Dropdown Menu */
.dropdown-menu {
    display: none;
    position: absolute;
    top: 80px; /* Adjust based on your header height */
    right: 0px;
    width: 100%; 
    height:auto;
    background-color: #fff;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    border-radius: 5px;
    z-index: 998;
}

.dropdown-menu ul {
    list-style: none;
    margin: 0;
    padding: 10px 0;
}

.dropdown-menu ul li {
    padding: 10px 20px;
}

.dropdown-menu ul li a {
    text-decoration: none;
    color: #333;
    font-size: 16px;
}

.dropdown-menu ul li:hover {
    background-color: #f0f0f0;
}

/* Active State for Dropdown */
.burger-button.active span:nth-child(1) {
    transform: translateY(10px) rotate(45deg);
}

.burger-button.active span:nth-child(2) {
    opacity: 0;
}

.burger-button.active span:nth-child(3) {
    transform: translateY(-10px) rotate(-45deg);
}

.dropdown-menu.active {
    display: block;
}



/* cal */
.calList{text-align:center;}
.cal{ 
display: inline-block;
vertical-align: top;
width: 29%;
margin: 1%;
position:relative;
border : solid 1px #ffffff;
border-radius: 10px;
overflow:hidden;

}
.calImg{  width:100%; aspect-ratio: 16/9; overflow:hidden; transition: all 0.3s; }

.calDate{
    position: absolute; 
    font-weight: bold;
    font-size: 0.9em;
    left: 0px;
    top: 41%;
    display: inline-block;
    padding: 10px;
    border-bottom-left-radius: 10px;
    border-top-right-radius: 10px;
    background: #ffd786;
    color: #0f5096;
}
.calTitle{
    font-weight:bold;
    color: #ffffff;
    padding: 25px 15px 25px 15px;
    clear:both; width: calc(100% - 30px);
    text-align:left;
}
.calTitle:hover{
    color: #ffd786;
    text-decoration: underline;
}

.calUrl{
    text-transform: uppercase;
    font-size: 0.8em;
    font-weight:bold;
    float:right; margin-right: 15px; margin-bottom:15px;
}
.arrowsText{ font-size: 1.5em; }


.calUrl a, .calTitle a{color: #fff; }
.calUrl a:hover, .calTitle a:hover{color: #ffd786; }

.calLoadMore{
    cursor: pointer; border :solid 1px #fff; padding: 8px 25px; display: inline-block; text-transform: uppercase; margin: 30px auto; border-radius: 50px; font-size: 0.9em;
}
.calLoadMore:hover{ color: #ffd786; border: solid 1px #ffd786;  }
.kalendars .innerBlock{text-align:center;}
.kalendarsTitle{ text-align:left; }
.calTitleText{ display: inline-block; vertical-align:middle; width: 20%; }
.calTitleLine{ display: inline-block; vertical-align: middle; margin-left: 2%; width: 77%; height: 1px; background-color: #fff; }

.calOrnaments{ width: 40%; position:absolute; z-index: 0; top: -10%; right: -20%; }
.calOrnaments2{ width: 40%; position:absolute; z-index: 0; bottom: -60px; left: -20%; }
.calOrnaments img, .calOrnaments2 img{width:100%;}
#kalendars{overflow: hidden;}



.pc{ display: block; }
.pc-flex{ display: flex; }
.mob{display: none;}


@media all and (min-width: 2000px){
    .rats2{left: 20%;}
}

@media all and (max-width: 980px){
    html, body{font-size: 1em;}
    #logo{ 
        width: 30%; top: 20px; left: 35%; 
        float:none; z-index: 3; position:absolute; 
    }
    .slogan{width: 70%; padding: 20% auto 80% auto; text-align:center; margin: 0% auto 60% auto;  }
    .berni{ top: 21%; left: -15%; width: 110%; }
    .rats{width: 200%; left: -50%; top: -10%; z-index: 0; }
    .rats2{ top: 5%; } 
    .headerText{ margin: auto; padding: 20% 0%;  }
    .line1{ margin-top: 20%;  }

    .block{margin-top: -1px;}


    .product{ display: flex;  width: 100%; clear:both; margin: -20px auto;  }
    .product:first-child{ margin-top: 40px; }
    .product .productInfo, .product .productImage{
        display: inline-block; vertical-align: middle;
    }
    .productsList{ gap: 40px; }
    .productImage img{width: 100%; }
    .productImage{width: 60%;}
    .product:nth-child(1) .productInfo{ order: 1; }
    .product:nth-child(1) .productImage{ order: 2; }

    .product:nth-child(2) .productInfo{ order: 2; }
    .product:nth-child(2) .productImage{ order: 1; }

    .product:nth-child(3) .productInfo{ order: 1; }
    .product:nth-child(3) .productImage{ order: 2; }

    .product:nth-child(4) .productInfo{ order: 2; }
    .product:nth-child(4) .productImage{ order: 1; }

    .gdpr-popup {
    bottom: 0px;
    left: 0px;
    width: 100%;
    }

    .jaunumiImage, .jaunumiDetails, .jaunumsContent, .jaunumsImg, .jaunumsTitle{ float:none; width: 100%; margin: 20px 0px 0px 0px; }
    .jaunums .line1{margin-top: 10%;}

    .cal{ width: 46%;   }
    .calDate{top: 43%; }

    .calOrnaments2 {bottom: -20px; }
    .calTitleLine{ width: 57%; }
    .calTitleText{ width: 35%; }



    .pc, .pc-flex{display: none;}
    .mob{display: block;}


}/* 980 */


@media all and (max-width: 640px){
    .cal{ width: 90%; margin: 20px auto 0px auto;   }
    .calDate{top: 52%; }
    .calOrnaments{ top: 0%; right: -33%; width: 60%; }
    .calTitleText{width: 54%;}
    .calTitleLine{width: 34%; }
    .berni{  }

} /* 480 */


@media all and (max-width: 430px){
    .jaunumiButton{ width: 35%; }
    .berni{ top: 21%; }
    .calDate{ top: 39%; }
    

} /* 480 */





@font-face {
    font-family: 'Avenir';
    src: url('fonts/Avenir-Roman.eot');
    src: url('fonts/Avenir-Roman.eot?#iefix') format('embedded-opentype'),
        url('fonts/Avenir-Roman.woff2') format('woff2'),
        url('fonts/Avenir-Roman.woff') format('woff'),
        url('fonts/Avenir-Roman.ttf') format('truetype'),
        url('fonts/Avenir-Roman.svg#Avenir-Roman') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Avenir';
    src: url('fonts/Avenir-Heavy.eot');
    src: url('fonts/Avenir-Heavy.eot?#iefix') format('embedded-opentype'),
        url('fonts/Avenir-Heavy.woff2') format('woff2'),
        url('fonts/Avenir-Heavy.woff') format('woff'),
        url('fonts/Avenir-Heavy.ttf') format('truetype'),
        url('fonts/Avenir-Heavy.svg#Avenir-Heavy') format('svg');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}


/* 
Avenir LT Pro 55 Roman
font-family: "avenir-lt-pro", sans-serif;
font-weight: 400;
font-style: normal;

Avenir LT Pro 85 Heavy
font-family: "avenir-lt-pro", sans-serif;
font-weight: 700;
font-style: normal; */