html, body, table { margin: 0; padding: 0; color: #1D1C1E; font-size: 11pt; font-weight: 400; }
::before, ::after { -webkit-box-sizing: inherit; box-sizing: inherit; }
body::before { content: ""; display: block; width: 100%; height: 100%; position: fixed; -webkit-transform: translateZ(0); transform: translateZ(0); z-index: -1; }

menu, article, aside, details, footer, header, nav, section { display: block; }

img { border: 0; }
@font-face {
    font-family: "planer";
    src: url("../fonts/Planer-Regular-webfont.ttf");
}
body::before { content: ""; display: block; width: 100%; height: 100%; position: fixed; -webkit-transform: translateZ(0); transform: translateZ(0); z-index: -1; }
/**** CSS CLASSES ****/
.font {font-family:verdana,arial,helvetica,trebuchet,sans;}
.font.nano {font-size:7pt;}
.font.small {font-size:8pt;}
.font.normal {font-size:9pt;}
.font.large {font-size:10pt;}
.font.big {font-size:12pt;}
.font.huge {font-size:15pt;}
.font.bold {font-weight:bold;}
.font.nobold {font-weight:normal;}
.font.italic {font-style:italic;}
.font.noitalic {font-style:normal;}
.font.justify {text-align:justify;}

.fontCustom { font-family:planer,arial,serif; }

.center {margin-left:auto; margin-right:auto;}
.right {margin-left:auto; margin-right:0;}
.left {margin-left:0; margin-right:auto;}
.textright {text-align:right;}
.textleft {text-align:left;}
.textcenter {text-align:center;}
.fright {float:right;}
.fleft {float:left;}
.clear {clear:both;}
.vtop {vertical-align:top}
.vmiddle {vertical-align:middle}
.vbottom {vertical-align:bottom}
.nowrap {white-space:nowrap}

.inline {display:inline;}
.inlineblock {display:inline-block;}
.hidden {visibility:hidden; display:none;}
.visible {visibility:visible;}
.link {cursor:pointer;}
.sucess {color:#5A9C33;}
.error {color:#ff3c3c;}
.required {font-weight:bold;} /* Zend_Form auto class required fields */
.doublebr {padding: 5px;} /* To use in Zend_Form decorators to put some whitespace between fields */
.errors {display:none;visibility:hidden;}
.errorField {
    border: 2px solid #EF5F4E;
}

#layoutLogin {
    background: rgba(27, 99, 119, 1);
    color: #98c5d5;
    border: 1px solid rgba(255, 255, 255, 0.3);
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
    position:fixed;
    top:53px;
    right:45px;
    padding:10px;
    padding-top:20px;
    -webkit-box-shadow: inset 1px 1px 1px 0px rgba(200, 200, 200, 0.5);
    -moz-box-shadow: inset 1px 1px 1px 0px rgba(200, 200, 200, 0.5);
    box-shadow: inset 1px 1px 1px 0px rgba(200, 200, 200, 0.5);
}
#layoutLogin table {
    padding:0;
    margin:0;
    border-spacing:0;
}
#layoutLogin a {
    color:#FFC261;
    text-decoration:none;
}
#layoutLogin .hr {
    height:1px;
    border-top:1px solid #0F4E62;
    border-bottom:1px solid #266F87;
    margin:10px;
    margin-top:20px;
}
#layoutLogin .text {
    margin-left:5px;
    margin-top:10px;
    margin-bottom:10px;
}
#layoutLogin .loginError {
    margin-left:10px;
    color:#FF7174;
}
#formLogin {
    margin:0;
    padding:0;
}
#formLogin dt {
    display:none;
}
#formLogin dd {
    padding:0;
    margin:0;
}
#formLogin .field {
    background-color: transparent;
	height: 25px;
	color: #7496A2;

    margin-left:5px;
    margin-right:10px;
    width:220px;
    margin-bottom:10px;
    padding-left:30px;
    font-weight: 200;
    font-family:helvetica, arial, serif;
    font-style:italic;
    border-width: 0;
    border-bottom-width: 0px;
    border-bottom-width: 0px;
    border-bottom: 1px solid #BBB;
    color: #FFF;
    font-size: 11pt;
}
#formLogin .field.border {
    border: 1px solid rgba(200, 200, 200, 0.3);
}
#formLogin input#email_login {
    background-image: url('../images/default/icon_email.png');
    background-repeat:no-repeat;
    background-position:8px center;
}
#formLogin input#password_login {
    background-image: url('../images/default/icon_password.png');
    background-repeat:no-repeat;
    background-position:8px center;
}
#formLogin #submit_login {
    margin:0;
    display: inline-block;
    line-height: 18pt;
    text-align: center;
    font-size: 11pt;
    color: rgba(255, 255, 255, 1);
    font-weight: 200;
    border: 2px solid rgba(255, 255, 255, 1);
    background-color: rgba(200, 200, 200, 0.4);
    text-transform: none;
    padding: 5px 20px;
    text-decoration: none;
    transition: all 0.4s linear;
    border-radius: 3em;
    margin-bottom: 10px;
}
#formLogin #submit_login:hover {
    background-color: rgba(200, 200, 200, 0.15);
}
#formLogin .nano { font-size: 8pt; }



#myslide { box-shadow: 0 -1px 10px #1D1C1E; }
.section { background-color: #FFF; font-family: planer,arial,serif; padding: 50px 0; /* box-shadow: 0 -1px 10px #1D1C1E; */ }
.section.bg {
	background: #1b6377;
	background-image: url('../../images/default/app/header.jpg');
	background-size: cover;
	background-position: center center;
}
.section h1::after {
    content: url('../images/default/app/line.png');
	margin-left: 40px;
}
.section h1::before {
    content: url('../images/default/app/line.png');
    margin-right: 40px;
}
.section h1 {
	font-family: planer,arial,serif;
    display: inline-block;
    font-size: 22pt;
    color: #185063;
    font-weight: 400;
    margin: 50px 0;
    text-transform: uppercase;
}
.section.bg h1 { color: #FFFFFF; }
.section h2 { color: #666666; font-size: 14pt; font-weight: 600; margin: 30px 0 5px 0; }
.section ul { padding: 0; padding-left: 15px; margin: 0; list-style: circle; }

.title { font-size: 12pt; color: 666666; }
.grid { position: relative; max-width: 90%; margin: 0 auto; padding: 0; }
.flex { display: flex; justify-content: space-between; flex-wrap: wrap; }
.flex .col2 { width: 45%; text-align: justify;  }
.flex .col3 { width: 28%;  }


#layoutLang { display: inline-block; text-transform: uppercase; position: fixed; top: 65px; right: 0; z-index: 1004; font-family: planer,arial,serif; margin: 0; padding: 0; background-color: #1b6377; font-size: 12pt; }
#layoutLang:hover { margin: 0; padding: 0; font-size: 12pt; }
#layoutLang label { display: block; min-width: 20px; position: relative; padding: 10px; font-size: 12pt; color: #FFFFFF; background: rgba(255, 255, 255, 0.2); margin: 0; cursor: pointer; }
#layoutLang a { display: none; min-width: 20px; padding: 10px; font-size: 12pt; color: #e3e3e3; background: rgba(255, 255, 255, 0); margin: 0; text-decoration: none; }
#layoutLang a:hover { background: rgba(255, 255, 255, 0.15); color: #FAD581; }
#layoutLang label .fa-sort-desc { display: block; position: absolute; left: 16px; bottom: 1px; font-size: 10pt; }
#layoutLang label .fa-sort-asc { display: none; position: absolute; left: 16px; bottom: -4px; font-size: 10pt; }
#layoutLang:hover label .fa-sort-asc { display: inline-block; }
#layoutLang:hover label .fa-sort-desc { display: none; }
#layoutLang:hover a { display: block; }

.mainmenu {
    height: auto;
    position: absolute;
    top: 0;
    width: 100%;
    overflow: hidden;
    z-index: 1002;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    font-family: planer,arial,serif;
	background: rgba(27, 99, 119, 0.95);
}
.mainmenu .grid {
	padding: 0;
	max-width: 96%;
	min-height: 60px;
	margin: 0 auto;
	align-items: center;
}
.mainmenu.is-sticky {
    position: fixed;
    top: 0;
	box-shadow: 0 1px 1px rgba(255, 255, 255, 0.1);
    opacity: 1;
}
#layoutAdmin { position: absolute; top: 55px; right: 2%; display: inline-block; z-index: 1003; height: auto;
    overflow: hidden;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
	background: rgba(27, 99, 119, 0.95);
	border-radius: 5px;
}
.nav_menu { float: right; display: inline-block; margin-top: 20px; margin-bottom: 2px; font-family: planer,arial,serif; }
.nav_menu ul { margin: 0; }
.nav_menu .nav1 { display: inline-block; width: calc(50% - 50px); }
.nav_menu .nav2 { display: inline-block; width: calc(49% - 50px); }
.nav__list {
    list-style: none;
    padding: 0;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-around;
}
.nav__list-item { min-height: 1.5em; color: #ffffff; }
.nav_menu a { text-decoration: none; color: #FFFFFF; font-size: 12pt; text-transform: uppercase; padding: 5px 10px; border-bottom: 2px solid rgba(255, 255, 255, 0); transition: color 0.6s; }
.nav_menu label { color: #FFFFFF; font-size: 12pt; text-transform: uppercase; padding: 5px 10px; border-bottom: 2px solid rgba(255, 255, 255, 0); transition: color 0.6s; }
.nav_menu a.active { color: #FAD581; }
.nav_menu a:hover, .nav_menu label:hover { color: #FAD581; }
.nav_menu a.logout, .nav_menu a.login, .nav_menu label.login { color: #cccccc; }
.nav_menu a.logout:hover { color: #cc3333; }
.nav_menu a.login:hover, .nav_menu label.login:hover { color: #FAD581; }

#layoutAdmin .nav_menu { margin-top: 2px; margin-bottom: 2px; }
#layoutAdmin .nav_menu a { text-transform: none; font-size: 9pt; }

/* LOGO */
.logomini img {  max-height: 50px; margin: 10px 0 0; padding: 0; }
.logo_place { display: inline-block; width: 100px; }


#nav-icon {
	display: none;
	float: right;
    width: 36px;
	height: 20px;
	position: relative;
	margin-top: 20px;
	margin-right: 15px;
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-o-transform: rotate(0deg);
	transform: rotate(0deg);
	-webkit-transition: .5s ease-in-out;
	-moz-transition: .5s ease-in-out;
	-o-transition: .5s ease-in-out;
	transition: .5s ease-in-out;
	cursor: pointer;
}
#nav-icon::after { clear: both; }
#menu_label {
	display: none;
	position: absolute;
	right: 60px;
	top: 22px;
	font-family: "planer";
	color: #ffffff;
	font-size: 12pt;
	font-weight: 400;
}
#nav-icon span {
  display: block;
  position: absolute;
  height: 4px;
  width: 100%;
  background: #ffffff;
  border-radius: 6px;
  opacity: 1;
  left: 0;
  will-change: transform;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}
#nav-icon span:nth-child(1) {
  top: 0px;
  will-change: transform;
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
}
#nav-icon span:nth-child(2) {
  top: 10px;
  will-change: transform;
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
}
#nav-icon span:nth-child(3) {
  top: 20px;
  will-change: transform;
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
}
#nav-icon.open span:nth-child(1) {
	will-change: transform;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
  top: -3px;
  left: 4px;
}
#nav-icon.open span:nth-child(2) {
  width: 0%;
  opacity: 0;
}
#nav-icon.open span:nth-child(3) {
	will-change: transform;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
  top: 22px;
  left: 4px;
}
.myslide {
    display: table;
    width: 100%;
    height: 100%;
    position: relative;
    text-align: center;
    min-height: 100vh;
    font-family: planer,arial,serif;
    letter-spacing: 2px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
	background-color: rgba(0, 0, 0, 0.1);
}

.myslide__info {
    display: table-cell;
    margin: 0;
	margin-right: 10%;
    padding: 0;
    vertical-align: middle;
	text-align: right;
    width: 100%;
	color: #FFFFFF;
	opacity: 0;
	transition: all 4s linear;
}
.myslide__info h1 {
	font-family: planer,arial,serif;
	font-size: 36pt;
}
.myslide__info p {
	/*max-width: 60%;*/
	font-size: 20pt;
	line-height: 36pt;
	color: rgba(255, 255, 255, 0.8);
	font-weight: 200;
}
.myslide__info p .button {
    display:inline-block;
	font-size: 14pt;
	line-height: 26pt;
	color: rgba(255, 255, 255, 0.8);
	font-weight: 200;
	border: 2px solid rgba(255, 255, 255, 0.8);
	background-color: #1b6377;
	text-transform: none;
	padding: 5px 20px;
	text-decoration: none;
	transition: all 0.4s linear;
	border-radius: 3em;
}
.myslide__info p .button:hover {
	color: #1b6377;
	border: 2px solid rgba(255, 255, 255, 0.8);
	background-color: rgba(255, 255, 255, 0.8);
}
.myslide__info a.button, .myslide__info a.button2 { margin: 5px !important; }

.myslide__buttons {
	position: absolute;
	display: block;
	margin: 0;
	width: 100%;
	left: 0;
	bottom: 50px;
	text-align: center;
	z-index: 1001;
}
.myslide__buttons span {
	display: inline-block;
	width: 20px;
	height: 20px;
	margin: 2px;
	cursor: pointer;
	background-color: transparent;
	border: 1px solid rgba(255, 255, 255, 0.6);
	box-shadow: 0 1px 1px rgba(0, 0, 0, 0.6);
}
.myslide__buttons span:hover { background-color: #FFFFFF; opacity: 0.6; }
.myslide__buttons span.active { background-color: rgba(255, 255, 255, 0.8); border-color: rgba(255, 255, 255, 0.8); }
.myslide__direction { position: absolute; display: block; padding: 40px 20px; color: rgba(255, 255, 255, 0.6); top: calc(50% - 40px); cursor: pointer; }
.myslide__direction i {font-size: 50pt;}
.myslide__direction:hover { color: rgba(255, 255, 255, 0.4); }
.myslide__direction.previous { left: 0; }
.myslide__direction.next { right: 0; }

#services .service { opacity: 0; transition: 0.6s linear; position: relative; padding-left: 80px; }
#services .service img { position: absolute; width: 60px; height: 60px; top: 5px; left: 0; }


#prices .price-table { opacity: 0; transition: all 0.6s linear; width: 360px; max-width: 30%; background: #1b6377; border-radius: 20px; display: inline-block; margin: 0 8% 20px 8%; color: #FFFFFF; vertical-align: top;  }
#prices .price-mode { margin-top: 22px; width: 90%; padding: 5px 15px 5px 1px; background: #FFFFFF; color: #1b6377; text-align: right; border-top-right-radius: 20px; border-bottom-right-radius: 20px; font-size: 120%; }
#prices .price-title { margin: 22px 5% 0 5%; width: 90%; text-align: center; }
#prices .price-items { min-height: 168px; margin: 22px 5% 0 5%; width: 90%; text-align: left; }
#prices .price-value { margin: 22px 5% 22px 5%; width: 90%; text-align: center; font-size: 160%; font-weight: 400; }

.platforms { text-align: center; }
.platforms h2 { color: #FFFFFF; font-weight: 400;  }
.platforms a.button {
	display: inline-block;
	line-height: 16pt;
	text-align: center;
	font-size: 12pt;
	color: rgba(255, 255, 255, 1);
	font-weight: 200;
	border: 2px solid rgba(255, 255, 255, 1);
	background-color: transparent;
	text-transform: none;
	padding: 5px 20px;
	text-decoration: none;
	transition: all 0.4s linear;
	border-radius: 3em;
	margin: 0 10px;
}
.platforms a.button:hover {
	background-color: rgba(200, 200, 200, 0.4);
}
.platforms a i { margin-top: 5px; }
.platforms a b { font-weight: 600; }

a.button2 {
	display: inline-block;
	line-height: 26pt;
	text-align: center;
	font-size: 14pt;
	color: rgba(255, 255, 255, 1);
	font-weight: 200;
	border: 2px solid rgba(255, 255, 255, 1);
	background-color: rgba(200, 200, 200, 0.4);
	text-transform: none;
	padding: 5px 20px;
	text-decoration: none;
	transition: all 0.4s linear;
	border-radius: 3em;
	margin: 0 10px;
}
a.button2:hover {
	background-color: rgba(200, 200, 200, 0.1);
}
#app h3 { color: #FFFFFF; text-align: center; font-size: 11pt; font-weight: 400; }

#events { min-height: 260px; }
#events .eventsItem { display: none; }
#events .eventsItem h2 { color: #FFFFFF; font-family: planer,arial,serif; font-size: 18pt; font-weight: 400; display: inline-block; }
#events .eventsItem .info i { color: #FFFFFF; font-size: 16pt; margin-right: 5px; margin-left: 30px; }
#events .eventsItem .info { color: #FFFFFF; font-family: planer,arial,serif; display: inline-block; margin: 20px 0; font-size: 11pt; line-height: 16pt; }
/*#events .eventsItem .info:last-child { display: block; margin: 0; }*/
#events .eventsItem .info a { color: #FAD581; font-size: 11pt; }

footer {
	font-family: planer,arial,serif;
	color: #FFFFFF;
    background: #0B4B59;
        background-image: none;
        background-position-x: 0%;
        background-position-y: 0%;
        background-size: auto auto;
    background-image: url('../images/default/header.jpg');
    background-size: cover;
    background-position: center center;
    padding: 30px 0;
    text-align: center;
}
footer img.logo{
    max-width: 100px;
}
footer a { color: #FFFFFF; text-decoration: none; }

#contacts .phones { display: inline-block; margin-left: 0; text-align: right; font-family: planer,arial,serif; font-size: 14pt; color: #185063; }
#contacts .grid { background-image: url(../images/default/contacts.jpg); background-repeat: no-repeat; background-position: bottom right; background-size: 30% auto; }
#contacts #formContact { text-align: left; }
#contacts input[type="text"], textarea {
    width: 90%;
    max-width: 500px;
    display: block;
    background: #ffffff;
    border-width: 0;
        border-bottom-width: 0px;
    border-bottom: 1px solid #BBB;
    color: #999;
    padding: 5px 0;
    margin: 30px 0 10px 0;
	height: 30px;
	font-size: 11pt;
}
#contacts dt { display: none; }
#contacts dd { margin: 0; padding: 0; }
#contacts input[type="submit"] {
	font-size: 10pt;
	line-height: 16pt;
	color: #FFFFFF;
	font-weight: 200;
	border: 2px solid #1b6377;
	background-color: #1b6377;
	text-transform: none;
	padding: 5px 20px;
	text-decoration: none;
	transition: all 0.4s linear;
	border-radius: 3em;
	margin-top: 30px;
}
#contacts input[type="submit"]:hover {
	color: #1b6377;
	background-color: rgba(200, 200, 200, 0.4);
}
#contacts .errorField { border-top-width: 0 !important; border-left-width: 0 !important; border-right-width: 0 !important; border-bottom: 2px solid #EF5F4E !important; }
#contacts #validate-label, #contacts #validate-element { display: inline-block; }
#contacts #validate-element { margin-left: 10px; width: 80px; }

@media only screen and (max-width: 1280px) {
	.flex .col2, .flex .col3 { width: 46% !important; }
}
@media only screen and (max-width: 1060px) {
    .mainmenu.is-sticky {
        position: absolute;
    }
	.nav_menu { clear: both; display: none; }
	#menu_label { display: inline-block; }
	.nav_menu { width: 100%; min-height: calc(100vh - 60px); top: 60px; left: 0; margin: 0; background: rgba(27, 99, 119, 0.95); }
	.nav_menu .nav1, .nav_menu .nav2 { display: block; width: 100%; }
	.mainmenu .grid { display: block; }
	.logomini { display: inline-block; }
	#nav-icon { display: inline-block; }
	.nav__list { display: block; }
	.nav__list-item { display: block; text-align: center; border-top: 1px solid rgba(255, 255, 255, 0.05); }
	.nav__list-item a { display: block; padding: 15px; width: 100%; }
}

@media only screen and (max-width: 960px) {
	.flex .col2, .flex .col3 { width: 99% !important; }
	#myModal { position: absolute; }
	.grid { max-width: 90%; }
	.myslide__info h1 { font-size: 22pt; margin-top: 50px; position:  }
	.myslide__info p { max-width: 80%;	font-size: 16pt; line-height: 26pt;	}
	.myslide__direction { padding: 20px 10px; top: calc(50% - 20px); }
	.myslide__direction i { font-size: 36pt; }
	.myslide__buttons { display: none; }
    .section h1::after,  .section h1::before { display: none; }
    .section h1 { font-size: 18pt; }
    #prices .price-table { width: 90%; max-width: 360px; margin: 0 auto 20px 8%; }
    #layoutLogin { display: block; width: 100%; left: 0; top: 60px; }
    #layoutLogin table, #layoutLogin tbody, #layoutLogin tr, #layoutLogin td{ display: block; width: 100%; margin-top: 0 !important; margin-bottom: 0 !important; }
    #layoutLogin dd { text-align: center !important; }
    .nav__list-item label { display: block; padding: 15px 0; }
    .nav__list-item label, .nav__list-item a { margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
}
