




/* ---------------------

Desktops (1200px max)

------------------------ */
/*@media only screen and (max-width: 1340px) {
	nav#main-nav > ul > li.cta a {
		font-weight: 800;
		font-size: 10px;
		padding: 0 8px 0 0px;
		background: #005dac;
		position: relative;
		text-transform: uppercase;
		transition: all 0.2s ease;
	}
}*/
@media only screen and (max-width: 1300px) {
	
	/* PAGE WRAPPER */
	.page-wrapper {
		width: 940px;
		}
	.page-wrapper .theme-block-full {
		left: calc(calc(-100vw + 940px) / 2) ;
		}
	
			
	/* CTA */
	/*nav#main-nav > ul > li.cta {
		position: absolute;
		/*top: -45px;
		right: 0;
		} 
	nav#main-nav > ul > li.cta a {
		height: 45px;
		line-height: 45px;
		} 
	nav#main-nav > ul > li.cta a::before {
		border: 22.5px solid #005dac;
		border-left: 22.5px solid transparent;
		border-top: 22.5px solid transparent;
		left: -45px;
		} 
	nav#main-nav > ul > li.cta a:hover::before {
		border: 22.5px solid #004580;
		border-left: 22.5px solid transparent;
		border-top: 22.5px solid transparent;
		}  */ 
					

}

































/* ---------------------

Tablets (1024px max)

------------------------ */

@media only screen and (max-width: 1080px) {
	
	/* PAGE WRAPPER */
	.page-wrapper {
		width: calc(100% - 80px);
		}
	.page-wrapper .theme-block-full {
		width: 100vw;
		left: -40px;
		margin: 0 auto;
	}
	
	
	/* HEADER + MENU */
	#header { 
		background: #fff;
	}
	#header:not(.transparent-light) + #hero-and-body {
		padding-top: calc(35px + 30px);
	}
	#header #logo { 
		padding: 15px!important; 
	}
	#menu {
		height: calc(35px + 30px);
	}
	#menu .menu-actions {
		display: none;
	}
	#menu .menu-inner::before {
		display: none;
	}
	.menu-mobile-actions {
		display: block;
	}
	
	#menu .menu-inner {
		background: #fff;
		padding: 0;
		position: fixed;
		top: calc(35px + 30px);
		right: -301px;
		width: 300px;
		height: calc(100% - 35px - 30px);
		transition: all 0.7s cubic-bezier(0.600, 0.000, 0.200, 1.000), background 0.25s ease 0.15s;
	}
	body.menu-is-open #menu .menu-inner {
		right: 0;
		padding-left: 0!important;
	}
	
	nav#main-nav > ul > li {
		margin: 0;
		display: block;
		padding: 0;
		position: relative;
		height: auto;
		border-top: 1px solid #ccc;
			white-space:nowrap;
		} 
		nav#main-nav > ul {
		border-bottom: 1px solid #ccc;
		} 
	nav#main-nav ul > li a {
		display: block;
		font-size: 16px;
		color: #000;
		padding: 0 20px;
		}
	nav#main-nav > ul > li.cta {
		position: absolute;
		top: auto;
		bottom: 0;
		right: 0;
		border: none;
		}
		nav#main-nav > ul > li.cta a {
		color: #fff;
	}
	
	/* Popup */
	#popup .popup-inner {
		width: 720px;
	}
	#popup .popup-inner .popup-content {
		max-height: calc(100vh - 40px);
	}
	#popup .page-wrapper {
		width: calc(100% - 100px);
		max-width: calc(100% - 100px);
	}
	#popup .page-wrapper .theme-block-full {
		width: calc(100% + 100px);
		left: -50px;
	}
	.page-block .page-block-inner .open-popup {
		top: 0px;
		right: 0px;
	}
	
	.rich-text {
		display: flex;
		flex-direction: column !important;
	}
	.rich-text .rich-content {
		width: 100%;
		padding: 30px;
		max-width: 100%;
	}
	.rich-text .rich-media {
		width: 100%;
	}
	
	/* Search Buttons */
	.search-buttons a {
		width: 40%;
	}
	
	
	.product-container .product-item .product-info .prod-request {
		transform: translateX(0);
	}
	
	#hero.layout-column {
		display: block;
		}
	#hero.layout-column .hero-media {
		width: 100%;
		height: 50vh;
		}
	#hero.layout-column .hero-content {
		width: 100%;
		}
	#hero.layout-column .hero-content #page-title {
		padding: 60px 60px;
		}
	
	/* columns */
	.row > div[class*='col'] {
		margin-top: 40px;
	}
			
	#menu-hauptmenu-russe::after {
		content: none;
	}				
}





/* ---------------------

Smartphones (768px max)

------------------------ */
@media only screen and (max-width: 768px) { 
	
	
	h1, .h1 { 
		font-size: 38px; 
		line-height: 48px; 
	}
	h2, .h2 { 
		font-size: 30px; 
		line-height: 40px; 
	}
	h3, .h3 { 
		font-size: 23px; 
		line-height: 31px; 
	}
	h4, .h4 { 
		font-size: 18px;
		line-height: 25px; 
	}
	h5, .h5 { 
		font-size: 15px; 
		line-height: 21px; 
	}
	h6, .h6 { 
		font-size: 13px; 
		line-height: 19px; 
	}
	h7, .h7 { 
		font-size: 12px; 
		line-height: 18px; 
	}
	h8, .h8 { 
		font-size: 10px; 
		line-height: 16px; 
	}
	
	
	/* Search Buttons */
	.search-buttons a {
		width: 80%;
	}
	
	#footer {
		position: relative;
		width: 100%;
		bottom: auto;
		left: auto;
	}
	#footer .row > div[class*='col'] {
		margin-top: 40px;
		text-align: left;
		}
		#footer .row > div[class*='col']:first-child {
		margin-top: 0;
	}
	#footer .footer-inner {
		padding: 30px 15px;
	}
	
	/* Popup */
	.page-wrapper,
	#popup .page-wrapper {
		width: calc(100% - 30px);
		max-width: calc(100% - 30px);
	}
	.page-wrapper .theme-block-full,
	#popup .page-wrapper .theme-block-full {
		width: calc(100% + 30px);
		left: -15px;
	}
	#popup #hero #page-title {
		padding: 80px 5px 80px 5px;
	}
	
	
	.product-container .product-item {
		display: block;
	}
	.product-container .product-item .product-media  {
		width: 100%;
	}
	.product-container .product-item .product-info {
		width: 100%;
		padding: 40px 20px;
	}
	
	
	form .formrow.half {
		float: none;
		width: 100%;
		margin-right: 0;
	}

	
	.team-container .team-member {
		margin-right: 0;
		margin-bottom: 30px;
		width: 100%;
		float: none;
		display: flex;
	}
	.team-container .team-member .team-image {
		width: 120px;
	}
	.team-container .team-member .team-infos {
		padding-left: 25px;
		width: calc(100% - 120px);
	}
	
	#hero.layout-column .hero-content #page-title {
		padding: 30px 0;
	}
	
	.theme-container {
		max-width: calc(100% - 30px);
	}
	
	
	.wpcf7-form{margin-top: 65px;}
}


/* ---------------------

Small Screens (680px max)

------------------------ */
@media only screen and (max-width: 580px) {
	.hero-bg-el{
		background-size: contain !important;
    background-color: #f5f5f5 !important;
    background-repeat: no-repeat !important;
	}
	h1, .h1 { 
		font-size: 32px; 
		line-height: 42px; 
	}
	h2, .h2 { 
		font-size: 26px; 
		line-height: 35px; 
	}
	h3, .h3 { 
		font-size: 23px; 
		line-height: 30px; 
	}
	h4, .h4 { 
		font-size: 17px;
		line-height: 23px; 
	}
	
	#hero #page-title {
		padding: 100px 0 100px 0;
	}
	
	#menu .menu-inner {
		right: -101%;
		width: 100%;
		}
	
	.page-block .page-block-infos .page-block-intro-1 {
		margin-bottom: 30px;
		min-height: inherit;
	}
	.page-block .page-block-infos .page-block-intro-2 {
		min-height: inherit;
	}
	
	/* tab nav */
	.dv-tabs  {
		display: flex;
		flex-direction: column-reverse;
	}
	.dv-tabs .tab-nav {
		width: 100%;
		padding: 30px 15px;
		float: none;
	}
	.dv-tabs .tab-nav ul {
		margin: 30px 0 0 0;
	}
	.dv-tabs .tab-container {
		float: none;
		width: 100%;
		height: 0px;
		overflow: hidden;
		}
		.dv-tabs.loaded .tab-container {
		width: 100%;
		height: 400px;
	}
	.dv-tabs .tab-container .tab-content {
		padding: 30px 15px;
	}
	
	
	.team-container .team-member .team-image {
		width: 80px;
	}
	.team-container .team-member .team-infos {
		padding-left: 15px;
		width: calc(100% - 95px);
	}
	
	.row > div[class*='col']:first-child {
		margin-top: 0;
	}
	
	.product-container .product-item .product-info .prod-request {
		height: 30px;
		line-height: 30px;
		font-size: 13px;
		padding: 0 10px 0 0;
		}
	.product-container .product-item .product-info .prod-request::before {
		content: "";
		border: 15px solid #005dac;
		border-left: 15px solid transparent;
		border-bottom: 15px solid transparent;
		left: -30px;
		}
		.product-container .product-item .product-info .prod-request:hover::before {
		border: 15px solid #004580;
		border-left: 15px solid transparent;
		border-bottom: 15px solid transparent;
		}
	
	.rich-text .rich-content {
		padding: 30px 15px;
	}
	
	.spacer-big {
		height: 40px !important;
	}
	
	
}











/* WPML - lang selector style */

.menu-actions {
	display: block!important;
}

.menu-actions h6 {
	display: none;
}

.menu-wpml-container {
	position: absolute;
    top: calc(100vh - 16rem);
    width: 100%;
    display: flex;
    left: 0;
	z-index: 100;
}

.menu-wpml-container > ul {
	border: none!important;
}

.menu-wpml-container > ul > li {
	border: none!important;
}

.menu-wpml-container > ul > li > a {
	opacity: 0;
}

.menu-wpml-container > ul > li > ul {
	display: flex;
    flex-wrap: wrap;
    width: 100%;
    padding: 0;
}

.menu-wpml-container ul > li > .sub-menu > li {
	border-right: 1px solid #00000017;
}

.menu-wpml-container ul > li > .sub-menu > li:last-child {
	border-right: none;
}

.menu-wpml-container ul .sub-menu > li > a {
	padding: 0;
	margin: 0;

	opacity: .8;
}


.menu-wpml-container {
	opacity: 0;
	transform: translateY(50px);
	transition: all 0.3s ease;
	transition-delay: 0s;
}

body.menu-is-open .menu-wpml-container {
		opacity: 1;
		transition-delay: 0.6s;
		transform: translateY(0px);
}


@media(min-width: 1081px) {
	.menu-actions h6 {
		display: block!important;
	}

	.menu-wpml-container {
		position: absolute;
		top: 0;
		right: 12rem;
		left: inherit;
		width: fit-content;

		opacity: 1!important;
		transform: translateY(0px)!important;
		pointer-events: none!important;
	}
	

	.menu-wpml-container a {
		color: #808080!important;
	}

	.menu-wpml-container > ul > li {
		overflow: visible!important;
		pointer-events: all;
	}

	.menu-wpml-container > ul > li::after {
		content: ' ';
		width: 0!important;
		height: 0!important;
		display: block!important;
		position: absolute!important;
		right: -0.05rem!important;
		top: 1.25rem!important;
		border-right: 7px solid transparent!important;
		border-left: 7px solid transparent!important;
		border-top:7px solid #808080!important;
		opacity: .8!important;

		transform: rotateY(50deg) rotateZ(0deg)!important;
		transition: all 0.3s ease!important;
	}

	.menu-wpml-container > ul > li::before {
		content: ' '!important;
		width: 18px!important;
		height: 18px!important;
		display: block!important;
		position: absolute!important;
		right: -1.5rem!important;
		top: 0.9rem!important;

		background-image: url("assets/images/svg/globe.svg")!important;
		background-position: center!important;
		background-size: contain!important;
		background-repeat: no-repeat!important;
	}

	.menu-wpml-container > ul > li > a {
		opacity: 1;
		padding: 0.25rem 1rem;
		box-sizing: content-box;
	}	

	.menu-wpml-container > ul > li > .sub-menu > li > a {
		opacity: 1;
		padding: 0.25rem 1rem;
		box-sizing: content-box;
	}	
	
	.menu-wpml-container ul > li > .sub-menu {
		padding: 0!important;
		margin: 0!important;
		flex-direction: column;
		background-color: #fff;
		right: 0;
		left: inherit;
		position: absolute;
		width: 100px;


		pointer-events: none;
		opacity: 0;
		transform: translateY(-30px);
		transition: all 0.3s ease;
	}

	.menu-wpml-container ul > li:hover > .sub-menu {
		opacity: 1;
		transform: translateY(0);
		pointer-events: all!important;
	}

	.menu-wpml-container > ul > li > .sub-menu > li {
		border-right: none!important;
		border-bottom: 1px solid #00000017;
	}

	.menu-wpml-container > ul > li:hover::after {
		transform: rotateY(50deg) rotateZ(180deg)!important;
	}
	
	.menu-wpml-container ul > li > .sub-menu > li:last-child {
		border-bottom: 1px solid #00000017;
	}
} 

@media(min-width: 1201px) {
	.menu-wpml-container {
		right: 3rem!important;
	}
} 










































/* RESPONSIVE MENU RU */
@media only screen and (max-width: 1700px) {
	#main-nav.menu-container.ru > .menu > li.cta {
		position: absolute;
		top: -45px;
		right: 0;
	}

	#main-nav.menu-container.ru > .menu > li.cta a {
		height: 45px;
		line-height: 45px;
	}

	#main-nav.menu-container.ru > .menu > li.cta a::before {
		border: 22.5px solid #005dac;
		border-left: 22.5px solid transparent;
		border-top: 22.5px solid transparent;
		left: -45px;
	}

	.menu-wpml-container.ru {
		right: 16rem!important;
	}
}

@media only screen and (max-width: 1500px) {
	#main-nav.menu-container.ru > .menu::after {
		content: "";
		position: absolute;
		top: 40px;
		right: 0;
		height: 1px;
		width: 150%;
		background: #fff;
		opacity: 0.3;	
	}

	.menu-inner.ru {
		padding-left: 80px!important;
	}

	.menu-inner.ru::before {
		border: 40px solid #fff!important;
		border-right: 40px solid transparent!important;
		border-bottom: 40px solid transparent!important;
	}

	#header.ru #logo {
		/*padding: 50px 20px 40px 40px;*/
	}
}




/* RESPONSIVE MENU FR */
@media only screen and (max-width: 1435px) {
	#main-nav.menu-container.fr > .menu > li.cta {
		position: absolute;
		top: -45px;
		right: 0;
	}

	#main-nav.menu-container.fr > .menu > li.cta a {
		height: 45px;
		line-height: 45px;
	}

	#main-nav.menu-container.fr > .menu > li.cta a::before {
		border: 22.5px solid #005dac;
		border-left: 22.5px solid transparent;
		border-top: 22.5px solid transparent;
		left: -45px;
	}

	.menu-wpml-container.fr {
		right: 8rem!important;
	}
}

@media only screen and (max-width: 1350px) {
	#main-nav.menu-container.fr > .menu::after {
		content: "";
		position: absolute;
		top: 40px;
		right: 0;
		height: 1px;
		width: 150%;
		background: #fff;
		opacity: 0.3;	
	}

	.menu-inner.fr {
		padding-left: 80px!important;
	}

	.menu-inner.fr::before {
		border: 40px solid #fff!important;
		border-right: 40px solid transparent!important;
		border-bottom: 40px solid transparent!important;
	}

	#header.fr #logo {
/*		padding: 50px 20px 40px 40px;*/
	}
}




/* RESPONSIVE MENU nl */
@media only screen and (max-width: 1330px) {
	#main-nav.menu-container.nl > .menu > li.cta {
		position: absolute;
		top: -45px;
		right: 0;
	}

	#main-nav.menu-container.nl > .menu > li.cta a {
		height: 45px;
		line-height: 45px;
	}

	#main-nav.menu-container.nl > .menu > li.cta a::before {
		border: 22.5px solid #005dac;
		border-left: 22.5px solid transparent;
		border-top: 22.5px solid transparent;
		left: -45px;
	}

	.menu-wpml-container.nl {
		right: 8rem!important;
	}
}

@media only screen and (max-width: 1225px) {
	#main-nav.menu-container.nl > .menu::after {
		content: "";
		position: absolute;
		top: 40px;
		right: 0;
		height: 1px;
		width: 150%;
		background: #fff;
		opacity: 0.3;	
	}

	.menu-inner.nl {
		padding-left: 80px!important;
	}

	.menu-inner.nl::before {
		border: 40px solid #fff!important;
		border-right: 40px solid transparent!important;
		border-bottom: 40px solid transparent!important;
	}

	#header.nl #logo {
/*		padding: 50px 20px 40px 40px;*/
	}
}




/* RESPONSIVE MENU en */
@media only screen and (max-width: 1180px) {
	#main-nav.menu-container.en > .menu > li.cta {
		position: absolute;
		top: -45px;
		right: 0;
	}

	#main-nav.menu-container.en > .menu > li.cta a {
		height: 45px;
		line-height: 45px;
	}

	#main-nav.menu-container.en > .menu > li.cta a::before {
		border: 22.5px solid #005dac;
		border-left: 22.5px solid transparent;
		border-top: 22.5px solid transparent;
		left: -45px;
	}

	.menu-wpml-container.en {
		right: 8rem!important;
	}
}

@media only screen and (max-width: 1100px) {
	#main-nav.menu-container.en > .menu::after {
		content: "";
		position: absolute;
		top: 40px;
		right: 0;
		height: 1px;
		width: 150%;
		background: #fff;
		opacity: 0.3;	
	}

	.menu-inner.en {
		padding-left: 80px!important;
	}

	.menu-inner.en::before {
		border: 40px solid #fff!important;
		border-right: 40px solid transparent!important;
		border-bottom: 40px solid transparent!important;
	}

	#header.en #logo {
/*		padding: 50px 20px 40px 40px;*/
	}
}





/* RESPONSIVE MENU de */
@media only screen and (max-width: 1300px) {
	#main-nav.menu-container.de > .menu > li.cta {
		position: absolute;
		top: -45px;
		right: 0;
	}

	#main-nav.menu-container.de > .menu > li.cta a {
		height: 45px;
		line-height: 45px;
	}

	#main-nav.menu-container.de > .menu > li.cta a::before {
		border: 22.5px solid #005dac;
		border-left: 22.5px solid transparent;
		border-top: 22.5px solid transparent;
		left: -45px;
	}

	.menu-wpml-container.de {
		right: 8rem!important;
	}
}

@media only screen and (max-width: 1185px) {
	#main-nav.menu-container.de > .menu::after {
		content: "";
		position: absolute;
		top: 40px;
		right: 0;
		height: 1px;
		width: 150%;
		background: #fff;
		opacity: 0.3;	
	}

	.menu-inner.de {
		padding-left: 80px!important;
	}

	/*.menu-inner.de::before {
		border: 40px solid #fff!important;
		border-right: 40px solid transparent!important;
		border-bottom: 40px solid transparent!important;
	}*/

	#header.de #logo {
/*		padding: 50px 20px 40px 40px;*/
	}
}