input[type="search"],
* {	
	outline: none;
/*     specify CORE colors and search and replace them */
    outline-color: #3b62ae; /* links, main-color */
    outline-color: #474747; /* body, article text */
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;

}

.maincolor {
    color: #3b62ae;
}
	
/* ::selection {background: orange; color: white;} */

article, aside, details, div, figcaption, figure, footer, header, hgroup, nav, section {display: block;}

body, img, p, h1, h2, h3, h4, h5, h6, ul, ol, li, form, blockquote, dl, dt, dd, button, input {
	margin: 0;
	padding: 0;
}

a, a:hover, a:active, a:visited {text-decoration: none; outline: none !important;}
a {			color: #3b62ae;  }
a:hover {    text-decoration: underline;    }

.clear {
	clear:both;
	float: none !important;
}


html, body {
    height: 100%;
}

body {
	font-family: Arial, Tahoma, 'Fira Sans';
	font-size:62.5%; /*1em is 10px */
	margin-right: 0 !important;
    color: #474747;
}
#wrap {
    min-height: 100%;
}

#main {
    padding-bottom: 100px; /* must be equal to footer's height */
}

.center {
    display: block;
    float: none !important;
	max-width: 1300px;
	margin: 0 auto;
}

img {
	max-height: 100%;
	max-width: 100%;
}

ul { list-style-type: none;}


h1 {font-size:22px;}
h2 {font-size:21px;}
h3 {font-size:20px;}
h4 {font-size:19px;}
h5 {font-size:18px;}
h6 {font-size:17px;}


/* CMESSY-SPECIFIC STYLES */
.live-edit {
    position: relative;
    -webkit-transition: all 0.2s linear;
    -moz-transition: 	 all 0.2s linear;
    -o-transition: 	 all 0.2s linear;
    transition: 		 all 0.2s linear;
    min-height: 20px;
    
}
.live-edit:hover {    
    box-shadow:  0px 0px 0px 1px white,  0px 0px 0px 2px black, 0px 0px 0px 3px white;
    box-shadow:  0px 0px 0px 1px rgba(255, 255, 255, 0.8),  0px 0px 0px 2px black, 0px 0px 0px 3px rgba(255, 255, 255, 0.8);
    padding: 10px;
    margin: -10px;
    z-index: 2;
}
.live-edit > .live-edit-a {
    position: absolute;
    width: 30px;
    height: 0px;
    opacity: 0;
    overflow: hidden;
    background: #fff;
    top:-30px;
    right: -30px;
    z-index: 222;
    background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAABmJLR0QA/wD/AP+gvaeTAAAH10lEQVR4nO2da6gVVRiGn2NqlnrUJCKMjlJYUWiXH0XUj25mWXS/WFFWZmEhaReSCCoPgZlpZFCSBdHFyqiILEX0YEGetKQyhC5aRFgKgeblKEftx+fk9uyZ2Wtm1po9s+Z7YP04+8z+5pv9vrNmZq01a4GiKIqiKIpSOVpSfKcVGAOMBtqAY61mVFxmA5/nsJ8hwPPAXuCvA2UD8AvwG7AnhxxCaQPeBHYD+ytW2i38fiYMAdbE5LEDWApMB07JKScA7gN2xSTmc8lL/MHA6oS5rQWmAv1dJjYnYVI+lTzF/zpDnpuA+4E+thObnCGpspeyiF9bvgFOspXYCKDLUmJlKzMs/H4mDAI6Lee+GTjDRnJvWU6sLCVP8Vc5OobNwMgsyQ1GHjeaLYav4rcASxwfy2qgd9oExztOroglL/EDhgEfWco9qkxKm1y748SKVvIWv5brkcYeF8f1B9AvTVILHCVUxNJM8QOOARbj5vgeSJPQe46SKVopgvgBLcAU7De4rUmTTBUM8EiaHyYHRgEbsXuso6J21svRQRSddmBWDvsZQPJr8PfAeaQ8cyMYl/QLPtcAeT/n/4H0pSRtpj0C+AA7x/xZ0uR9NUAzG3k2ANcljHMY8ArZj3vbgVh1pG4oaMAMYKWj2GnpAr7MYT+DkEaes3t8PgJYBHyIdNxsMoi1F6k9tgCPZ8hpIDAc+NX0C1lrgBsyJFtmTJt3/wFuSxj7SYO4cSXRfYAaIDlp2vYXAEcm2EeWrvkpYQGr+hRgm6hqvxF3Ib2BJxtuPw14PeE+AoaFfagGyM5QoIPk4gechnTcXGKw7X5gIvBJiv0cFfahGiAbg4BPgdMzxhmAdAxdbrDtPuAO4KeM+4xF7wEa46I/fw9wk+H+RyI3kyZx1yADTo1RA8QzFBmQaVP8oHQD1xrmcRlSI8TF6yDFoFE1QDQuxQ/KTuB8w3zmxcTpIOWIYTVAOC6HcfUsW4ATDXLqD6wP+f5qZGRXKtQA9eRx5vcs6zA7g0/n0CF8Kwy/F4ka4FCaIX5Q3jbM8VksiQ9qgFryrPajyi0GefYH3iVDtV+LGkBo5plfW7YCx7k4QG0IimYosIzsjTw2aAVedhFYDRCOrRY+m4wDrrYdVA1QT9a2fZfMBfraDKgGOJQiVfthtAF32wyoBjhI0cUPeIJkYwhiUQMIRbzmR7ERi7qpAYp9ze/JcmTcwHZbAatugLJU+yDiX4l0FFmjygaovPhQXQOo+AeoogFU/BqqZgAVvwdVMoCKH0JVDKDiR1AFA6j4MfhuABW/AT4bQMU3wFcDqPiG+GiAMnXsfAVcg3vx+wITwv7hmwHK1rFzMTJ7h0v6IS+Thr536JMBtNqvpx/y0umYqA18MYCKX8/hyHQ0l8Zt5IMByiT+CvIVf2yjDctugLKJfwXuxe8DvIO8OdyQMhtAxa+nD7AQebIwoqwGUPHr6Y2c+aZzCwDlNICKX09v5CXSpBNRls4AKn49vZHlfVK9j1kmA6j49RyGLOZ5Y9oAZTGAil9PL+BVzCeVigxSdFT8egLxJ9gIVHS6Obi2XpFZhby961r8FmTK2DttBCuDAbYiM2afhayMWURWABfhvmOnBZhPxLy/aSiDAQLWIitpvEixaoO8znyQeYAm2gxYJgOAzPk/BbnObm5yLiDij8X9mQ/Snfuw7aBlM0DAYmQhpDwWgIgiEH9rTvtzskR8WQ0A8DdwATCzCfsOrvl5ie+MohigFem+vIdky9h0A48BU5E5c/NgFfkM48qFIhhgILKq1dXIHe4PJG/TngvcjMyW6ZK8q33nFMEAnwLn1vx9MrK40hLghARx3kdm0rI2eUIPvBMfimGAqFmxxyC1wXTMLwvLcDPQshMPxYdiGCCOI4BnEAFMa4NOxDy2aoIVwIV4KD4U3wABZwLfYt7r1QlchbQbZCGvtv2mURYDgDwpLAQeNdx+OXBvhv114tHdfhRlMgBIW/hM4CXMcn8DeCrFfryu9mspmwECJgOvYXZz+DTwcYLYlTjzA8pqAJCl0+YjtUIc+5BlWn82iNmJvEjh/ZkfUGYDgPSJzzPYbjsyWjbuprAy1X4tZTcAyOXgQYPt1iELMIdRqWq/Fh8MADAbaQBqxCzgix6fVa7ar8UXA/RClrkZ3mC7fcDtHGwk6sCTXr20+GIAkKVRF9J4QYXfkEtBB9LIs8NlUkXHJwOATAzxkMF2LyAthZUWH/wzAMjZfWqDbbrJZxhX4fHRAH2BBchbM0oDfDQAyKVgfLOTKAO+GgCgHZkpQ4nBZwO0IWMMlRh8NgDIM74Sg88G6ABubXYSRcdXA6zE85E8tkgyBt8VjbpzFYf4WgMohqgBKo4aoOKoASqOGqDiqAEqjhqg4qgBKo4aoOK4agk8x1HcKuPkN3VlgGmO4iqW0UtAxVEDVBw1QMVRA1ScKANU/oUJD/k37MMoA/zpMBGlOYRqGmWAHx0mojSHdWEfRg3HagW20PhFS6UcdAFHEzJ1XlQNsA2ZrVPxg0VEzJsYNyBzBLAefbum7HQh0+/+HvbPuMfAjWSbZ08pBpOIEN+UOcgSLVrKV54L0TMV9wG7CnBAWszKThy8F9mGrFK5uwAHqCW87EZmRz0+QsM60ryV04rMxj0aMUW/FDEUe3Qh8x59BywlosVPURRFURRFUf7nP+HGjIe+QGVnAAAAAElFTkSuQmCC') center center no-repeat #fff;
    background-size: 20px;
    -webkit-transition:  top 0.2s linear,opacity 0.2s linear,right 0.2s linear;
    -moz-transition: 	 top 0.2s linear,opacity 0.2s linear,right 0.2s linear;
    -o-transition: 	     top 0.2s linear,opacity 0.2s linear,right 0.2s linear;
    transition: 		 top 0.2s linear,opacity 0.2s linear,right 0.2s linear;    
}
.live-edit-missing {
    font: 100 14px/24px 'Arial';
    color: #666666;    
}

.live-edit:hover > .live-edit-a {
    height: 30px;
    opacity: 1;
    top:-10px;    
    right: -10px;
    box-shadow:  0px 0px 0px 1px white,  0px 0px 0px 2px black, 0px 0px 0px 3px white;
    cursor: pointer;    
}

.live-edit:hover > .live-edit-a:hover {
    box-shadow:  0px 0px 0px 2px white, 0px 0px 0px 3px black;
}








/* COOKIE CONSENT */
#cookies-consent-popup {
	background:#fff;
	padding:18px 20px;
	border:2px solid #474747;
	max-width:410px;
	display:inline-block;
	vertical-align:bottom;
	position:fixed;
	bottom:-160px;
	left:5px;
	z-index:3333;
}

#cookies-consent-popup p {
	font:400 14px/1.4 Arial;
	color:#474747;
}

#cookies-consent-popup .btn {
	cursor:pointer;
	background:#474747;
	border:0;
	font:400 14px/32px Arial;
	height:32px;
	display:inline-block;
	vertical-align:top;
	width:auto;
	margin:12px 10px 0 0;
	text-decoration:none!important;
	font-size:1.2em;
	line-height:32px;
	padding:0 10px;
	text-transform:none;
	color:#fff;
}

#cookies-consent-popup .darkbluebgr {
	background:#3b62ae;
	color:#fff;
	padding:0 10px;
	text-transform:none;
	margin-top:12px;
	line-height:32px;
}


/* ------------------------------------ GENERAL ------------------------------------- */

.right {
	float: right;
}

.left {
	float: left;
}

.no-border {  border: none !important;}
.no-right {   border-right: none !important;}
.no-left {    border-left: none !important;}
.no-bottom {    border-bottom: none !important;}
.no-top {    border-top: none !important;}

.text-left { text-align: left; }
.text-right { text-align: right; }
.text-center { text-align: center; }

.hidden {
    display: none;
}

.invisible {
   visibility: hidden; 
}

.visible480,
.visible600,
.visible767,
.visible860,
.visible920,
.visible1024,
.visible1080 {
    display: none;
}

.tabulation {
	display: inline-block;
	width: 10px;
}

.uppercase {
    text-transform: uppercase !important;
}

.relative {
    position: relative;
}



/* ERROR SUCCESS */
.error, .success, .warning, .note {
	position: relative;
	width: auto;
	margin: 20px 0px;
	padding: 10px 15px;
	font: 400 14px/18px Arial, Tahoma, sans-serif;
    color: #15172c;
}
#genpop.error .icon,
.bttn.error,
.error {	
    background: #fd8b8b;
}

#genpop.warning .icon,
.bttn.warning, 
.warning {	background: #fcdf8b;}

#genpop.success .icon,
.bttn.success, 
.success {	background: #9EE481;}

#genpop.note .icon,
.bttn.note, 
.note { 	background: #81C9E4;}

.warning ul, .note ul,
.error ul, .success ul {
	list-style-type: disc;
	padding-left: 20px;
}

.error a:hover, .success a:hover, .field-error a { text-decoration: underline; }

.error404 {
    width: 100%;
    font-size: 100%;
    max-width: 420px;
    margin: 0 auto;
    padding: 10% 0 15%;
    text-transform: uppercase;
}

.error404 div {
    font: 400 240px/240px Arial, Tahoma, sans-serif;;
    color: #474747;
}

.error404 p {
    color: #474747;
    font: 400 30px/42px Arial, Tahoma, sans-serif;
}

.error404 a {
    font: 400 17px/42px Arial, Tahoma, sans-serif;
}

._close {
	position: absolute;
	top: 15px;
	right: 20px;
	font-size: 2em;
	color: #000000;
}

._close:before,
._close:after {
    content: "";
    width: 25px;
    height: 3px;
    background: #474747;
    position: absolute;
    left: 0;right: 0;top:5px;bottom: 0;
    transform-origin: center center;
    transform: rotateZ(45deg);
    margin: 0;
}
._close:before{   transform: rotateZ(-45deg);}
._close {
    text-align: center;
    font-size: 30px;
    text-decoration: none;
    font-size: 0;
    width: 15px;
    height: 15px;
}
._close:hover:after,
._close:hover:before {
    background-color: #ff6800;
}

#genpop {
    background: #000;
    background: rgba(0, 0, 0, 0.7);
    position: fixed;
    top:0;
    left: 0;
    right: 0;
    height: 100%;
    z-index: 1000;
}
#genpop > div.bodyerror {
    max-width: 930px;
    min-height: 113px;
    background: #fff;
    margin: 0% auto;
    position: relative;
    top: 33%;
}
#genpop .icon {
    width: 40px;
    background-color: #fd8b8b;
    float: left;
    position: absolute;
    top: 0;
    bottom: 0;
    height: auto;
    left: 0;
}

#genpop .icon + div    {
    background: white;
    min-height: 73px;
    padding: 20px;
    margin-left: 40px;
}
#genpop h6 {
    font: bold 22px/22px Arial, Tahoma, sans-serif;
    color: #000;
    text-transform: uppercase;
    margin-bottom: 20px;
}
#genpop p {
    font: 400 14px/22px Arial, Tahoma, sans-serif;
    color: #474747;
}
body.overflow-hidden {
overflow: hidden;
}
._gclose {
    position: absolute;
    top: 15px;
    right: 15px;
    font-size: 2em;
    color: #474747;
    width: 26px;
    height: 26px;
    text-align: center;display: block;
    opacity: 0.8;
}
._gclose:hover {
    opacity: 1;
    text-decoration: none;
}





.icon {
    width: 30px;
    height: 30px;
    display: inline-block;
    vertical-align: top;
    background-repeat: no-repeat;
    background-color: transparent;
}

.social {
    margin: 20px 0;
    display: block;
}

.social a {
    display: inline-block;
    vertical-align: middle;
    width: 32px;
    height: 32px;
}

.social a._icon {
    background-image: url(../images/_social.png);
    background-repeat: no-repeat;
    font-size: 0;
}

.social a.socicon {
    font-size: 17px;
    color: #474747;
}

.social a.socicon.autosize {
    width: auto;
    height: auto;
}

.social a.socicon:hover {
    color: #3b62ae;
    text-decoration: none;
}

.social strong {
    display: block;
    font: bold 14px/22px 'Fira Sans';
    text-transform: uppercase;
}

.fb { background-position: 11px   7px; }
.gp { background-position: -25px  7px; }
.tw { background-position: -61px  7px; }
.ig { background-position: -97px  7px; }
.yt { background-position: -134px 7px; }
.em { background-position: -174px 7px; }

.fb:hover { background-position: 11px   -35px; }
.gp:hover { background-position: -25px  -35px; }
.tw:hover { background-position: -61px  -35px; }
.ig:hover { background-position: -97px  -35px; }
.yt:hover { background-position: -134px -35px; }
.em:hover { background-position: -174px -35px; }


/* INPUT types and FANCYFIELDS */

.grayscale {
    -webkit-filter: grayscale(1);
    -moz-filter: grayscale(1);
    filter: grayscale(1);
}

.noaction {
    pointer-events: none;
}

.halfpacity {
    opacity: 0.5;
}

.form-input {
    width: 33.33%;
    padding-right: 25px;
    margin-bottom: 25px;
    float: left;
}

.form-input.fullwidth {
    width: 100%;
}

.form-input.double {
    width: 66.666%;
}

.form-input.column {
    width: 50%;
}

label {
    display: block;
    font: 400 14px/16px Arial, Tahoma;
    padding: 7px 0;
    color: #474F4C;
}

input[type="submit"], button {
    border:0;
    background: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;

}

input[type="text"],input[type="email"],input[type="password"],input[type="data"], textarea, select {
    height: 40px;
    font: 400 17px/40px Arial, Tahoma;
    border: 1px solid #eee;
    color: #474747;
    border-radius: 0;
    padding: 0px 10px;
    width: 100%;
    box-shadow: 0;
    display: inline-block;
    background: 0;
    margin-bottom: 20px;
    background-color: #eee;
}
input[type="text"]:focus,input[type="email"]:focus,input[type="password"]:focus,input[type="data"]:focus, textarea:focus {
    border-color: #3b62ae !important;
}

textarea {
    height: 120px;
    resize: none;
    line-height: 22px;
    margin-bottom: 20px;  
    padding: 10px;  
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0;
}

[readonly],[disabled] {
    pointer-events: none !important;
    opacity: .2 !important;
}

[readonly] {
    opacity: .4 !important;
    background: 0 !important;
    border-color: #eee !important;
}

/*
.checkboxes input[type="checkbox"]:checked + .check,
.checkboxes input[type="checkbox"]:checked ~ .check {
    background: url(../images/_sprite.png) center -153px no-repeat;
}
*/
.checkboxes input[type="radio"]:checked + .check:before,
.checkboxes input[type="radio"]:checked ~ .check:before,
.checkboxes input[type="checkbox"]:checked + .check:before,
.checkboxes input[type="checkbox"]:checked ~ .check:before {
    content: "✓";
    color: #474747;  
}
.checkboxes input[type="radio"]:checked + .check:before,
.checkboxes input[type="radio"]:checked ~ .check:before {
    font-size: 0;
    width: 10px;
    height: 10px;
    background: #3b62ae;
    display: block;
    margin: auto;
    position: absolute;
    left: 0;right: 0;top:0;bottom: 0;
    
}

.checkboxes input[type="radio"],
.checkboxes input[type="checkbox"] {
    display: none;
}

.checkboxes label {
    padding-right: 10px;
    padding-left: 0;
    margin-bottom: 20px;
    float: left;
}
.checkboxes .check {
    width: 20px;
    height: 20px;
    background: #fff;
    border-width:1px;
    border-style: solid;
    display: inline-block;
    vertical-align: -5px;
    margin-right: 10px;
    float: left;
    position: relative;
    line-height: 20px;
    text-indent: -1px;
    text-align: center;
}
.checkboxes label span {
    display: block;
    margin-left: 30px;
    line-height: 20px;
    vertical-align: top;
}
.checkboxes input:checked ~ span,
.checkboxes label:hover span {
    color: #3b62ae;
}




/* article */
article, p, article p, article ul, article ol, .info {
    color: #474747;
    font: normal 16px/24px Arial;
}

article ul, article ol {
    list-style-position: inside;
}

article ul, article ol, article p {
    margin: 20px 0;
}
article ul {
    list-style-type: disc;
}

article ol { 
   list-style-type: decimal; 
   list-style-position: inside; 
}
article ul ul,
article ol ul { 
   list-style-type: circle; 
   list-style-position: inside; 
   margin-left: 15px; 
}
article ol ol,
article ul ol { 
   list-style-type: lower-latin; 
   list-style-position: inside; 
   margin-left: 15px; 
}



article a:hover {
    text-decoration: underline;
}

article h1,
article h2,
article h3,
article h4,
article h5,
article h6 {
    font-family: Arial;
    font-weight: 400;
    margin: 5px 0;
}

.arrange-left {
    width: 62%;
    float: left;
}
.arrange-right {
    float: right;
    width: 30%;
    box-shadow: -2px 0 0 #ececec;
    text-align: center;
	margin-top:-45px;
}
.arrange-right img {
    display: block;
    margin: 20px auto;
}

.page-top {
    background: #eee;
    font: 400 12px/22px 'Fira Sans';
    display: inline-block;
    vertical-align: middle;
    width: 100%;
    min-height: 110px;
    margin-bottom: 20px;
}

.breadcrumbs {
    padding-top: 15px;
}
.breadcrumbs:before {
    content: "";
    height: 1px;
    width: 75px;
    background: #b7b7b7;
    display: inline-block;
    vertical-align: 4px;
    margin-left: -88px;
    margin-right: 10px;
}
.breadcrumbs * {
    text-transform: uppercase;
    display: inline-block;
    vertical-align: top;
}

.breadcrumbs *+*:before {
    content: "";
    display: inline-block;
    vertical-align: middle;
/*     background: url(../images/_sprite.png) center -99px no-repeat; */
    width: 10px;
    height: 10px;
    margin:0 3px;    
}

.fbox-title,
.sectitle h2,
.pagetitle h1,
.sectitle,
.pagetitle {
    font: bold 22px/28px 'Fira Sans', 'Fira Sans';
    color: #3b62ae;
    text-transform: uppercase;
    padding: 35px 0 25px;
}

.sectitle h1,
.sectitle h2,
.pagetitle h1 {
    display: inline-block;
    vertical-align: top;
}

.sectitle {
    padding: 40px 0 20px;
    font-size: 26px;
    text-transform: uppercase;
}

.pagination {
    margin: 40px 0 50px;
}

.owl-dots > *,
.pagination > * {
    font: 400 18px/35px 'Fira Sans';
    color: #474747;
    display: inline-block;
    vertical-align: middle;
    min-width: 35px;
    min-height: 35px;
    text-align: center;
    padding: 0 5px;
    margin-right: 2px;
    border-radius: 30px;
    text-decoration: none !important;
}
.owl-dots {
    counter-reset: dots;
}
.owl-dot:before {
    counter-increment:dots;
    content: counter(dots);
}
.owl-dots > *.active,
.pagination > span,
.pagination > .active {
    background: #3b62ae;
    color: #fff;
}
.pagination > *:hover {
    box-shadow:  0 0 7px #474747;    
}



aside {
    float: left;
    width: 200px;
    margin-bottom: 40px;
}

aside + * {
    margin-left: 230px;
    display: block;
}

.owl-nav > *,
.bttn {
    display: inline-block;
    vertical-align: top;
    padding: 0 10px;
    min-width: 200px;
    font: 400 17px/40px 'Fira Sans';
    background-color: #474747;
    color: #fff;
    text-align: center;
}

.bttn:hover {
    text-decoration: none;
    box-shadow: inset 0 0 30px 30px rgba(0, 0, 0, 0.21);
}

.bttn.main {
    background-color: #3b62ae;
}

.bttn.secondary {
    background-color: #ccc;
}

.bttn.tertrary {
    background-color: #eeeeee;
    color: #000;
}

.owl-nav > div.disabled {
    opacity: .4;
}

.map-wrap img {
    width: auto;
    height: auto;
    max-width: unset;
    max-height: unset;
}


/*  END GENERAL */



/* ------------------------------------ HEADER ------------------------------------- */


header {
	top:0;
	width: 100%;
	z-index: 999;
	height: 100px;
}

#respmenu,
header label {
    display: none;
}

nav li.home a {
    font-size: 0;
    width: 30px;
}
nav li.home a:after,
nav li.home a:before {
    content: "";
    width: 100%;
    margin-left: -4px;
    background: url(../images/_sprite.png) center -149px no-repeat;
    height: 30px;
    position: absolute;
    top:0;bottom: 0;
    margin: auto;
    opacity: 1;
}

nav li.home a:after {
    background-position: center -108px;
    transform:translateY(-2px);
    opacity: 0;
}
nav li.home a:hover:before{opacity: 0;}
nav li.home a:hover:after {
    transform:translateY(0px);
    opacity: 1;
}

nav ul li {
    float: left;
    position: relative;
    margin-right: 20px;
}

nav ul li a {
    display: block;
    font:500 17px/100px 'Fira Sans';
    color: #1d1b59;
    text-transform: uppercase;
}

.header-bottom .right a:hover,
nav ul li.active a,
nav ul li a.active,
nav ul li a:hover {
    color: #ec1353;
    text-decoration: none;
}

.header-bottom {
    position: relative;
    left: 0;right: 0;top:0px;
    background: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.30);
    z-index: 999;
    height: 100px;
}

.fixed .header-bottom {
    top:0;
    position: fixed;
}

.header-bottom .right a {
    font: normal 15px/100px 'Fira Sans';
    color: #3b62ae;
    text-transform: uppercase;
    padding: 0 20px;
}

.header-bottom .right a:hover {
    text-decoration: none;
}

.logo {
    height: 100px;
    display: inline-block;
    vertical-align: top;
}

.logo img {
    position: relative;
    display: inline-block;
    vertical-align: middle;
}
.logo:after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    height: 100%;
}

.logo:hover img {
    top:-2px;
}

/* ------------------------------------ END HEADER ------------------------------------- */



/* ------------------------------------ FOOTER ------------------------------------- */


footer {
    background: #fff;
    position: relative;
    margin-top: -100px;
    height: 100px;
    clear: both;
}

.fbox-title {
    font-size: 17px;
}

.fbox {
    display: inline-block;
    vertical-align: top;
    padding-right: 20px;
}

.fbox li > a {
    font: 400 17px/22px 'Fira Sans';
    color: #474747;
}

.footer-bottom .left {
    padding: 35px 0 0;
    color: #777777;
    font: normal 13px/20px 'Fira Sans';
}

.footer-bottom .right {
    padding-top: 45px;
}

.footer-bottom .right a {
    font: normal 12px/24px 'Fira Sans';
    color: #777777;
}
/* ------------------------------------ END FOOTER ------------------------------------- */




.border-top {
    background: green;
    height: 6px;
    background: #39db8d;
    background: -moz-linear-gradient(left, #39db8d 0%, #3b62ae 72%, #3b62ae 72%);
    background: -webkit-linear-gradient(left, #39db8d 0%,#3b62ae 72%,#3b62ae 72%);
    background: linear-gradient(to right, #39db8d 0%,#3b62ae 72%,#3b62ae 72%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#39db8d', endColorstr='#3b62ae',GradientType=1 );
}

.heading {
    background: url(../images/top.jpg) center top no-repeat;
    padding: 30px 0;
    position: relative;
}

.heading .sectitle {
    font-size: 30px;
    font-weight: 500;
    color: #fff;
    text-transform: uppercase;
    margin: 0 0 20px;
    padding: 0;
}

.heading h1.pagetitle {
    font: 300 50px/55px 'Fira Sans';
    color: #fff;
    text-transform: none;
    margin: 0 0 0px;
    padding: 0;
}
.heading h3.pagetitle {
    font: 300 32px/45px 'Fira Sans';
    color: #fff;
    text-transform: none;
    margin: 15px 0 0px;
    padding: 0;
}

.spirit{ 
    width: 240px;
    text-align: center;
    display: inline-block;
}

.regbtn {
    display: inline-block;
}

.heading .column.left {
    width: 59%;
}
.heading .column.right {
    width: 41%;
    text-align: right;
    padding-top: 50px;
}

.dates {
    padding: 50px 0;
}

.dates .right {
    font: 100 20px/26px 'Fira Sans';
    color: #fff;
    float: none;

}
.dates .right strong {
    display: block;
    font-weight: 400;
    font-family: 'Fira Sans';
}
.dates .right div+div {
    margin-left: 8px;
    margin-right: 0;
}
.dates .right div {
    margin-top: 4px;
    margin-right: 35px;
    display: inline-block;
    vertical-align: top;
    padding-left: 90px;
    padding-top: 10px;
    position: relative;
}
.dates .right .icon {
    position: absolute;
    top:0px;
    left: 0;
    width: 70px;
    height: 70px;
    display: inline-block;
    vertical-align: top;
    background: url(../images/_sprite.png) center 17px no-repeat #fff;
    border-radius: 100px;
    float: left;
    margin-right: 10px;
}

.dates .right .icon.loc { background-position: center -37px; }

.regbtn:hover {
    text-decoration: none;
}
.regbtn * {
    position: relative;
    z-index: 2;
}
.regbtn {
    display: inline-block;
    vertical-align: top;
    width: 290px;
    height: 290px;
    position: relative;
    overflow: hidden;
    text-align: center;
}
.regbtn img {
    position: absolute;
    left: 0;right: 0;top:0;bottom: 0;
    z-index: 1;
}
.authors li a:hover,
.authors li a:hover img,
nav li.home a:before,
nav li.home a:after,
.regbtn:hover .icon-ticket,
.regbtn span,
.regbtn em,
.regbtn img,
.fx {
     -webkit-transition: all 0.2s linear;
     -moz-transition: 	 all 0.2s linear;
     -o-transition: 	 all 0.2s linear;
     transition: 		 all 0.2s linear;
}
.icon-ticket {
    width: 120px;
    display: block;
    margin: auto;
    height: 120px;
    background: url(../images/tickets.png) center top no-repeat;
    margin: 25px auto 30px;
}

.regbtn em.text-ticket {
    position: absolute;
    left: 0;right: 0;top:120px;
    color: #3b62ae;
    margin-top: 0;  
}

.regbtn:hover img {
    transform: rotate(180deg);
/*     filter: brightness(1000%); */
}

.regbtn sub {
    font-size: 18px;
    line-height: 1;
    display: block;
}
.regbtn:hover .icon-ticket {
    filter: brightness(1000%);    
}
.regbtn:hover em.text-ticket {
    color: #fff;
}

.regbtn:hover span,
.regbtn:hover em {
    color: #ed1453;
}

.regbtn em {
    font: normal 14px/16px 'Fira Sans';
    font-style: italic;
    color: #fff;
    display: block;
    margin-top: 10px;
}

.countdown {
    display: block;
    margin-top: -50px;    
}

.cd-text {
    font: normal 17px/26px 'Fira Sans';
    margin-bottom: 15px;
    color: #fff;
}

.cd-wrap {
    font: normal 14px/20px 'Fira Sans';
    color: #fff;
    display: block;
}

.cd {
    display: inline-block;
    vertical-align: top;
    text-align: center;
    margin-right: 30px;
}

.cd strong {
    font-size: 40px;
    font-weight: 500;
}

.cd span {
    display: block;
}

blockquote {
    background: url(../images/quotes.png) 0px 35px no-repeat;
    padding: 30px 30px 30px 80px;
    font: normal 17px/24px Arial;
    font-style: italic;
    color: #474747;
    margin: 10px 0 0;
    display: block;        
}

blockquote strong {
    font: 700 16px/22px Arial;
    color: #474747;
}


.em {
    font-style: italic;
    font-weight: 100;
}

article a {
    font-weight: bold;
    color: #ff6800;
}

.authors {
    background: #ebeff7;
}

.authors ul {
    display: inline-block;
    vertical-align: top;
    width: 100%;
}
.authors li {
    width: 20%;
    float: left;
    margin-bottom: 50px;
}

.authors li div.left strong,
.authors li a {
    display: block;
    text-align: center;
    font: bold 15px/20px 'Fira Sans';
    color: #4562a8;
}

.authors li div.left strong,
.authors li a strong {
    height: 40px;
    display: block;
}

.authors li div.left + div {
    margin-left: 270px;
    overflow: auto;
}

.authors li article {
    padding: 30px 40px 40px 0px;
}

.authors li div.left {
    margin-right: 30px;
    padding: 10px 20px 20px;
}
.authors li img {
    margin: 0px auto 18px;
    width: 200px;
    height: 200px;
    border: 4px solid #e1e1e1;
    display: block;
    border-radius: 300px;
    overflow: hidden;
    object-fit:cover;
}
.authors li div.left img {
    border: 0;
}
.authors li a:hover img {
    border-color:#ff6800;
}
.authors li a:hover {
    color: #ff6800;
    text-decoration: none;
}

body.pop {
    overflow: hidden;
}

.popupoverlay {
    background: #000;
    background: rgba(0, 0, 0, 0.76);
    position: fixed;
    left: 0;top:0;width: 0;height: 0;
    z-index: 10001;
    overflow: hidden;
     -webkit-transition: opacity 0.2s linear;
     -moz-transition: 	 opacity 0.2s linear;
     -o-transition: 	 opacity 0.2s linear;
     transition: 		 opacity 0.2s linear;
    opacity: 0;
}

body.pop .popupoverlay {
    left: 0;right: 0;top:0;bottom: 0;
    width: auto;height: auto;
    opacity: 1;
}

body.pop .popped {
    display: block !important;
    position: fixed;
    width: 90%;
    max-width: 1000px;
    min-height: 200px;
    height: 70%;
    height: 70vh;
    left: 0;right: 0;top:20%;
    margin: auto;    
    background: #fff;
    z-index: 10002;    
}

body.pop .popped article,
.authors li div.left + div {
    height: 100%;
}

.p-title,
.p-time {
    font: bold 14px/28px 'PT Sans';
    color: #3b62ae;
    display: block;
}

.p-title {
    font-size: 20px;
}

.program-day {
    border: 4px solid #3b62ae;
    margin-bottom: 50px;
    padding-bottom: 20px;
}

.program-day:nth-child(2n){
    border-color: #d8e0ef;
}
.program-day:nth-child(2n) .p-head {
    background: #d8e0ef;
    color: #3b62ae;
}

.p-head {
    background: #3b62ae;
    color: #ececec;
    font: bold 17px/22px 'PT Sans';
    padding: 19px 20px;
    text-transform: uppercase;
    display: block;
    margin: 0;
}

.p-event {
    padding: 10px 20px;
    margin: 10px 0 0;
    font: normal 14px/22px 'PT Sans';
    color: #474747;
}
.program-table .p-title {
    border-bottom: 1px solid #d8e0ef;
    padding-bottom: 5px;
    margin-bottom: 5px;
}

.registration-block {
    margin-bottom: 20px;
}

.registration-block .column {
    width: 48%;
    float: left;
}

.registration-block .column+.column {
    float: right;
}

.registration-block article p {
    font-size: 14px;
}

#map img {
    max-width: 1000px;;
    max-height: 1000px;
    max-width: unset;
    max-height: unset;
}

#map-wrap {
    position: relative;
    height: 420px;
    background: url(../images/map.jpg) center top no-repeat;
}

#map-wrap .center {
    z-index: 2;
    position: relative;
}

#map {
    height: 100%;
    position: absolute;
    left: 0;right: 0;top:0;bottom: 0;
    z-index: 1;
}
.contact:hover {
    text-decoration: none;
}
.contact {
    background: #3b62ae;
    padding: 30px;
    color: #fff;
    position: absolute;
    right: 140px;
    top:110px;
    height: 200px;    
}

.contact p {
    color: #fff;
}

.contact h3 {
    font: normal 18px/24px 'Fira Sans';
    margin-bottom: 25px;
}

/* ---- Templates Preview ---- */
#templates-preview .templatenav {
	position: fixed;
	top: 12px;
	left: 12px;
	background-color: #3b62ae;
	border: 1px solid #3b62ae;
	color: #474747;
	padding: 0px;
	margin-bottom: 10px;	
	z-index: 98710;
	text-align: left;
	opacity: 1;
	font-size: 11px;
	width: 10px;
	height: 10px;
	overflow: hidden;
	text-indent: -9999px;
	line-height: 20px;	
}
#templates-preview .templatenav:hover {
	opacity: 1; 
	width: auto; 
	height: auto; 
	padding: 10px; 
	text-indent: 0; 
	cursor: help;
	background: #fff;
}

.templatenav a {
	color: #474747;
    font: 400 14px/18px 'Fira Sans';
    padding: 5px 0;
    display: block;
    vertical-align: middle;
}

.templatenav a:hover,
#templates-preview .templatenav a:hover {
	color: #3b62ae;
	text-decoration: underline;
}
.registration-block ul {
	margin:0p;
	padding:0;
}
.registration-block ul li {
	list-style:none;
	margin:0p;
	padding:0;
}
.btnPop {
	display:block;
	line-height:50px;
	background-color:#3b62ae;
	color:#FFFFFF;
	text-align:center;
	font-size:18px;
	text-transform:uppercase;
	border:1px solid #3b62ae;
}
.btnPop:hover {
	background-color:#FFFFFF;
	color:#3b62ae;
	text-decoration:none;
}
.authors li article {
    padding: 30px 40px 40px 0px;
}
.Donate {
	padding:20px;}
.Donate .left {
	display:none;
}
.Donate div.left + div {
    overflow: auto;
	height: 100%;
	margin-right:20px;
}
/*

@media screen and (max-width:1024px) {
	body > *, #index {
		width: 1000px;
		padding: 0 20px;
	}
}
*/






/* vvvvvvvvvvvvvv < MEDIA QUERIES > vvvvvvvvvv */



@media screen and (max-width:1340px) {
    .center {
        padding: 0 10px;
    }
    .spirit {
        width: 180px;
    }
    .dates .right div {
        display: block;
        margin-left: 0 !important;
        margin-bottom: 20px;
    }
    .heading {
        background-size: cover;
    }
    .countdown {
        margin-top: 0;
    }
    .heading .column.right,
    .heading .column.left {
        width: 50% !important;
    }
}

@media screen and (max-width:1160px) {
    .registration-block .column {
        width: 100%;
    }
}


@media screen and (max-width:1080px) {
    nav ul li {
        margin-right: 10px;
    }
    .arrange-right {
        padding-left: 10px;
    }
    .authors li {
        width: 25%;
    }
}

@media screen and (max-width:1024px) {
    nav li.home a {
        line-height: 50px;
    }
    .header-bottom {
        height: 50px;
    }
    nav li.home ~ li {
        display: none;
    }
    .header-bottom .right a {
        line-height: 50px;
        padding: 5px 10px;
    }
    .header-bottom .right a.logo {
        height: 45px;
        padding-top: 0;
    }
    header {
        height: 50px;
    }
    .footer-bottom .right {
        display: block;
        clear: both;
        padding-top: 0;
        float: none;
    }
    footer {
        margin-top: 0;
        height: auto;
        padding-bottom: 20px;
    }
    #main {
        padding-bottom: 0;
    }
    
}

@media screen and (max-width:980px) {
    .spirit {
        position: absolute;
        top:160px;
        right: 20px;
        width: 320px;
    }    
    .heading .column.right, .heading .column.left {
        width: 100% !important;
    }
    .heading .column.right{text-align: center;padding-top: 0;}
    .countdown {text-align: center;}
    .cd-wrap {
        display: inline-block;
    }
}


@media screen and (max-width:920px) { 
}


@media screen and (max-width:860px) { 
    .authors li {
        width: 33.3333%;
    }
    
}

@media screen and (max-width:768px) {
    .arrange-left,
    .arrange-right {
        width: auto;
        display: block;
        box-shadow: none;
        padding-left: 0px;
        padding-right: 0px;
        display: block;
        float: none;
    }
    #map-wrap {
        height: 240px;
    }
    #map {
        display: none;
    }
    .contact {
        position: absolute;
        left: 0;right: 20%;top:0;bottom: 0;
        width: auto;
        height: auto;
    }
    #map-wrap .center {
        position: static;
    }
}

@media screen and (max-width:746px) { 
}

@media screen and (max-width:680px) {
    .heading h1.pagetitle {
        font-size: 40px;
        line-height: 42px;
        width: 79%;
    }
    .spirit {
        width: 20%;
        right: 1%;
        top:1%;
    }
    .dates .right strong {
        font-size: 17px;
        line-height: 20px;
    }
    .header-bottom .right a {
        font-size: 0;
    }
}

@media screen and (max-width:650px) {
    .authors li {
        width: 50%;
    }
	.authors li div.left {
    	display: block;
    	float: none;
    	margin-right: 0;
	}
	.authors li article {
    	padding-right: 0;
	}
	.authors li div.left + div {
    	margin-left: 0;
    	padding: 0 20px;
	}

    body.pop .popped article, .authors li div.left + div {
        height: auto;
    }
	body.pop .popped {
    	overflow: auto;
    	height: 70% !important;
    	height: 70vh !important;
	}
	    .registration-block iframe {
    	    height: 920px !important;
	    }
	    #registration .center {
    	    padding: 0 5px;
	    }
}

@media screen and (max-width:480px) {
    .cd {
        margin-right: 10px;
    }
    blockquote {
        padding-left: 20px;
        padding-top: 90px;
    }
    .authors li {
        width: 100%;
    }
    
}


@media screen and (max-width:450px) {
}

@media screen and (max-width:410px) {
}

@media screen and (max-width:390px) {

}

@media screen and (max-width:360px) {

}


@media screen and (max-width:320px) {

}


@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {

}

@media all and (orientation: portrait) {

}

@media all and (orientation: landscape) {
	
}


@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : landscape) { /*ipads*/

}

@media screen and (min-width:0\0) { 
    /* Enter ~~~IE 9 10 11CSS here */
}



