@import url("https://use.typekit.net/jmk3xov.css");


@media screen and (max-width: 768px) {
  .finalproductpicture {max-width: 20%;}
  
}
@media screen and (max-width: 991px) {
  .finalproductpicture {max-width: 10%;}
 
}

@media screen and (min-width: 992px) {
  .finalproductpicture {max-width: 70%;}
 
  }

 
  .footerlogo{
    width: auto;
    max-height: 150px;
  }
  .footertext{
    display: none;
  }

.poppins-thin {
  font-family: "Poppins", sans-serif;
  font-weight: 100;
  font-style: normal;
}

.poppins-extralight {
  font-family: "Poppins", sans-serif;
  font-weight: 200;
  font-style: normal;
}

.poppins-light {
  font-family: "Poppins", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.poppins-regular {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.poppins-medium {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.poppins-semibold {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-style: normal;
}

.poppins-bold {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.poppins-extrabold {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  font-style: normal;
}

.poppins-black {
  font-family: "Poppins", sans-serif;
  font-weight: 900;
  font-style: normal;
}

.poppins-thin-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 100;
  font-style: italic;
}

.poppins-extralight-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 200;
  font-style: italic;
}

.poppins-light-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 300;
  font-style: italic;
}

.poppins-regular-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-style: italic;
}

.poppins-medium-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-style: italic;
}

.poppins-semibold-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-style: italic;
}

.poppins-bold-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-style: italic;
}

.poppins-extrabold-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  font-style: italic;
}

.poppins-black-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 900;
  font-style: italic;
}


body{
  font-family: "Poppins", sans-serif;
  font-size: 14px;
}


#scene3d{
  border: solid 1px lightgrey;
overflow: hidden;
height: auto;
max-height: 800px;
} 
canvas{
  /* top: 0px; 
  left: -5px; */
 
position: relative;
  margin: 0; 
  width: 100%;
  height: 100%;



}


.progress-bar {
  -webkit-transition: none;
  -moz-transition: none;
  -ms-transition: none;
  -o-transition: none;
  transition: none;
}​



:root {
  --dark-bg: rgba(15, 15, 15, 0.95);
  --spacing: 350px;

  font-family:  "Poppins", sans-serif;
  font-weight: 400;
  font-style: normal;
}


.badge {
  font-weight: 500;
  font-size: small;
}

h1, h2, h3, blockquote {
  font-weight: 20;
  font-style: normal;
}
/* 
.h3big{
  font-family: po;
} */



  section {
    grid-column: 2 / 8;
    padding: 1rem;
    background: var(--dark-bg);
    font-size: 1.25rem;
    line-height: 1.5;
    margin-bottom: var(--spacing);
  }

  blockquote {
    margin: 0;
    padding: 0;
    grid-column: 2 / span 9;
    margin-bottom: var(--spacing);
  }

  blockquote p {
    color: black;
    background-color: white;
    font-size: 4rem;
    display: inline;
    line-height: 1;
  }

  .left {
    grid-column: 6 / 12;
  }

  .lil-gui.root {
    position: relative;
    z-index: 10;

  }


  input.form-control{
    border-color: var(--bs-gray-200);
    background-color: var(--bs-gray-100);
    border-radius: 2px;
  }
.staffelpreis{
  width: 1.5rem;
  height: 1.5rem;
  background-color: var(--bs-gray-100);
    border-color: var(--bs-gray-200);
    margin-right: 10px;
}
.staffelpreislabel{
  margin-top: 5px;
}
  .certcheck{
    width: 1.5rem;
    height: 1.5rem;
    margin-right: 10px;
    background-color: var(--bs-gray-100);
    border-color: var(--bs-gray-200);
  }
  .certcheck-label{
    margin-top: 5px;

  }


  .input-group-text{
    border-color: var(--bs-gray-200);
    background-color: var(--bs-gray-100);
    border-radius: 5px;
  }


   .form-select{
    color: var(--bs-gray-600);
    border-color: var(--bs-gray-200);
    background-color: var(--bs-gray-100);
    border-radius: 2px;
    font-size: 14px;
   }
 


.shadow-hover-1:hover{
  box-shadow: 0 11px 30px 0 rgba(51, 51, 51, 0.15) !important;
}
 
.card-header{
  background-color: var(--bs-gray-100);
  border-color: white;

}
.shadow-xxs-2 {
  box-shadow: 0 0 10px 0 rgba(51, 51, 51, 0.1) !important;
}

ul.stichpunkt {
  --icon-space: 1.3em;
  list-style: none;
  padding: none;
}

li.mylist {
  padding-left: var(--icon-space);
  
}

li.mylist:before {
  content: "\f00c"; /* FontAwesome Unicode */
  font-family: FontAwesome;
  margin-top: 10px;
  display: inline-block;
  margin-left: calc( var(--icon-space) * -1 );
  width: var(--icon-space);
  color: #006f9e;
}

label.info{
  font-size: 12px;
  margin-top: 5px;
  color: var(--bs-primary);
  border-radius: 5px;
  padding: 0.5%;
}

label.error{
  font-size: 12px;
  /* position: absolute; */
  margin-top: 5px;
  color: var(--bs-danger);
  /* background-color: var(--bs-danger-border-subtle); */
  border-radius: 5px;
  padding: 0.5%;
}

input.error{
  color: var(--bs-danger);
  border-color: var(--bs-danger) !important;
}
select.error{
  color: var(--bs-danger);
  border-color: var(--bs-danger) !important;
}

.errorhighlight{
  border-color: var(--bs-danger) !important;
}

.smaldescription{
  font-size: 12px;
  color: var(--bs-gray-500)
}
.helplink{
  font-size: 12px;
}



.accordion-button:not(.collapsed){
  background-color: var(--bs-gray-100)
}

.pdfaccbutton:before{
  content: "\f019"; /* FontAwesome Unicode */
  font-family: 'FontAwesome';
  margin-right: 10px;
  display: inline-block;
  color: #006f9e;
  font-size: 25px;
}

a.download:before{
  content: "\f1c1"; /* FontAwesome Unicode */
  font-family: 'FontAwesome';
  margin-right: 10px;
  display: inline-block;
  color: #006f9e;
  font-size: 20px;
}

img.languageimg{
  max-width: 18px;
  max-height: 18px;
  min-width: 15px;
  min-height: 15px;
  margin: 2px;
  object-fit: cover;
  border-style: solid;
  border-width: 1px;
  border-color: var(--bs-gray-300);
  opacity: 0.8;
  
}
hr{
  color: var(--bs-gray-500)
}

/* .rowtwo{
  border-top-style: solid;
  border-width: 1px;
  border-color: var(--bs-gray-200);
} */

#loading-screen {
	position: absolute;
  display: block;
  z-index: 1;
	 /* top: 50%;
	left: 40%; */
	/*width: 100%;
	height: 100%;  */
	/* background-color: none; */

	opacity: 1;
 	transition: 1s opacity;
}

#loading-screen.fade-out {
    opacity: 0;
}

.loadinginfo {
  display: block;
  position: relative;
  left: 50%;
  top: 80%;
  width: 150px;
  height: 150px;
  margin: -75px 0 0 -75px;
  border-radius: 50%;
}
#loader {
    display: block;
    position: relative;
    left: 50%;
    top: 50%;
    width: 150px;
    height: 150px;
    margin: -75px 0 0 -75px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: var(--bs-info);
    -webkit-animation: spin 2s linear infinite;
    animation: spin 2s linear infinite;
}
#loader:before {
    content: "";
    position: absolute;
    top: 5px;
    left: 5px;
    right: 5px;
    bottom: 5px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: var(--bs-primary-text-emphasis);
    -webkit-animation: spin 3s linear infinite;
    animation: spin 3s linear infinite;
}
#loader:after {
    content: "";
    position: absolute;
    top: 15px;
    left: 15px;
    right: 15px;
    bottom: 15px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: var(--bs-primary);
    -webkit-animation: spin 1.5s linear infinite;
    animation: spin 1.5s linear infinite;
}
@-webkit-keyframes spin {
  0%   {
      -webkit-transform: rotate(0deg);
      -ms-transform: rotate(0deg);
      transform: rotate(0deg);
  }
  100% {
      -webkit-transform: rotate(360deg);
      -ms-transform: rotate(360deg);
      transform: rotate(360deg);
  }
}
@keyframes spin {
  0%   {
      -webkit-transform: rotate(0deg);
      -ms-transform: rotate(0deg);
      transform: rotate(0deg);
  }
  100% {
      -webkit-transform: rotate(360deg);
      -ms-transform: rotate(360deg);
      transform: rotate(360deg);
  }
}
.canvasbtn{
  position: absolute;
  z-index: 5;
}


#function-info{
  position: absolute;
  display: block;
  z-index: 5;
  background-color: rgba(51, 51, 51, 0.15);
  margin: 10px;;

}


.firstinfotext{
  z-index: 5;
  background-color: rgba(51, 51, 51, 0.15);
  display: block;
  position: absolute;
  width: 500px;
  height: 100px;

  border-radius: 10px;
  border-color: black;
  border-style: solid;
}
.whitespace{
  width: 10%;
  height: 60%;
  
}

.warningheader{
  background-color: var(--bs-warning);
  border-color: var(--bs-warning);
  color: var(	--bs-dark);

}
.warningheadertext:before{
content: "\f06a";
font-family: 'FontAwesome';
}

#totopbtn {
  display: none; /*Hidden by default */
  position: fixed; /* Fixed/sticky position */
  bottom: 20px; /* Place the button at the bottom of the page */
  right: 30px; /* Place the button 30px from the right */
  z-index: 99; /* Make sure it does not overlap */
  
}

.warningcard{
  z-index: 9;
  position: absolute;
  font-family:  "Poppins", sans-serif;
  top: 20%;
  left: 20%;
  background-color: var(--bs-secondary-bg);
  border-color: var(--bs-warning);


}

.bodyoverlay{
  position: fixed;
  z-index: 10;
  background-color:rgba(0, 0, 0,0.5);
  width: 100%; /* Full width (cover the whole page) */
  height: 100%; /* Full height (cover the whole page) */
  margin: 0;
  padding: 0;

}

.bodyclearoverlay{
  position: fixed;
  z-index: 10;
  background-color:rgba(0, 0, 0,0);
  width: 50%; /* Full width (cover the whole page) */
  height: 100%; /* Full height (cover the whole page) */
}


@media print {
  /* body *:not(.printable, .printable *) {
    display: none;
  } */

  .printtypekey{
    display: block;
  }
  .formcard{
    border: none;
  }
  .notprintable{
    display: none;
  }
  .printpicturelogo{
    width: auto;
    max-height: 40x;
  }
  #showkonfiguration{
    max-width: 70%;
  }

  .smalfootertext{
    font-size: 10px;
  }
  .footertext{
    display:inline;
    font-size: 10px;
  }
   .printfooter{
    position: fixed;
    bottom: 0;
    margin: 0px;
    padding: 0px;
    max-width: 5000px;
    height: 150px;
    }
  
    .contactprint{
      display: inline;
    }
    .card{
      box-shadow: 0 0 0px 0 rgba(51, 51, 51, 0.1) !important;
    }

    .picturecard{
      max-width: 30%;
    }
    .finalproductpicture{
      width: auto;
      max-height:300px;
    }

}