html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,table{border-collapse:collapse;border-spacing:0}input,textarea,select{box-sizing: border-box;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;}.clear{clear:both;}button{-webkit-appearance: none;}
input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
input[type="number"]{
  -moz-appearance:textfield;
}

h1, h2, nav, .aReplace, .btn, .specHeading, .simple3columns em strong, .simple3columns strong em, .simple2columns td h3 + ol li:before, .servicesText table tr:first-child td,
.servicesText table tr td:first-child, .jsSlider.ui-widget, .carouselBlock, .popupModal h1, footer .table-cell h3{ font-family: 'Inter', sans-serif;  }

.table{ display: table; border-collapse: collapse;}
.table-cell{ display: table-cell; vertical-align: top;}
.table-row{ display: table-row;}
html{ margin: 0; height: 100%;}
body{font-family: 'Inter', sans-serif; font-size:15px; font-weight: 400; line-height:22px; color:#4d4d4d; background-color:#FFF; margin: 0; overflow-x: hidden;}
input, select, button, textarea{ font-family: 'Inter', serif; font-size: 14px; }

.wrapper{ max-width: 1212px; width: 100%; margin: 0 auto; position: relative;}
.sliderWrapper{ max-width: 1366px; width: 100%; margin: 0 auto; position: relative;} 
.center{ width: 100%; text-align: center;}

.hidden{ display: none;}
.prepEmail{ display: none !important;}
img{vertical-align: middle;}
a{ text-decoration: none; color: #000; }
a:hover{ text-decoration: underline; }

.btn{ text-decoration: none; color: #41535D; line-height: 35px; padding: 0 28px; background: #FFFFFF; font-weight: 600; display: inline-block; border: none; cursor: pointer; border-radius: 25px;}
.loadMoreButton{ color: #FFF; padding-bottom: 0px; font-size: 15px; font-family: "Montserrat", sans-serif;}
.loadMoreButton:after{ content: "";	background: url("images/loadMoreIcon.svg") no-repeat center top;display: block;width: 100%;	height: 20px;margin-top: 15px;  }

.cookiesMsg{ position: fixed; bottom: 0; width: 100%; left: 0; background: #41535D; padding: 35px 0 30px 0; z-index: 500;}
.cookiesMsg .wrapper{ max-width: 1100px;}
.cookiesMsg .table-cell:first-child{ color: #FFF; font-size: 12px; line-height: 14px; width: 70%;}
.cookiesMsg .table-cell:first-child a{ color: #FFF; font-style: italic; text-decoration: underline;}
.cookiesMsg .table-cell:last-child{ text-align: left;}
.cookiesMsg .table-cell:last-child .btn{ min-width: 140px;}

strong{  font-weight: 700; }
em{ font-style: italic;}
u {text-decoration: underline;}
s{ text-decoration: line-through;}

header{ display: inline-block; width: 100%; position: fixed; top: 0; left: 0; z-index: 1000; background: #41535D;}
.bg12 header{ background: none;}
header.static, .regularPage header, header.fixed, .bg15 header.static.fixed{ position: fixed; background: #41535D;}
.bg15 header.static{ background: rgba(9, 31, 40, 0.5); }
header .wrapper{ height: 90px; text-align: center; display: flex; align-items: center; flex-direction: row; flex-wrap: wrap; justify-content: space-between;}
.bg12 header .wrapper{ justify-content: center;height: 140px;}
header.static .wrapper, .regularPage header .wrapper, header.fixed .wrapper{ height: 90px; }

.logo{ display: none;}
header.static .logo, header.fixed .logo{ text-indent: -9999px; background: url(images/EsplanadeLogo.svg) no-repeat center left;width: 320px;height: 61px;margin-top: 0;margin-left: 0;background-size: auto 51px;display: flex;flex-direction: row;align-content: center;}

nav.mainMenu{ display: flex; flex-direction: row;align-items: center;}
nav.mainMenu.diffMenu{ background: rgba(132, 153, 56, 0.6);}
nav.mainMenu.fixed{ position: fixed; top: 0; left: 0; z-index: 150;background: #FFF;}
nav.mainMenu > ul{ display: flex;flex-direction: row; align-items: center; height: 90px;}
.bg12 nav.mainMenu > ul{ height: 140px;}
header.fixed nav.mainMenu > ul{ height: 90px;}
nav.mainMenu > ul:last-child{ margin-left: 22px;}
nav.mainMenu > ul > li, header.fixed nav.mainMenu > ul > li{ display: flex;flex-direction: row; align-items: center; min-height: 90px;}
.bg12 nav.mainMenu > ul > li{ min-height: 140px;}
nav.mainMenu > ul > li a{ font-weight: 400; padding: 0 22px; line-height: 17px; display: inline-block; font-size: 14px; color: #FFF; text-decoration: none; text-transform:uppercase;}
.bg12 nav.mainMenu > ul > li a{ color: #FFF;}
.bg12 nav.mainMenu > ul > li.active a, nav.mainMenu > ul > li.active a, .bg12 nav.mainMenu > ul > li:hover a, nav.mainMenu > ul > li:hover a{ font-weight: 900;}
nav.mainMenu > ul li.langMenu a{ min-height: unset; padding: 0 22px;}
nav.mainMenu > ul li.langMenu a.active, nav.mainMenu ul li.langMenu a:hover{ font-weight: 900;}

.mobileMenuSelector{ display: none;}

nav.mainMenu ul li { position: relative; }
nav.mainMenu ul ul { visibility: hidden; opacity: 0;position: absolute; top: 105px; left: 0; min-width: 50px;transform: translateY(-2em);z-index: 650;transition: all 0.3s ease-in-out 0s, visibility 0s linear 0.3s, z-index 0s linear 0.01s; padding: 0 15px; float: left; display: none;}
nav.mainMenu ul li:focus ul, nav.mainMenu ul:hover li:hover ul { visibility: visible;opacity: 1;z-index: 1;transform: translateY(0%); display: flex; flex-direction: column;}
nav.mainMenu ul li li{ width: 100%; float: none; min-height: 33px; background: rgba(155, 2, 10, 0.7); margin-top: 5px; padding: 10px; text-align: left; display: flex; align-items: center; }
nav.mainMenu ul li li a, nav.mainMenu ul li.active li a{ color: #FFF; font-size: 14px; padding: 0; line-height: 17px; white-space: nowrap; text-transform: unset; font-weight: 400; background: none;}
nav.mainMenu ul li li:last-child a{ border:none;}
nav.mainMenu ul li li:hover{ background: #9B020A;}
nav.mainMenu ul li li:hover a{ color: #FFF;}

nav.mainMenu ul, nav.mainMenu ul li { list-style-type: none; padding: 0; margin: 0; }

.homeLogo{ position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 500; text-align: center;}
.homeLogo .slogan{ margin-top: 50px; line-height: 32px; font-size: 24px; font-family:  Montserrat, sans-serif; font-weight: 900; color: #FFF; width: 100%; max-width: 455px;}
.homeLogo a.btn { color: #000; margin-top: 50px;font-family:  Montserrat, sans-serif; font-size: 14px; font-weight: 500;}

.headerBg{ width: 100%;  position: relative;height: 798px; margin: 0 auto; background: #FFF;}
.rb12 .headerBg { margin-top: 0; height: 100vh; background: #000000;max-width: 2561px;}
.headerBg .table-cell{ text-align: center; vertical-align: top; -moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;position: relative;}
.headerBg .table-cell img{ position: absolute; top: 50%;  left: 50%; transform: translate(-50%, -50%); height: auto; max-width: 100%; max-height: 798px;}
.rb12 .headerBg .table-cell img{ width: auto; max-width: unset; height: 100vh;}
.rotationBlock{ height: 798px; width: 100%; display: block;  margin-top: 0; float: left; position: relative; z-index: 1; overflow: hidden;}
.rotationBlock.rb12 { height: 100vh; background: #000000; margin: 0 auto 0 auto;}
.rotationBlock.rotationBlock2{height: 100vh; text-align: center;}
.rotationBlock.rotationBlock2 .headerBg{height: 100vh; margin-top: 150px;}
.rotationBlock .rotatingImage{ width: 100%; display: inline-block; height: 100%; background: #fff;}
.rotationBlock.rb12 .rotatingImage{ background-position: center bottom !important; background-color: #000000 !important; padding-top: 0;}
.cyclePagerWrapper { position: absolute; bottom: 130px; z-index: 120; width: 100%; text-align: center;}
.cyclePagerWrapper .cycle-pager{ width: auto;}
.cycle-pager span { width: 13px; height: 12px; display: inline-block; cursor: pointer; text-indent:-9999px; margin-right: 12px; background: #FFF; border-radius: 10px; }
.cycle-pager span:last-child{ margin-right: 0;}
.cycle-pager span.cycle-pager-active { background: #41535D;}
.cycle-pager > * { cursor: pointer;}
.rotationBlock .arrows {display: none; position: absolute; z-index: 120; width: 100%; text-align: center; top: 0;}
.bg12 .rotationBlock.rb12 .arrows{ display: none;}
.rotationBlock .arrows .wrapper{ max-width: 1000px;}
.cycle-next, .cycle-prev{ width: 50%; float: left; height: 490px;display: flex;	align-items: center; justify-content: left;}
.cycle-prev:after, .cycle-next:after{ content: ""; background: url(images/gallery-arrow.svg) no-repeat center left; width: 18px; height: 30px; display: block;float: left;}
.cycle-next{ justify-content: right;}
.cycle-next:after{ transform: rotate(180deg); background-position: center right;}

.slider{ float: left; width: calc(100% + 20px); position: relative; display: flex; flex-direction: row; justify-content: center; align-items: center; flex-wrap: wrap; margin-left: -10px;}
.slider .item{ width: 230px; height: 230px; margin: 10px 5px 5px 10px; float: left; position: relative; background: #41535D;}
.slider a{ display: flex; width: 100%; height: 100%;  text-decoration: none; white-space: normal; position: absolute; top:0; left: 0;  z-index:4;}
.slider .item:hover{ background: #0B8095; }
.slider svg{ position: absolute; top:20px; right: 20px;  z-index: 2;}
.slider a span{ color: #FFF; text-decoration: none; font-size: 16px; line-height: 22px;font-weight: 700;position: absolute;bottom: 20px;left: 20px;	width: 70%;}

.opener{ margin: 165px 0 60px 0; text-align: left;font-family: 'Montserrat', sans-serif; }
.opener .wrapper{ max-width: 720px;}
.opener.service h1{ text-align: left; color: #41535D; font-weight: 900; font-size: 30px; line-height: 38px; margin:0 0 30px 0; display: flex; flex-direction: row;}
.opener.service h1 span{ margin-right: 10px; display: flex; flex-direction: row; align-items: center;}
.opener.service h1 span svg{ height: 60px;}
.opener.service h1 span svg, .opener.service h1 span svg path{ fill: #41535D}

.opener .contactButton{ display: flex;width: 100%; justify-content: center;margin: 30px 0;}
.opener .contactButton button{ color: #FFF; background: #0B8095; font-weight: 500; font-size: 14px;font-family: 'Montserrat', sans-serif;}

.opener.project{ margin-top: 50px;}
.opener.project .wrapper{ max-width: 1016px; display: flex; flex-direction: row;}
.opener.project .intro{ padding-right: 40px; margin-right: 40px; border-right: 1px solid #364042; min-width: 330px;}
.opener.project .intro p{ margin: 0 0 10px 0;}
.opener.project .intro p:last-child{ margin: 0;}
.opener.project .descr{ padding-bottom: 80px;}
.opener.project h1{ text-align: left; color: #41535D; font-weight: 900; font-size: 30px; line-height: 38px; margin:0 0 30px 0; display: flex; flex-direction: row;text-transform: uppercase;}

.opener .nextButton, .opener .readMoreButton{ display: flex;width: 100%; justify-content: left;margin: 30px 0 0 0; position: absolute; bottom:0;}
.opener .nextButton a, .opener .readMoreButton a{ border-radius: 0; color: #FFF; background: #41535D; font-weight: 500; font-size: 14px;font-family: 'Montserrat', sans-serif;display: flex; align-items: center; flex-direction: row; padding-right: 14px;}
.opener .nextButton a:after, .opener .readMoreButton a:after{  content: ""; background: url(images/NextProjIcon.svg) no-repeat center center; width: 11px; height: 18px; margin-left: 20px;}

.fpBlock{ display: flex; width: 100%; padding: 65px 0; flex-direction: column;height: 100%; font-family: 'Montserrat', sans-serif; font-size: 14px; line-height: 17px;}
.fpBlock.activeService { padding-top: 0;}
.fpBlock.activeService .wrapper{ border-top: 1px solid #364042; max-width: 720px; padding-top: 50px;}
.fpBlock.activeService h2{ text-transform: uppercase; font-weight: 900;font-family: 'Montserrat', sans-serif;}
.fpBlock .wrapper{ max-width: 1066px;}
.fpBlock h2, .block15.page_text h1, .block14.page_text h1{ font-weight: 700; font-size: 32px; text-align: center; line-height: 32px; margin-bottom: 75px;}
.fpBlock .description{ display: flex; flex-direction: column; align-items: center;}
.block15.page_text, .block14.page_text, .block13.page_text, .block16.page_text{ padding-top: 165px; justify-content: center;}
.block14.page_text{ padding-bottom: 0;}
.block15.page_text .wrapper, .block14.page_text .wrapper{ justify-content: center; display: flex;}
.block13{ background: url("images/AgencyBgImage.jpg") no-repeat center center;}
.block13 .wrapper{ background: rgba(255, 255, 255, 0.9); width: 100%; max-width: 460px; padding: 45px;}
.block13 .wrapper h2, .block14 .wrapper h2, .block15 .wrapper h2{ font-weight: 900; font-size: 30px; line-height: 40px;margin:0 0 15px 0; text-transform: uppercase;}
.block15.page_text h1, .block14.page_text h1, .block16.page_text h1, .block13.page_text h1{ font-weight: 900; font-size: 30px; line-height: 40px;margin:0 0 15px 0; color: #FFF; text-transform: uppercase;}
.block14.page_text h1, .block16.page_text h1, .block13.page_text h1{  color: #4d4d4d;}

.block14 .fpBlock{ padding: 35px 0 0 0;}
.block14 .fpBlock.sliderList{ padding: 0;}
.bg12 .block14 .fpBlock.sliderList{ padding: 30px 0 0 0;}
.block14 .fpBlock.sliderList .wrapper{ padding: 0; margin-top: 0;}
.block14 .wrapper .article{ width: 100%; max-width: 600px;}

.block15{ background: #41535D; color: #FFF;}
.block15 .wrapper .article{ max-width: 710px; width: 100%; margin: 0 auto;}

.block15 .wrapper{ max-width: 1366px;}
.block15 .itemList{ display: flex; flex-wrap: wrap; justify-content: space-between; margin-top: 30px;}
.block15 .itemList .item{ position: relative; width: 334px; height: 334px; margin-bottom: 10px;}
.block15 .itemList a:after{ content: ""; position: absolute; width: 100%; height: 100%; display: block; top: 0; left: 0; z-index: 2;}
.block15 .itemList a:hover:after{ background: none;}
.block15 .itemList a img:nth-child(2){ display:none;}
.block15 .itemList a:hover img:nth-child(1){ display:none;}
.block15 .itemList a:hover img:nth-child(2){ display:block;}

.middleButton {  margin: 50px 0 0 0;}
.middleButton .wrapper{ width: auto; max-width: unset; display: flex; flex-direction: column; justify-content: center; align-items: center;}


.article{ text-align: justify; }
.article p{ margin-bottom: 25px;}
.article p:last-child{ margin-bottom: 0;}
.article .readMore a{ font-weight: 600; color: #9B020A; }

.page_text{ padding-top: 33px; justify-content: left;}
h1{ font-style: normal;font-weight: 700;font-size: 32px;line-height: 44px;text-align: center;color: #000000; margin-bottom: 80px;}
.page_text .description{ text-align: justify; align-items: normal; }
.page_text .strong{ font-weight: 700;}
.page_text p{ margin-bottom: 20px;}

.blockOpener h1{ margin: 0 0 40px 0; text-align: left;}

.page_text ul{ margin-left: 25px; list-style: disc; margin-top: -20px;break-inside: avoid;}
.page_text ul ul{ margin-top: 0; list-style: circle;}

.openedService { padding: 80px 0 30px 0;}
.openedService h1{ margin-bottom: 30px;}
.openedService .intro{ text-align: justify; display: block; -webkit-column-count: 2;-webkit-column-gap: 4%;-moz-column-count: 2;-moz-column-gap: 4%;column-count: 2;column-gap: 4%; margin-bottom: 30px; width: 100%;}
.openedService .intro .readMore, .readMore a { font-weight: 600; color: #9B020A;}

.paginator{ margin-top: 30px;}
.paginator, .paginator nav, .pagination{ display: flex; flex-direction: row; justify-content: center;}
.paginator, .paginator nav{ width: 100%;}
.pagination a{ color: #FFF;}
.pagination li, .pagination a{ display: flex; justify-content: center; align-items: center; width: 35px; height: 35px;  font-size: 14px;}
.pagination .active a{ background: #FFF; color: #41535D;}
.pagination .next a, .pagination .prev a{ text-indent: -9999px; width: 9px; height: 18px; background: url(images/NextProjIcon.svg) no-repeat; background-size: auto 18px;}
.pagination .prev a{ transform: rotate(180deg);}

footer{ width: 100%; display: inline-block; position: relative; background: #E8EAEB; font-size: 14px; line-height: 17px; font-family: 'Montserrat', sans-serif; font-weight: 500;}
footer .bgColor{ width: 50%; left: 0; bottom: 0; position: absolute; z-index: 1; height: 100%; background: #eaeaea;}
footer .contactDetails{ padding: 80px 0 40px 0;}
footer .contactDetails .wrapper{ max-width: 660px;}
footer .contactDetails .table{ display: flex; flex-direction: row; justify-content: space-between;}
footer .contactDetails .table-cell{ display: flex; flex-direction: column; width: 50%;}
footer .contactDetails .contacts{ align-content: center; border-left: 1px solid #41535D; padding-left: 40px; width: 50%;}
footer .slogan{ margin-right: 40px; overflow: hidden;}
footer .slogan p{ margin-bottom: 20px; font-size: 16px; line-height: 22px; font-weight: 900;}
footer .slogan p:last-child{ margin-bottom: 0; font-size: 24px;}
footer .footerCompany{  margin-bottom:8px; }
footer .footerAddressLabel{ font-weight: 600; margin-bottom: 3px;}
footer .footerAddress{ position: relative; display: flex; flex-direction: row; min-height: 25px; align-items: center; padding-left: 35px;margin-bottom: 8px;}
footer .footerAddress:before{ content: ""; background: url(images/LocationIcon.svg) no-repeat; width: 25px; height: 25px; position: absolute; left:0; top: 0px; background-size: 25px;}
footer .table-cell .emSpan{ display: none;}
footer .table-cell .footerPhone{ position: relative; display: flex; flex-direction: row;  min-height: 25px; align-items: center; padding-left: 35px;}
footer .table-cell .footerPhone a{ color: #41535D; }
footer .table-cell .footerPhone a:before{ content: ""; background: url(images/PhoneIcon.svg) no-repeat; width: 25px; height: 25px; position: absolute; left:0; top: 0; background-size: 25px;}
footer .table-cell .email{ position: relative; display: flex; flex-direction: row;  min-height: 25px; align-items: center; padding-left: 35px;margin-top: 8px;}
footer .table-cell .email a{ color: #41535D;}
footer .table-cell .email a:before{ content: ""; background: url(images/MailIcon.svg) no-repeat; width: 25px; height: 25px; position: absolute; left:0; top: 0; background-size: 25px;}
footer .table-cell .footerFb{ position: relative; display: flex; flex-direction: row;  min-height: 25px; align-items: center; padding-left: 35px;margin-top: 8px;}
footer .table-cell .footerFb a{ color: #41535D; }
footer .table-cell .footerFb a:before{ content: ""; background: url(images/FbIcon.svg) no-repeat; width: 25px; height: 25px; position: absolute; left:0; top: 0; background-size: 25px;}

footer .table-cell div.form{ display: inline-block; margin-top: 36px; width: 100%; margin-bottom: 23px;}
footer .table-cell input[type=email]{ width: 100%; height: 24px; border: none; border-bottom: 1px solid #000; margin-bottom: 15px; outline: none;}
footer .table-cell input[type=button]{ min-width: 86px; cursor: pointer;}
footer .karte img{ display: block;}

footer .copyright{ text-align: center; font-size: 14px; font-weight: 400; line-height: 19px; height: 80px; width: 100%; display: flex; align-items: center; }
footer .copyright .table-cell{ text-align: center; vertical-align: middle;}
footer .copyright a{ color: #4d4d4d; text-decoration: none;}
footer .copyright a:hover{text-decoration: underline;}

::placeholder { color: #000000; opacity: 1;}
:-ms-input-placeholder { color: #000000;}
::-ms-input-placeholder { color: #000000;}

.readMoreButton{ display: none;}

.bg12 .block15 .itemList{ margin-top: 30px;}
.block15.projectList{ padding-top: 0;}
.block15.page_text{ padding-bottom: 0;}
.block15.projectList .wrapper{ padding: 0; margin-top: 0;}

@media only screen  and (orientation: landscape) and (max-width: 4000px){
	.rb12 .headerBg .table-cell img{ width: auto; min-height: 100vh; height: auto; max-height: unset; min-width: 100%;}
	.headerBg, .rotationBlock{ height: 719px;}
	.headerBg .table-cell img{ width: auto; min-height: 719px; height: auto; max-height: unset; min-width: 100%;}
}

@media only screen  and (orientation: landscape) and (max-width: 2000px){
	.headerBg, .rotationBlock{ height: 540px;}
	.headerBg .table-cell img{ min-height: 540px;}
}

@media only screen  and (orientation: landscape) and (max-width: 1550px){
	.rb12 .headerBg .table-cell img{ width: auto; height: 100vh; max-height: unset;}
	.headerBg, .rotationBlock{ height: 500px;}
	.headerBg .table-cell img{ height: 500px;}

}

/*@media only screen  and (orientation: landscape) and (max-height: 1388px){*/
/*	.rb12 .headerBg .table-cell img{ width: 100%; height: auto;}*/
/*}*/




@media screen and (max-width: 1280px){
	.wrapper{ width: 96%;}
	nav.mainMenu > ul > li a{ padding: 0 11px; }
	nav.mainMenu > ul:last-child{ margin-left: 30px;}

}

@media screen and (max-width: 1140px){
	.bg12 header .wrapper{ justify-content: right;}
	.bg12 header.fixed .wrapper, .bg12 header.static .wrapper{ justify-content: space-between;}
	.mobileMenuSelector{ display: block; width: 31px; height: 26px; background: url(images/hamburger.svg) no-repeat;  background-size: 27px 27px; cursor: pointer; margin-right: 2%; z-index: 700; position: relative}
	.mobileMenuSelector.opened{ width: 26px; height: 26px; background: url(images/HamburgerClose.svg) no-repeat;  background-size: 27px 27px; }

	nav.mainMenu > ul > li{ flex-direction: column; align-items: flex-start; min-height: auto;}
	.bg12 nav.mainMenu > ul{ height: auto;}
	header.fixed nav.mainMenu > ul{ height: auto;}
	nav.mainMenu > ul:first-child{ margin-top: 80px;}
	nav.mainMenu > ul > li, header.fixed nav.mainMenu > ul > li, .bg12 nav.mainMenu > ul > li{ min-height: unset;}
	nav.mainMenu{ display: none;}
	nav.mainMenu.opened{ display: flex; position: fixed; left: 0; top: 0; z-index: 500;background: #0B8095;flex-direction: column; width: 100%; height: calc(100vh - 56px);justify-items: center;}
	nav.mainMenu > ul:first-child{ flex-direction: column; width: 100%;}
	nav.mainMenu > ul, nav.mainMenu > ul:last-child{ margin: 0; height: auto; align-items: flex-start; max-width: 1000px;}
	nav.mainMenu > ul > li{ text-align: center; font-weight: 400; margin: 0 0 15px 0; height: auto; width: 100%; min-height: unset;}
	nav.mainMenu > ul > li a{ text-align: center; font-weight: 400; font-size: 24px; line-height: 36px; padding: 0; width: 100%;}
	nav.mainMenu > ul li.langMenu a{ padding: 0 8px 0 0;}
	nav.mainMenu > ul:last-child{ -webkit-box-ordinal-group: 1;-moz-box-ordinal-group: 1;-ms-flex-order: 1;order: 1; margin-top: 20px;}

	.block15 .itemList .item, .block15 .itemList .item img{ width: 240px; height: 240px;}
}

@media screen and (max-width: 1024px){
	.block15 .itemList{ justify-content: center; }
	.block15 .itemList .item, .block15 .itemList .item img{ width: 334px; height: 334px;}
	.block15 .itemList .item{ margin-right: 10px;}
	.block15 .itemList .item:nth-child(2n){ margin-right: 0;}

}
@media screen and (max-width: 970px){
	.wrapper{ width: 100%;}
	header.static .logo, header.fixed .logo{ margin-left: 20px;}
	.rotationBlock .rotatingImage div.aReplace .slogan{ font-size: 50px; line-height: 58px;}
	.fpBlock .wrapper{ width: 90%;}

	.cookiesMsg{ background: rgba(0,0,0,0.6);}
	.cookiesMsg .wrapper{ width: 90%;display: flex;flex-direction: column;align-items: center;}
	.cookiesMsg .wrapper .table-cell{ display: flex; margin-bottom: 15px;flex-direction: column;}
	.cookiesMsg .wrapper .table-cell:last-child{ margin-bottom: 0;}
}

@media screen and (max-width: 930px){
	.headerBg, .rotationBlock{ height: 280px;}
	.headerBg .table-cell img{ height: 280px; max-width: unset;}
	.rotationBlock.projectRotate, .projectRotate.headerBg{ margin-top: 90px; height: 380px;}
	.cyclePagerWrapper{ bottom: 25px;}

	.opener.project .wrapper{ width: 92%;}

	.bg12 header .wrapper{ height: 60px;}

	h1{ font-size: 24px; line-height: 33px; margin-bottom: 25px;}

	.opener{ margin-top: 140px;}
	.fpBlock.block15.page_text, .fpBlock.block14.page_text, .fpBlock.block13.page_text, .fpBlock.block16.page_text{ padding-top: 100px;}

	.carouselBlock .slider{ height: 200px; margin: 20px 0;}
	.carouselBlock .slick-list{ max-width: 200px;}
	.carouselBlock .slider .slick-slide{ height: 200px;}
	.carouselBlock .slider .item{ width: 200px; height: 200px;}
	.carouselBlock .slider .item img{ width: auto; height: 200px;}
	.carouselBlock .slider a{ width: 200px; height: 200px; }
	.carouselBlock .slider a span{ font-size: 20px; line-height: 29px; padding: 0 20px;}
	.carouselBlock .slider .slick-next, .carouselBlock .slider .slick-prev, .firstPageColumns .slick-next, .firstPageColumns .slick-prev{ width: 12px; height: 30px;background-size: auto 30px !important;}
	.carouselBlock .slider .rotationBlock{ margin-top: 0; background: #f0f0f0;}

	.openedService .intro .readMore{ text-align: center;}


	.contactsBlock .table{ flex-direction: column}
	.contactsBlock .table .table-cell{ flex-direction: column; width: 100%; align-items: center; text-align: center; margin-top: 30px;}
	.contactsBlock .table .table-cell:first-child{ margin-top: 0;}
	.contactsBlock .contactPhone, .contactsBlock .contactEmail{ justify-content: center; font-size: 14px; line-height: 19px;}
	.contactsBlock .contactPhone:before, .contactsBlock .contactEmail:before{ content: unset;}

	footer .contactDetails{ padding: 0 0 25px 0;}
	footer .contactDetails .table{ flex-direction: column; max-width: 285px; align-items: center;}
	footer .contactDetails .slogan{ text-align: center; margin: 40px 0 0 0; width: 100%;}
	footer .contactDetails .contacts{ margin-top: 25px; width: 100%; border: none; padding-left: 0; border-top: 1px solid #41535D; padding-top: 25px;}

	footer .copyright{ height: 60px;}

	.openedService h1{ font-size: 20px; line-height: 27px; margin-bottom: 10px;}
	.openedService .intro{ -webkit-column-count: 1; -webkit-column-gap: 0; -moz-column-count: 1;-moz-column-gap: 0; column-count: 1;}
	.openedService .intro p{ display: none;}
	.openedService .intro p:first-child, .openedService .intro p.readMore{ display: inline-block;}

	.blockOpener .wrapper .container nav{ display: none;}
	.page_text.block13 .description, .blockOpener .description{ -webkit-column-count: 1;-webkit-column-gap: 0; -moz-column-count: 1;-moz-column-gap: 0;column-count: 1;column-gap: 0;margin-bottom: 40px;width: 100%;}
	.blockOpener .description .addBreak{ break-after: unset;}

	.block13 .wrapper h2, .block14 .wrapper h2, .block15 .wrapper h2{ font-size: 20px; line-height: 28px;}

	.fpBlock .wrapper{ padding: 25px 25px; width: 73%; margin: 25px auto; }
	.fpBlock.block13 { padding-top: 0;  padding-bottom: 0;}
	.fpBlock{ padding: 0; }
	.blockContacts{ padding-top: 0;}
	.fpBlock h2{ font-size: 24px; line-height: 32px; margin-bottom: 20px; }
	.fpBlock .description.split .article, .fpBlock .description.split .fpBlockImage{ width: 100%;}
	.fpBlock .description.split{ flex-direction: column; }
	.fpBlock .description.split .article{ -webkit-box-ordinal-group: 1;-moz-box-ordinal-group: 1;-ms-flex-order: 1;order: 1;}
	.fpBlock .description.split .fpBlockImage{ -webkit-box-ordinal-group: 2;-moz-box-ordinal-group: 2;-ms-flex-order: 2;order: 2; margin-top: 20px;text-align: center;}

	.block14 .fpBlock{ padding-top: 0;}


	.block15 .itemList{ margin-top: 0;}



}

@media screen and (max-width: 840px){
	.opener .wrapper{ width: 92%;}
}

@media screen and (max-width: 640px){
	header.static .logo, header.fixed .logo{ margin-left: 20px; width: 166px; height: 31px; background-size: auto 31px;}

	.opener{ margin-top: 100px; margin-bottom: 25px;}
	.opener.service h1, .fpBlock.activeService h2{ font-size: 20px; line-height: 28px; align-items: center}
	.opener.service h1 span svg{ height: 40px;}

	.homeLogo img{ width: 257px; height: auto;}

	.mobileMenuSelector{ margin-right: 20px;}

	.slider .item{ margin: 0 0 20px 0;}

	.middleButton {  margin: 25px 0 0 0;}
	.middleButton .wrapper{  padding: 0; margin: 0 auto;}

	.fpBlock.block15.page_text, .fpBlock.block14.page_text, .fpBlock.block13.page_text, .fpBlock.block16.page_text{ padding-top: 70px;}

	.rotationBlock.projectRotate, .projectRotate.headerBg{ margin-top: 60px; height: 280px;}
	.headerBg .table-cell img{ height: 280px;}


	.opener.project .wrapper{ flex-direction: column;}
	.opener.project .wrapper .intro, .opener.project .wrapper .descr{ margin: 0; padding:0; border: none;}
	.opener.project .wrapper .descr{ padding-top: 80px; position: relative;}
	.opener.project .wrapper .descr .inner{ display: none;}
	.opener.project .wrapper .nextButton, .opener .readMoreButton{ bottom: unset; top: 0; right: 0; left: unset; width: 49%;}
	.opener.project .wrapper .nextButton a, .opener .readMoreButton a{ width: 100%; justify-content: space-between}
	.opener .nextButton a:after, .opener .readMoreButton a:after{ margin: 0;}

	.opener .readMoreButton{ display: flex; left: 0; right: unset;}
	.opener .readMoreButton a{ background: #0B8095;}
	.opener .readMoreButton a:after{ transform: rotate(90deg); width: 18px; height: 21px;}

}

@media screen and (max-width: 480px){
	header, header.static .wrapper, .regularPage header .wrapper { height: 60px; }
	header .wrapper{ height: 60px;}
	.contacts.opened{ top: 60px;}
	footer .copyright .wrapper{ width: 90%;}

	.opener.service h1 span svg{ height: 60px;}


}

@media screen and (max-width: 320px){
	.rotationBlock.projectRotate, .projectRotate.headerBg, .rotationBlock, .headerBg{ height: 180px;}
	.headerBg .table-cell img{ height: 180px;}

	footer .contactDetails .table{ width: 100%; }
	footer .contactDetails .contacts{ width: 250px; }

}
