#mobile-menu-switcher {
	display:none;
	color: var(--blue);
	padding:10px;
	font-size: 2rem;
	line-height: 1em;
	z-index: 100;
	text-align:right;
}
#mobile-menu-switcher:hover {
	color:var(--light-blue);
}
#mobile-menu-switcher-close {
	display:none;
	position: fixed;
	top: 15px;
	right: -50px;
	font-size: 2rem;
	color: var(--blue);
	z-index: 10001;
	padding: 14px 0;
	text-decoration:none;
	transition:right 1s ease-in-out;
	text-align:right;
}

@media only screen and (max-width : 667px) {
	#wpadminbar {
		top: -46px;
	}

	body {
		-webkit-touch-callout: none;
		-webkit-user-select: none;
		-khtml-user-select: none;
		-moz-user-select: none;
		-ms-user-select: none;
		user-select: none;		
	}
	body .mobile-hidden {
		display:none !important;
	}
	body .desktop-hidden {
		display: block !important;
	}
	
	body > header {
		padding:0 25px;
	}
	header a, .logo a {
		font-size: .9rem;
		line-height: 1;
	}
	header .row,
	header .grid {
		padding: 0 !important;
		margin: 0 !important;
	}

	#mobile-menu-switcher {
		display: block;
	}
	#mobile-menu-switcher-close {
		display:block;
	}
	.nav-container:hover + #mobile-menu-switcher-close {
		right: 25px;
	}
	
	#navbar-container {
		position: fixed !important;
		top: 0;
		right: -100%;
		width: 100%;
		height: 100vh;
		overflow: auto;
		padding: 50px 20px 20px 20px;
		z-index: 10000;
		background: var(--xlight-grey);
		transition:right .3s ease-in-out;
	}
	.nav-container:hover #navbar-container {
		right:0;
	}
	#navbar-container ul li a {
		padding:0px 5px;
		font-size: 1.3rem;
		line-height: 1em;
		margin: 20px 0;
		text-align: left;
	}
	#navbar-container ul li ul li a {
		padding:10px;
	}
	.menu-left-menu-container,
	.menu-right-menu-container {
		display:block;
		text-align:left;
	}
	.navbar-padding.left,
	.navbar-padding.right {
		float:none;
		padding:0;
	}
	#navbar-container ul li {
		display:block;
		text-align:left;
	}
	ul#secondary .icon::before {
		color: #fff;
	}
	#navbar-container ul li.menu-item-has-children > a {
		margin-bottom:0;
	}
	#navbar-container ul li ul {
		display: block;
		background: transparent;
		position: relative;
		box-shadow: none;
		margin: 0 0 10px 0;
	}
	#navbar-container ul li ul li {
		margin:0 0 0 30px;
	}
	#navbar-container ul li ul li a {
		font-size: 1rem;
		padding:0;
	}
	#navbar-container ul li.menu-item-has-children > a::after, #navbar-container ul li.wpml-ls-current-language > a > .wpml-ls-native::after {
		display:none;
	}
	#navbar-container ul li.separator {
		background: transparent;
		padding: 0;
		margin: 0 0 0 30px;
	}
	
 	.row { position:relative; clear:both; margin:0 auto; width:100%; padding:0; }
	.column { float:none; }
	.grid { margin:0 15px; position:relative; }
	.grid.w1,.grid.w2,.grid.w3,.grid.w4,.grid.w5,.grid.w6,.grid.w7,.grid.w8,.grid.w9,.grid.w10,.grid.w11,.grid.w12,
	.grid.w1.nomargin,.grid.w2.nomargin,.grid.w3.nomargin,.grid.w4.nomargin,.grid.w5.nomargin,.grid.w6.nomargin,.grid.w7.nomargin,.grid.w8.nomargin,.grid.w9.nomargin,.grid.w10.nomargin,.grid.w11.nomargin,.grid.w12.nomargin { width:100%; margin: 0; max-width: 100%; padding: 0 10px; }
	.grid.s1,.grid.s2,.grid.s3,.grid.s4,.grid.s5,.grid.s6,.grid.s7,.grid.s8,.grid.s9,.grid.s10,.grid.s11,.grid.s12 { float:left; }
	.grid.s1 { width:8.33%; }
	.grid.s2 { width:16.66%; }
	.grid.s3 { width:25%; }
	.grid.s4 { width:33.33%; }
	.grid.s5 { width:41.66%; }
	.grid.s6 { width:50%; }
	.grid.s7 { width:58.33%; }
	.grid.s8 { width:66.66%; }
	.grid.s9 { width:75%; }
	.grid.s10 { width:83.33%; }
	.grid.s11 { width:91.66%; }
	.grid.s12 { width:100%; }
	.grid.s1.nomargin,.grid.s2.nomargin,.grid.s3.nomargin,.grid.s4.nomargin,.grid.s5.nomargin,.grid.s6.nomargin,.grid.s7.nomargin,.grid.s8.nomargin,.grid.s9.nomargin,.grid.s10.nomargin,.grid.s11.nomargin,.grid.s12.nomargin { padding:0; }
	.grid.o1,.grid.o2,.grid.o3,.grid.o4,.grid.o5,.grid.o6,.grid.o7,.grid.o8,.grid.o9,.grid.o10,.grid.o11{ margin:0; }
	h1 + h2, h1:first-child, h2 + h3, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child { margin-top:20px; }
	.grid object, .grid element, .grid iframe { min-height: 180px; }
	.margin-top-0 { margin-top:0; }
	.margin-top-15 { margin-top:7px; }
	.margin-top-30 { margin-top:15px; }
	.margin-top-60 { margin-top:30px; }
	.margin-top-90 { margin-top:45px; }
	.margin-top-120 { margin-top:60px; }
	.margin-bottom-0 { margin-bottom:0; }
	.margin-bottom-15 { margin-bottom:7px; }
	.margin-bottom-30 { margin-bottom:15px; }
	.margin-bottom-60 { margin-bottom:30px; }
	.margin-bottom-90 { margin-bottom:45px; }
	.margin-bottom-120 { margin-bottom:60px; }
	
	.grid {
		padding-left:20px !important;
		padding-right:20px !important;
	}
	.grid .row,
	.grid .grid {
		margin:0 !important;
		padding:0 !important;
	}
	
	.wp-block-columns {
		display: block;
	}
	
	input, select, textarea {
		margin:10px 0;
	}
	
	h1 {
		font-size:2.7rem;
	}
	h2 {
		font-size:1.5rem;
	}
	h3 {
		font-size:1.4rem;
	}
	h4 {
		font-size:1.3rem;
	}
	blockquote {
		padding: 0;
		margin: 60px 0;
	}
	blockquote::before {
		position: relative;
		left: 0;
		top: 0;
		text-align: center;
		display: block;
		line-height: 1rem;
	}
	cite {
		font-size: 1rem;
	}
	iframe {
		height: 300px;
	}
	
	table td {
		padding:5px;
	}

	input[type="submit"], input[type="button"], a.button, button,
	button.border, a.button.border {
		min-width:0;
		padding:15px;
	}
	.wpcf7-form .contact-form, .demo-download .form {
		padding:0 15px;
	}
	.contact-form small,
	.demo-download small {
		display:block;
		line-height:1;
		margin:0;
	}
	.contact-form small + br,
	.demo-download small + br {
		display:none;
	}
	.site-name b {
		display:block;
	}
	section.page-header {
		padding-top:150px;
		padding-bottom:75px;
	}
	section.page-title {
		margin: 0;
	}
	.home section.page-title h1 {
		font-size: 4rem;
	}	
	
	section.page-content {
		font-size: .9rem;
		line-height:1.5;
	}
	
	section.page-content a {
		display: inline-block;
		text-overflow: ellipsis;
		overflow: hidden;
		white-space: nowrap;
		max-width: 100%;
		margin-bottom: -.4em;
	}
	
	/* blocks */
	.wp-block-column {
		margin: 0 5px;
	}

	#cookie-law-info-bar {
		z-index: 1200;
		line-height: 1;
	}
	#cookie_action_close_header {
		padding: 20px 30px;
		font-size: 1.2rem;
	}
	
	footer {
		margin-bottom:100px;
	}
}