@font-face {
  font-family: "gallery_para";
  src: url(../css/fonts/BananaGrotesk-Regular.ttf) format("truetype");
}
@font-face {
  font-family: "gallery_title";
  src: url(../css/fonts/CooperMdBT-Regular.ttf) format("truetype");
}


/* Main Module */


html, body {
    height: 100%;
    width: 100%;
    margin:0;
    padding:0;
  }
  
  #renderCanvas {   
    height:100%;
    width:100%;
    margin: 0;
    padding: 0; 
	outline: none;
  }

  #coverImage {
    position: absolute;
    z-index: 1;
    background-image: url(../css/images/backdrop.jpg);
    transition: opacity 1s;
    opacity:1;
    background-color:white;
    background-size:contain;  
    background-position: center; /* Center the image */
    background-repeat: no-repeat; /* Do not repeat the image */
    transition: opacity 1s;
	object-fit: contain;
  }
@font-face {
  font-family: "gallery_para";
  src: url(../css/fonts/BananaGrotesk-Regular.ttf) format("truetype");
}
@font-face {
  font-family: "gallery_title";
  src: url(../css/fonts/CooperMdBT-Regular.ttf) format("truetype");
}

/* Loader Module */

.modal-content * {
  -webkit-user-drag: none;
  /* Prevents dragging of images/divs etc */
  -webkit-touch-callout: none;
  /* iOS Safari */
  -webkit-user-select: none;
  /* Safari */
  -khtml-user-select: none;
  /* Konqueror HTML */
  -moz-user-select: none;
  /* Firefox */
  -ms-user-select: none;
  /* Internet Explorer/Edge */
  user-select: none;

}

:root {
  --bar-color2:white;
  --bar-color1:lightblue;
  --bar-shadow1:#717171;
  --bar-shadow2:lightgreen;
  --bar-border:0%;
  --bar-border2:100%;
  --bar-border3:0em;
  --bar-font:#F79B7A;
}

.modal-content h1 {
  font-family: "gallery_title";
}

#para {
  font-family: "gallery_para";
}

#loader_container {
  
    position: absolute;
    z-index: 7;
    left: 0;
    width: 100vw;
    max-width: 100%;
    text-align: center;
    transition: opacity 1s;
    opacity: 1;
    font-family: "gallery_para";
    font-size: 1.5rem;
    color: var(--bar-font);
    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    height: 100%;
    justify-content: center;
    backdrop-filter: blur(3px);
   
  }

	#loader_container #text_container {
	    font-weight: 900;
    	color: black !important;
    	transition: opacity 2s ease 0s;
    	font-size: 20px;
    	background: #ffffff7d;
    	padding: 10px;
    	border-radius: 10px;
	}

  
#bar_container {
    height: 24px;
    background: #dcdbd7;
    border-radius: 20px;
    border-top: 1px solid #cfcec9;
    border-bottom: 1px solid #f7f6f4;
    box-shadow: 0 -1px 0 #bab9b4;
    margin-bottom: 24px;
    position: relative;
    transition: opacity 2s;
  }

  #progress_bar { 
    background-color: #dcf1c6; 
    background-image: linear-gradient(to bottom, var(--bar-color1) var(--bar-border), var(--bar-color2) var(--bar-border2));
    height: 110%;
    position: absolute;
    top: -3px;
    left: 0px;
    border-top: 1px solid #e5ebf4;
    border-radius: 20px;
    box-shadow: 0 3px 10px var(--bar-shadow1),0 0 0 var(--bar-border3) var(--bar-shadow2);
    width: 10%;
    transition: width 0.1s ease-in-out;    
  }
  
/* Loader 2 */
.loader-2 {
    display: block;
    margin: 10px auto;
    height: 32px;
    width: 32px;
    -webkit-animation: loader-2-1 3s linear infinite;
    animation: loader-2-1 3s linear infinite;
  }
  @-webkit-keyframes loader-2-1 {
    0% {
      -webkit-transform: rotate(0deg);
    }
    100% {
      -webkit-transform: rotate(360deg);
    }
  }
  @keyframes loader-2-1 {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
    }
  }
  .loader-2 span {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    height: 32px;
    width: 32px;
    clip: rect(16px, 32px, 32px, 0);
    -webkit-animation: loader-2-2 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;
    animation: loader-2-2 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;
  }
  @-webkit-keyframes loader-2-2 {
    0% {
      -webkit-transform: rotate(0deg);
    }
    100% {
      -webkit-transform: rotate(360deg);
    }
  }
  @keyframes loader-2-2 {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
    }
  }
  .loader-2 span::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    height: 32px;
    width: 32px;
    border: 3px solid transparent;
    border-top: 3px solid #F79B7A;
    border-radius: 50%;
    -webkit-animation: loader-2-3 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;
    animation: loader-2-3 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;
  }
  @-webkit-keyframes loader-2-3 {
    0% {
      -webkit-transform: rotate(0deg);
    }
    100% {
      -webkit-transform: rotate(360deg);
    }
  }
  @keyframes loader-2-3 {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
    }
  }
  .loader-2 span::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    height: 32px;
    width: 32px;
    border: 3px solid rgba(209, 209, 209, 0.5);
    border-radius: 50%;
  }
  
  *:before,
  *:after {
    box-sizing: border-box;
  }

  
/* The Modal (background) */
.modal {
    position: absolute;
    display: none;
    opacity:0;
    align-items: center;
    justify-content: center;
    transition: opacity 500ms;
    z-index: 9;
    left: 0;
    top: 0;
    width: 100%;
    /* Full width */
    height: 100%;
    overflow: auto;
    background-color: rgb(0, 0, 0);
    /* Fallback color */
    background-color: rgba(0, 0, 0, 0.4);
    /* Black w/ opacity */

}

/* Modal Content */
.modal-content {
    
    position: relative;
    display: flex;
    background-color: transparent;
    margin: 0 auto;
    padding: 0;
    ; 
    height:50%;
    max-height: 330px;
    max-width: 60%;
    -webkit-animation-name: animatetop;
    -webkit-animation-duration: 0.4s;
    animation-name: animatetop;
    animation-duration: 0.4s
}


#modal-text {
    display: flex;
    flex:1;
    justify-content: center;
    align-content: center;
    align-items: center;    
    flex-direction: column;
    text-align: center;
    background-color: white;
    padding:2%;
    border: 2px solid black;
    border-radius: 25px 0px 0px 30px;
    width: 100%;
}

.modal-content img {   
    object-fit: contain;  
}

#modal-image {
    display: flex;     
    flex:1;
    width:100%;
    margin-left:-1.5%; 
   
}

/* Add Animation */
@-webkit-keyframes animatetop {
    from {
        top: -50%;     
    }

    to {
        top: 0%;    
    }
}

@keyframes animatetop {
    from {
        top: -50%;     
    }

    to {
        top: 0%;   
    }
}

/* The Close Button */
.close {
    position: absolute;
    z-index: 10;
    color: black;
    left: -15px;
    top:-30px;
    font-size: 50px;
    font-weight: bold;
}

.close:hover,
.close:focus {
    color: red;
    text-decoration: none;
    cursor: pointer;
}


.modal-body {
    padding: 2px 16px;
}

@media screen and (max-device-width: 767px) and (orientation: portrait) {
    .modal-content {   
        height:80%;  
        max-height: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;        
    
    }
    #modal-text {  
        flex:1;      
        background-color: white;   
        text-align: center;     
        height:100%;
        min-width: 100%;
        border: 2px solid black;
        border-radius: 20px 20px 0px 0px;     
    
    }

    #modal-image {
        flex:1;
        align-items: flex-start;
        height:100%;
        margin-left:0%; 
        margin-top:-2%;
     
    }
    .modal-content img {
        width:100%;
        transform: scale(1.05);
    }
}

@media screen and (max-device-width: 767px) and (orientation: landscape) {

    .modal-content img {
       height:100%;      
    }
}

div#coverImage:before {
    content: 'Качество в приоритете';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;

    font-weight: 800;
    max-width: 400px;
    padding-left: 50px;
}

@media only screen and (max-width: 896px) {
div#coverImage:before {
    font-size: 2.8rem;
padding-left: 10px;
	}}
@media only screen and (max-width: 1024px) and (min-width: 768px){
div#coverImage:before {
    font-size: 3.6rem;
}}
@media only screen and (min-width: 1401px){
div#coverImage:before {
    font-size: 6.4rem;
}}
@media only screen and (max-width: 1400px) and (min-width: 1025px){
div#coverImage:before {
    font-size: 4.8rem;
}}
