body,html{
    height: 100%;
    min-height: 100%;	
}
body{
    position: relative;
    font-family: 'PT Sans', sans-serif;
    font-size: 14px;
    color: #2e3192;
    line-height: 1;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top left;
}
body.font16{
    font-size: 16px;
}
body.font18{
    font-size: 18px;
}
body.font20{
    font-size: 20px;
}
body.font22{
    font-size: 22px;
}
*{
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
}
a {
    text-decoration: none;
    color: inherit;
}
strong{
	font-weight: bold;
}
.desc ul{
    list-style: disc;
}
/* GRID */
.block:before, .block:after {
    content: "";
    display: table;
}
.block:after {
    clear: both;
}
.row {
    margin: 0px -25px 0px;
}
.row:before, .row:after {
    content: "";
    display: table;
}
.row:after {
    clear: both;
}
.col{
    float: left;
    display: block;
    padding: 0 25px;
}
.col-5{
	width: 20%;
}
.col-4{
    width: 25%;
}
.col-3{
    width: 33.3333%;
}
.col-2{
    width: 50%;
}
.col-1{
    width: 100%;
}
.valign:before{
    content: '';
    width: 0px;
    vertical-align: middle;
    display: inline-block;
    height: 100%;
}
.valigned{	
    vertical-align: middle;
    display: inline-block;	
}
/* HEADER */
header{
    padding-top: 25px;
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
}
header .header-inner,
header #language-bar{
    float: left;
}
header #logo{
    display: block;
    float: left;
    width: 243px;
    height: 113px;
    overflow: hidden;
    background: url('images/logo.png') no-repeat;
}
header #logo h1,
header #logo h2{
    text-indent: -9999px;
}
header #page-logo{
    position: absolute;
    top: 0px;
    right: 50px;
    bottom: 0px;
}
header #page-logo span{
    vertical-align: middle;
    font-size: 24px;
    text-transform: uppercase;
    color: #fff;
}
header #page-logo img{
    vertical-align: middle;
    margin-left: 10px;
}
.site.index header #page-logo span{
    display: none;
}
#page-logo .certificate-image{
	max-height: 100px;
}
header .header-inner{
    width: 100%;
    position: relative;
    padding: 5px 0 5px 23px;
    background: rgba(255, 255, 255, 0.5);
}
header #language-bar{
    width: 60px;
    margin-left: 3px;
}
header #language-bar a,
header #language-bar span{
    background: rgba(255, 255, 255, 0.6);
    display: block;
    height: 60px;
    font-size: 22px;
    line-height: 60px;
    text-align: center;
    text-transform: uppercase;
}
header #language-bar > *:first-child{
    margin-bottom: 3px;
}
header nav{
    width: 100%;
}
header nav .head-menu-item{
    width: 20%;
    display: table;
    height: 40px;
    color: #fff;
    text-transform: uppercase;
    float: left;
}
header nav a{
    display: table-cell;
    vertical-align: middle;
    text-align: center;
}
header nav a:hover {
    transform: scale(1.1);
}
header nav .project{
    background: rgb(0, 173, 239);
    opacity: 0.9;
}
header nav .client{
    background: rgb(55, 50, 132);
    opacity: 0.9;
}
header .news{
    background: rgb(255, 205, 5);
    opacity: 0.9;
}
header .product{
    background: rgb(255, 205, 5);
    opacity: 0.9;
}
header .award{
    background: rgb(0, 173, 239);
    opacity: 0.9;
}

header .breadcrumb{   
    /* position: absolute; */
    /* bottom: -60px; */
    /* right: 0px; */
    /* overflow: hidden; */
    color: #fff;
    display: inline-block;
    margin-top: 5px;
    float: right;
}
header .breadcrumb li{
    display: block;
    float: left;
}
header .breadcrumb li:after{
    content: '/';
    display: inline-block;
    margin: 0 5px;
}
header .breadcrumb li:last-child:after{
    display: none;
}
header .breadcrumb li.active{
    color: #EAE5E5;
}
/* FOOTER */
footer{
    background: rgba(47, 49, 146, 0.72);
    position: fixed;
    bottom: 0px;
    right: 0px;
    left: 0px;
    z-index: 9999;
    padding: 0px 75px;
}
footer #mobile-menu {
    text-align: center;
    color: #08b1f0;
    font-size: 20px;
    padding: 10px;
    cursor: pointer;
    display: none;
}
footer nav{
    width: 100%;
    max-width: 1200px;
    display: table;
    margin: 0 auto;
}
footer nav > a{
    font-size: 18px;
    color: #08b1f0;
    text-align: center;
    display: table-cell;
    border-right: 1px solid rgba(255,255,255,0.1);
    padding: 5px 0px;
    vertical-align: middle;
    width: 10%;
}
footer nav > a:first-child{
	border-left: 1px solid rgba(255,255,255,0.1);
}
footer nav > a:hover{
	background: rgba(47, 49, 146, 1);
}
footer nav a span{
    display: block;
    text-align: center;
    opacity: 0.8;
}
footer nav a img{
	opacity: 0.8;
}
footer nav a:hover span{
    opacity: 1;
}
footer nav a:hover img{
    opacity: 1;
}
footer #fontsize{
	position: relative;
}
footer #fontsize #changefontsize{
	display: none;
	position: absolute;
	width: 100%;
	height: 54px;
	background: rgba(47, 49, 146, 0.8);
	bottom: 63px;
}
footer #fontsize:hover #changefontsize{
	display: block;
}
footer #fontsize #changefontsize span{
	display: table;
	width: 50%;
	float: left;
	height: 100%;
}
footer #fontsize #changefontsize span i{
	display: table-cell;
	vertical-align: middle;
}
footer #fontsize #changefontsize span:hover,
footer nav .socials a:hover,
footer #language-bar a:hover{
	background: rgba(47, 49, 146, 1);
}
footer #translate{
	position: relative;
}
footer #translate #google_translate_element{
	display: none;
	position: absolute;
	top: -54px;
	padding: 15px;
	background: rgba(47, 49, 146, 0.8);
}
footer #translate #google_translate_element span{
	display: inline;	
}

footer #translate:hover #google_translate_element{
	display: block;
}
footer nav .socials{
	width: 90px;
	padding-left: 10px;
	float: right;
	border-left: 1px solid rgba(255,255,255,0.1);
}
footer nav .socials a{
	display: block;
	color: #08b1f0;
    font-size: 18px;
    height: 35px;
    line-height: 35px;
}
footer #language-bar{
    width: 50px;
    float: right;
    border-left: 1px solid rgba(255,255,255,0.1);
}
footer #language-bar a{
    color: #08b1f0;
    display: block;
    height: 35px;
    font-size: 18px;
    line-height: 35px;
    text-align: center;
    text-transform: uppercase;
}
/* ASIDE */
#r-menu{
    position: fixed;
    transform: rotate(-90deg);
    transform-origin: bottom right;
    filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
    background: rgba(255, 255, 255, 0.6);
    right: 0px;
    top: 80px;
    padding: 10px 7px;
    vertical-align: middle;
    white-space:nowrap;
    display:block;
}
#r-menu h2{
	display: inline-block;
}
/* MAIN */
#page{
    margin: 0 auto;
    max-width: 1200px;
    position: relative;
    width: 100%;
    height: calc(100% - 245px);
 	height:	-moz-calc(100% - 245px);
    vertical-align: middle;
    padding-bottom: 50px;
}
.site.index #page{
	display: table;
}
.site.index section.main{
    width: 100%;
    display: table-cell;
    vertical-align: middle;
}

#page .main{
	margin: 5px 0 90px;
	height: 100%;
}
/* HOME */
#home-menu a{
    color: #fff;
    text-transform: uppercase;
    font-size: 24px;
    padding-top: 25px;	
}
#home-menu a,
#home-menu a *,
#home-menu a article:after{
    transition: opacity 0.3s, transform 0.3s;
}
#home-menu a:hover{
    transform: scale(1.05);
}
#home-menu a:hover article:after{
    opacity: 1;
}
#home-menu a article{
    height: 150px;
    position: relative;
    overflow: hidden;
    padding: 20px;
}
#home-menu a article:after{
    content: '';
    display: block;
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    z-index: -1;
}
#home-menu .award-winning article img{
	width: 84px;
}
#home-menu a article img.logo{
   	position: absolute;
   	right: 25px;
   	bottom: 33px;
}
#home-menu .clients article img.logo,
#home-menu .products article img.logo{
	position: absolute;
    width: 50px;
    right: 10px;
    bottom: 10px;
}
#home-menu .clients{
	width: 41.666%;
}
#home-menu .projects article:after{
    background: rgb(0, 173, 239);
    opacity: 0.7;
}
#home-menu .clients article:after{
    background: rgb(55, 50, 132);
    opacity: 0.7;
}
#home-menu .trending article:after{
    background: rgb(255, 205, 5);
    opacity: 0.7;
}
#home-menu .products article:after{
    background: rgb(55, 50, 132);
    opacity: 0.7;
}
#home-menu .award-winning article:after{
    background: rgb(0, 173, 239);
    opacity: 0.7;
}
#home-menu .slider {
    position: absolute;
    width: 100%;
    margin-left: -20px;
    bottom: 50px;
    font-size: 20px;
    overflow: hidden;
    text-align: center;
}
#home-menu .clients .slider {
    bottom: 40px;
}
#home-menu .slider .control{
    overflow: hidden;
    position: absolute;
    left: 0px;
}
#home-menu .slider .slide{
    width: 80%;
    display: block;
    float: left;
    margin: 0 auto;
    text-align: center;
}
#home-menu .slider .slide img{
    max-width: 50%;
    height: auto;
    max-height: 52px;
}
#home-menu .slider .slide span{
    max-width: 50%;
    text-align: center;
}
#home-menu .slider span.slide{
	height: 32px;
}
/*#home-menu .slider .slide:before{
    content: '.';
    position: absolute;
    left: 5px;
    top: -11px;
    font-size: 24px;
    line-height: 24px;
}*/
/* CLIENTS */
#clients  article{
    height: 150px;
    padding-top: 25px;
}
#clients article .inner{
    background: #fff;
    height: 100%;
    padding: 25px 10px 10px;
    text-align: center;
    display: block;
}
#clients article .inner img{		
    max-height: 100%;
    max-width: calc(100% - 5px);
}
#clients .rowspan{
    height: 300px;
    font-size: 24px;
    color: #fff;	
}
#clients .rowspan .inner{
    background: #ffcd05;
    height: 100%;
    padding-left: 25px;
    text-align: left;	
}
#clients .rowspan .inner span{
    max-width: calc(100% - 10px);	
}
/* CLIENTS VIEW */
#client .inner{
    background: #fff;
    padding: 50px 50px 30px 25px;
    position: relative;
}
#client .inner:before{
    content: '';
    display: block;
    height: 20px;
    width: 100%;
    background: #ffcb05;
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
}
#client .image{
    margin:0 15px 15px 0;
    float: left;
}

#client .text h1{
    font-size: 18px;
    text-transform: uppercase;
    margin-bottom: 30px;
}
#client .text table{
    width: 100%!important;
}
/* SEE-ALSO */
.see-also{
	padding-top: 20px;
    display: block;
    clear: both;
    overflow: hidden;
}
.see-also article{
	height: 185px;
    padding-top: 25px;
    padding-bottom: 5px;
    text-align: center;
}
.see-also article a {
    background: #fff;
    border: #ffcb05 solid;
    height: 100%;
    padding: 10px;
    text-align: center;
    display: block;
}
.see-also article img {
    max-width: 200px;
}
.see-also article a h3{
    height: 75px;;
}

/* PRODUCTS */
#products{
}
#products article{
    padding-top: 25px;
    color: #fff;
    text-transform: uppercase;
    font-size: 16px;
    text-align: right;
    transition: transform 0.3s;
}
#products article .inner{	
    height: 150px;
    display: block;
    padding:0 20px;
    position: relative;
    overflow: hidden;
}
#products article .inner:after{
    content: '';
    display: block;
    background: #2e3192;
    transition: all 0.3s;
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    z-index: -1;
    opacity: 0.8;
}
#products article .title,
#products article .image{
    float: left;
    height: 100%;
    overflow: hidden;
    display: table;
    vertical-align: middle;	
}
#products article .title{
    width: 50%;
    text-align: left;
}
#products article .image{
    width: 40%;	
    float: right;
    text-align: right;
}
#products article span,
#products article .image-holder{	
    display: table-cell;
    vertical-align: middle;	
}
#products article .image-holder img{
    max-width: 100%;
}
#products article:hover{
    transform: scale(1.05);
}
#products article:hover .inner:after{
    opacity: 1;
}

/* PRODUCT VIEW */
#product .inner{
    background: #fff;
    padding: 50px 50px 30px 25px;
    position: relative;
}
#product .inner:before{
    content: '';
    display: block;
    height: 20px;
    width: 100%;
    background: #2e3192;
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
}
#product .image{
    margin:0 15px 15px 0;
    float: left;
    background: #2e3192;
    padding: 22px 20px;
}
#product .text h1{
    font-size: 18px;
    text-transform: uppercase;
    margin-bottom: 10px;
}

/* PROJECTS */
.index #projects{
    margin-top: 0;
}
#projects article{
    height: 350px;
    padding-top: 25px;
    width: 250px;
    transition: opacity 0.3s, transform 0.3s;
}
#projects article:hover{
	transform: scale(1.05);
}   
#projects article .inner{
    background: #fff;
    height: 100%;
    text-align: center;
    display: block;
}
#projects article .inner img{		
    max-height: 100%;
    max-width: 100%;
    display: block;
}
#projects article .inner .image-holder{
	max-height: 235px;
	overflow: hidden;
}
#projects article .inner .text-holder{
	padding: 5px 10px;
	text-align: left;
	height: 90px;
	overflow: hidden;
	line-height: 1.2;
}
#projects .rowspan{
    height: 300px;
    font-size: 24px;
    color: #fff;	
}
#projects .rowspan .inner{
    background: #ffcd05;
    height: 100%;
    padding-left: 25px;
    text-align: left;	
}
#projects .rowspan .inner span{
    max-width: calc(100% - 10px);	
}

/* PROJECT VIEW */
.view #project{
    margin-top: 20px;
}
#project .inner{
    background: #fff;
    padding: 50px 50px 30px 25px;
    position: relative;
}
#project .inner:before{
    content: '';
    display: block;
    height: 20px;
    width: 100%;
    background: #ffcb05;
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
}
#project .image{
    margin:0 15px 15px 0;
    float: left;
}
#project .text h1{
    font-size: 18px;
    text-transform: uppercase;
    margin-bottom: 30px;
}
#project .text img{
    max-width: 100% !important;
    height: auto;
}
#project .text table{
    width: 100% !important;
    height: auto;
}

/* NEWS INDEX */
.news.index #clients article .inner{
	position: relative;
}
.news.index #clients article .inner:before{
    content: '';
    display: block;
    height: 20px;
    width: 100%;
    background: #ffcb05;
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
}
.news.index #clients article .inner .news-title{
	display: block;	
	float: left;
	height: 100%;
	overflow: hidden;
	width: 100%;
}
.news.index #clients article .inner .news-title .news-title-inner{
	display: table;
	height: 100%;
	width: 100%;
}
.news.index #clients article .inner .news-title span{
	display: table-cell;
	vertical-align: middle;
}

/* NEWS VIEW */
/*.K2FeedIntroText p:first-child{
	display: none;
}*/
.news.view .desc *{
	font-family: 'PT Sans', sans-serif !important;
    font-size: 14px !important;
}
.news.view .desc a.link,
.news.view .desc .published{
	display: block;
	margin-top: 10px;
}

/* NEWS VIEW  SEE ALSO*/
.news.view .see-also article .inside .news-title{
	display: block;	
	float: left;
	height: 100%;
	overflow: hidden;
	width: 100%;
}
.news.view .see-also article .inside .news-title .news-title-inner{
	display: table;
	height: 80%;
	width: 100%;
}
.news.view .see-also article .inside .news-title span{
	display: table-cell;
	vertical-align: middle;
}

/* USEFUL INDEX */
.useful.index #clients article .inner .news-image{		
	float: left;
    width: 40%;
    max-height: 100%;
}
.useful.index #clients article .inner .news-title{
	display: block;	
	float: left;
	height: 100%;
	overflow: hidden;
	width: 60%;
}
.useful.index #clients article .inner .news-title .news-title-inner{
	display: table;
	padding-left: 5%;
	height: 100%;
	width: 100%;
}
.useful.index #clients article .inner .news-title span{
	display: table-cell;
	vertical-align: middle;
}

/* USEFUL VIEW */
.useful.view .desc .published{
	display: block;
	margin-top: 10px;
}

/* CONTACTS */

#contacts .inner{
    background: #fff;
    padding: 40px 25px 30px 25px;
    position: relative;
}
#contacts .inner:before{
    content: '';
    display: block;
    height: 20px;
    width: 100%;
    background: #383085;
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
}
#contacts h1,
#contacts h2{
    font-size: 18px;
    font-weight: bold;
    text-transform: uppercase;
    margin-bottom: 10px;
}
#contacts .contacts-text{
	width: 42%;
	float: left;
}
#contacts .contacts-text address{
	display: table;
}
#contacts .contacts-text address .icon{
	width: 52px;
	height: 50px;
}
#contacts .contacts-text address span{
	display: table-cell;
	vertical-align: middle;
	padding-left: 20px;
	font-weight: bold;
}
#contacts .map{
    float: left;
    width: 58%;
}
#contacts .map img{
    max-width: 100%;
}
#contacts .mail-box{
	width: 55px;
	float: left;
}
#contacts #contact-form{
	margin-top: 20px;
}
#contacts .form{
	float: left;
}
#contacts .contacts-form .form-group{
	max-width: 450px;
	font-weight: bold;
	padding: 2px 0;
}
#contacts .contacts-form .form-group label,
#contacts .contacts-form .form-group input,
#contacts .contacts-form .form-group textarea{
	width: 100%;
	max-width: 400px;
}
#contacts .contacts-form .form-group input,
#contacts .contacts-form .form-group textarea{
	border: solid 1px #3e3689;
}
#contacts .contacts-form .form-group.field-contactsform-sendtome{
	height: 25px;
}
#contacts .contacts-form .form-group.field-contactsform-sendtome input[type='checkbox']{
	display: none;
}
#contacts .contacts-form .form-group.field-contactsform-sendtome label {
    display: inline-block;
    cursor: pointer;
    position: relative;
    height: 100%;
}
#contacts .contacts-form .form-group.field-contactsform-sendtome label:after {
    content: "";
    display: inline-block;
    width: 25px;
    height: 25px;
    position: absolute;
    right: -40px;
    bottom: 0px;
    background-color: #fff;
    border: 1px solid #3e3689;
}
#contacts .contacts-form .form-group.field-contactsform-sendtome input:checked + label:after{
    content: "\2713";
    text-shadow: 1px 1px 1px rgba(0, 0, 0, .2);
    font-size: 22px;
    color: #000;
    text-align: center;
    line-height: 25px;
}
#contacts .contacts-form button.contacts-send{
	background: url('/css/images/send.png') #ffffff no-repeat left;
	color: #2e3192;
	border: none;
	font-size: 18px;
    font-weight: bold;
    text-transform: uppercase;
	width:150px;
	height: 40px;
	margin-left: -55px;
	margin-top: 25px;
	padding-left: 55px;
}
/* About */

#about .inner{
    background: #fff;
    padding: 40px 25px 30px 25px;
    position: relative;
}
#about .inner:before{
    content: '';
    display: block;
    height: 20px;
    width: 100%;
    background: #383085;
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
}
#about h1,
#about h2{
    font-size: 18px;
    font-weight: bold;
    text-transform: uppercase;
    margin-bottom: 10px;
}
#about p{
	padding: 10px 0;
}
