@import 'https://fonts.googleapis.com/css?family=Lato|Merriweather';
@import 'dist/jquery.fancybox.css';

body {
	background-color: #fff;
	margin: 0px;
	padding: 0px;
	font-family: 'Lato', sans-serif, sans;
    color: #444;
}
img {
	border: 0;
	max-width: 100%;
	height: auto;
}
header{
    font-family: Merriweather;
    color: #fff;
    padding: 1.5vw;
    text-align: center;
    background-color: #527196;
}
header h1{
    font-size: 32px;
    font-weight: 400;
    margin: 0;
    padding: 0; 
    letter-spacing: 2px;
}
header img{
    width: 250px;
}
header p{
    font-size: 20px; 
    margin: 0;
}
footer{
 //   background-color: #2a4aa6;
	background-color: #527196;
    color: #fff;
}
footer > div{
    max-width: 900px;
    margin: auto;
    padding: 3vw;
    line-height: 1.7;
}
footer a{
    color: #fff;
    text-decoration: none;
}
iframe{
	display: block; 
}
table {
	border-collapse: collapse;
	color: inherit;
}
td {
	vertical-align: top; 
	padding: 0 10px 3px 0;
}
input, textarea, select {
	font-family: 'Lato', sans-serif, sans;
	font-size: 15px;
	border-radius: 5px;
	padding: 7px;
	border: 2px solid #666;
	background-color: #fff;
	max-width: 80vw;
	color: #444;
} 
a[href^="mailto:"]
{
  overflow-wrap: break-word;
  word-wrap: break-word;
  -ms-word-break: break-all;
  word-break: break-all;
  word-break: break-word;
  -ms-hyphens: auto;
  -moz-hyphens: auto;
  -webkit-hyphens: auto;
  hyphens: auto;
}
.maintext{
    max-width: 900px;
    margin: auto;
    padding: 3vw;
    color: #555;
}
.maintext h2, .maintext h1{
    font-family: Merriweather;
	font-size:32px;
	font-weight: 400;
	margin: 5px 0;
}
.maintext p{
    line-height: 1.7;
}
.maintext a{
    color: #444;
    text-decoration: none;
    border-bottom: #2a4aa6 1px dashed;
}

.slider{
	height: 70vh;
	position: relative;
    max-height: 700px;
}
.page {
	height: 100%;
	width: 100%;
	background-size: cover;
	max-height: 100vh;
	position:absolute;
	top: 0;
	left: 0;
	background-repeat: no-repeat;
	background-position: center center;
}
.progress {
	animation:progress 6s linear infinite;
	height: 20px;
	background-color: rgba(0,0,0,0.3);
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 100;
	animation-delay: -0.5s;
	border-radius: 0 20px 0 0;
}	
.info{
    background-color: #6096C0;
    color: #fff;
}
.info > div{
    max-width: 900px;
    margin: auto;
    padding: 3vw;
    line-height: 1.7;
}
.info a{
    color: #fff;
    border-bottom: #fff 1px dashed;
    text-decoration: none;
}
.flex{
	display: flex;
 	flex-flow: row wrap;
    justify-content: center;
	gap: 20px; 
	margin-bottom: 20px; 
}
.flex div {
	flex: 1 1 auto;
	width: 300px;
	height	: 300px;
	max-width: 600px;
	position: relative;
	background-color: #fff;
}
.flex div img{
	object-fit: cover ;
	width: 100%;
	height:  100%;
}
.flex.blogs > div {
	height: auto; 
}
.tel{
    display: grid;
}
.tel a, .tel2 a{
    display:block;
    padding: 20px;
    text-align: center;
    text-decoration: none;
    color: #fff;
    background-color: #6096C0;
    transition: background-color 0.5s;
}
.tel a:hover, .tel2 a:hover{
    background-color: #FF0000;
}
.iw {
	font-size: 12px;
	padding: 10px 100px 10px 10px;
	text-align: right;
	background-color: #6096C0; 

} 
.iw a{
	color: #fff;
	text-decoration: none;
}
#map{
	height: 600px;
	max-height: 80vh;
}
.tel2{
	color: #fff; 
	background-color:#6096C0;
}

#myBtn {
  display: none;
  position: fixed;
  bottom: 20px;
  right: 30px;
  z-index: 99;
  font-size: 18px;
  background-color: #2CB34C;
  color: white;
  cursor: pointer;
  padding: 15px;
  border-radius: 10px;
  border: 3px solid rgba(255,255,255,0);
}

#myBtn:hover {
  background-color: #222;
  border: 3px solid rgba(255,255,255,1);
}
.topnav {
  overflow: hidden;
}


.topnav a {
  display: inline-block;
  color: #f2f2f2;
  text-align: center;
  padding: 14px 10px;
  text-decoration: none;
}

.topnav a:hover {
  background-color: #FF0000;
  color: #fff;
}
.active {
  background-color: #222;
  color: white;
}

.topnav .icon {
  display: none;
}
#editor{
	min-height: 400px; 
}
.flex2{
	max-width: 1200px;
	margin: 20px auto;
	padding: 20px;
}
.flex2 > div {
	flex: 1 1 250px; 
	max-width: 300px ;
	margin: 10px;  
	display: flex;
	flex-direction: column;
}

 
}
.flex2.partners > div {
	flex: 1 1 500px; 
	max-width: 500px ;
	border: 0;
}

@supports (gap: 20px) {
.flex2{
	gap: 20px;
}
.flex2 > div {
	margin: 0
}
}
@supports (display: grid) {
.flex2{
    display: grid;
    grid-template-columns: repeat(auto-fill,minmax(300px, 1fr));
	justify-items: center;
}
.flex2 > div{
	width: 100%;
	max-width: none;
	background-color: #fff;
	min-width: auto;

}
}

.flex2 > div > .pic img {
	width: 100%; 
	height: 225px;
	object-fit: cover;	
}
.flex2.partners > div > .pic img {
	height: 500px;
	object-fit: contain;
}
.flex2 > div > .pic a {
	font-size: 0;
}
.flex2 > div > .pic {
	width: 100%; 
	position: relative;
	height: 225px;
}
.flex2 > div > .pic > div {
	position: absolute;
	bottom: 0;
	left: 0; 
	right: 0;
	background-color: rgba(34, 58, 85, 0.5);
	color: #fff;
	padding: 20px;
	
}
.flex2 h3{
	background-color: #6096C0; 
	color: #fff; 
	display: block; 
	margin: 0;
	padding: 10px; 
	text-align: center; 
 
}
.flex2 .bluelinks{
	background-color: #6096C0; 
	color: #fff; 
	text-align: center;
	padding: 10px;
	height: 30px; 
	margin-top: auto ;
}
.flex2 .bluelinks a{
	color: #fff; 
	text-decoration: none; 
}
.flex2 h3 a{
	color: #fff; 
	text-decoration: none; 
}

.flex2 h4 {
	display: block; 
	margin: 0;
	padding: 10px; 
	min-height: 40px; 
}


.flex2 .description{
	background-color: #fff;
	line-height: 1.6;
	padding: 20px; 

}

.flex2 h4 {
	display: block; 
	margin: 0;
	padding: 10px; 
	min-height: 40px; 
}

.page2 {
	height: 500px;
	width: 100%;
	background-size: cover;
	max-height: 70vh;
	background-repeat: no-repeat;
	background-position: center center;
}
.page2.contain{
	background-size: contain;
	height: 400px; 
}
.flexpics, .flexpics2 { 
	font-size: 0;
	flex-flow: row wrap; 
	display: flex;
	justify-content: center;
	gap: 20px; 
}
.flexpics a{
	color: #fff;
	text-decoration: none; 

}
.flexpics h2{
	font-weight: normal;	
}
.flexpics > div { 
 flex: 1 1 200px;
  position:relative;
  
}

.flexpics > div {
  max-width: 400px; 
	position: relative;  	
}
.flexpics > div img { 
  width: 100%; 
  height: 300px; 
  object-fit: cover;
}
.flexpics > div > div{
	position: absolute;
	width: 100%;
	top: 0;
	left: 0;
	height: 100%;
	opacity: 1;
}
.flexpics > div > div > div > div > h2 a{
	display: block; 
}
.flexpics > div > div > div > div > h2 {
	line-height: 80px;
	margin: 0; 
}
.flexpics > div > div > div > div {
	padding: 10px;
	background-color: rgba(255,255,255,0.6); 
	border-radius: 10px; 

}
.flexpics > div > div > div {
	color: #333;
	font-size: 16px;
	text-align: center;
	opacity: 0;
	transition: 0.3s;
	z-index: 1;
	position: relative; 
}
.flexpics > div:hover > div > div {
	opacity: 1;
}
.flexpics a{
	position: relative;
	border-bottom: 0 !important; 
	color: #333;
}
.flexpics a:hover{
	border-bottom: 0 !important; 
}
.grey{
	max-width: 1200px;
	margin: auto; 
}
.head2 {
	background-color: #527196 !important;
	color: #fff;
	padding: 10px !important;
	margin: 0;
}
.grey > div > div{
	padding: 0.5vw 2vw 0.5vw 2vw;
}
.grey > div > div:nth-child(odd){
    background-color: #eee;
}
.grey > div > div:nth-child(even){
    background-color: #ddd;
}
.grey a{
	color: #444;
}
.pictures{
	display: flex;
 	flex-flow: row wrap;
    justify-content: center;
	max-width: 1200px; 
	padding: 20px; 
	margin: 0 auto 20px auto; 
	gap	: 10px;
}
.pictures > div {
	flex: 1 1 auto;
	width: 250px;
	height	: 250px;
	max-width: 250px;
	position: relative;

}

.pictures > div.smallpic img{
	object-fit: none ;
    justify-content: center;
}
.pictures > div img{
	object-fit: cover ;
	width: 100%;
	height:  100%;

}
.container{
	display: flex;
	justify-content: center;	
	flex-flow: row wrap; 
	position: relative; 
}
.container > div {
	flex: 1 1 auto;
}
.main{
	width:70%; 
}
.sidebar{
	background-color: #527196;
	color: #fff;
	position: relative; 
	width: 150px;
	padding: 50px;  
}
.sidebar img{
	width: 200px; 
	margin: auto; 
}
.sidebar a{
	color: #fff; 
	border-bottom: 1px solid transparent; 
	transition: 0.5s; 
	text-decoration: none; 
}
.sidebar a:hover{
	color: #111; 
	border-bottom: 1px solid #000; 
}
.webcam{
	width: 100%; 
	aspect-ratio: 16 / 9;
}	
.videoWrapper {
	position: relative;
	padding-bottom: 53.5%;
	padding-top: 25px;
	height: 0;
}
.videoWrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}









@media only screen and ( max-width: 640px ) {
    .slider{
        height: 45vh;
        position: relative;
    }
	iframe{
		max-height: 50vh;
}
.flexpics > div { 
 flex: 1 1 90%;
	max-width: 100%; 
  
}


.flexpics > div > div > div {
	opacity: 1;
	padding: 0; 
	
}
.flexpics > div > div > div > div {
	padding: 0; 
}
*{
	border-radius: 0 !important; 
}

.page2 {
	display: none; 
}
.pictures > div{
	max-width: 100%; 
	border-right: 0;
	border-left: 0; 
}
.pictures {
	border: 0; 
}
.pictures > div, .pictures > div img {
	width: 100%;
	height: auto;
	max-width: 100%;  
}
.container {
  flex-flow: row wrap; 
}
.main{
	width: 100%; 
	border-right: 0;
	border-left: 0;
}
}


@media only screen and ( min-width: 640px ) {
header h1:first-of-type{
    font-size: 70px;
}
    .tel{
        grid-template-columns: 1fr 1fr;
   }
.flex2 > div {
	outline: 3px solid #6096C0;
}
.flexpics > div:first-of-type {
	display: none; 
}
}

@media only screen and ( max-width: 1200px ) {
.tel2{
	position: relative;
}
.topnav {
    text-align: left;
}
.topnav a:not(:first-child) {
	display: none;
}
.topnav a.icon {
    float: right;
    display: block;
	padding: 12px; 
 }
  .topnav.responsive {position: relative;}
  .topnav.responsive .icon {
    position: absolute;
    right: 0;
    top: 0;
  }
  .topnav.responsive a {
    float: none;
    display: block;
    text-align: left;
  }


}

@media only screen and (min-width: 1200px) {

.topnav {
	display: flex; 
	justify-content: center; 
	flex-flow: row wrap; 
	max-width: 100%; 

}

.topnav a {
  display: block;
	width: auto; 
	flex: 1 1 auto;
}
.page2 {
	background-attachment: fixed;
}
}



/* ANIMATIONS */


@keyframes cycle {
	0%  {  }
	4%  {  } 
	21% {  opacity:1; z-index:0; } 
	25% { opacity:0; z-index:0; } 
	26% {  opacity:0; z-index:-1; }
	92% {  opacity:0; z-index:0; }
	96% {  opacity:0; }
	100%{  opacity:1; }
	
}
@keyframes cycletwo {
	0%  {  opacity:0; }
	21% {  opacity:0; }
	25% {  opacity:1; }
	26% {  opacity:1; } 
	46% {  opacity:1; z-index:0; } 
	50% {  opacity:0; z-index:0; }
	51% {  opacity:0; z-index:-1; } 
	100%{  opacity:0; z-index:-1; }
}
@keyframes cyclethree {
	0%  {  opacity:0; }
	46% {  opacity:0; }
	50% {  opacity:1; }
	51% {  opacity:1; } 
	72% {  opacity:1; z-index:0; } 
	75% {  opacity:0; z-index:0; }
	96% {  opacity:0; z-index:-1; } 
	100%{  opacity:0; z-index:-1; }
}

@keyframes cyclefour {
	0%  {  opacity:0; }
	71% {  opacity:0; }
	75% {  opacity:1; }
	79% {  opacity:1; }
	96% {  opacity:1; z-index:0; }
	100%{  opacity:0; z-index:0; }
}

.firstanimation {
	animation:cycle 24s linear infinite;	
	
}
.secondanimation {
	animation:cycletwo 24s linear infinite;

}
.thirdanimation {
	animation:cyclethree 24s linear infinite;
	
}
.fourthanimation {
	animation:cyclefour 24s linear infinite;
	
}
@keyframes progress {
	0%  {  width:0; }
	100%{  width:100%; }
}
 