:root {
	--font-size: 16px;
	--padding-l-r: 80px;
}
@media all and (max-width: 1600px) {
	:root {
		--padding-l-r: 40px;
	}
}
@media all and (max-width: 800px) {
	:root {
		--padding-l-r: 20px;
	}
}

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,sub,sup,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;
	vertical-align: baseline;
	font: inherit;
	font-size: 100%;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {
	display: block;
}

html {
	font-family: 'Arial', sans-serif;
	font-weight: normal;
	font-size: var(--font-size);
	line-height: 1.4;
}
body {
	min-height: 280px;
	cursor: default;
	color: #000;
	fill: #000;
	background-color: #fff;

	-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	-o-hyphens: none;
	hyphens: none;
}

#wrapper.fixed-footer {
	position: relative;
	min-height: 100vh;
	padding-bottom: 200px; /* footer starting height */

	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

img {
	width: 100%;
	height: auto;
	border: 0;
	-ms-interpolation-mode: bicubic;
}
svg {
	width: 100%;
	height: auto;
	fill: inherit;
}

a {
	text-decoration: none;
	outline: none;
	color: inherit;
	fill: inherit;

	-o-transition: color 0.2s;
	-moz-transition: color 0.2s;
	-webkit-transition: color 0.2s;
	transition: color 0.2s;
}
a svg {
	-o-transition: fill 0.2s;
	-moz-transition: fill 0.2s;
	-webkit-transition: fill 0.2s;
	transition: fill 0.2s;
}
a:hover {
	color: #666 !important;
	fill: #666 !important;
}

hr {
	height: 1px;
	border: 0;
	background-color: #000;
}

ol, ul, li {
	list-style: none;
}

table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
}

strong, b, .strong {
	font-weight: bold;
}
em, i, .italic {
	font-style: italic;
}
u, .underline {
	text-decoration: underline;
}
strike, .strike, .strikethrough {
	text-decoration: line-through;
}
.lowercase {
	text-transform: lowercase;
}
.uppercase {
	text-transform: uppercase;
}
.capitalize {
	text-transform: capitalize;
}
.preserve-line-breaks {
	white-space: pre-line;
}
sup {
	vertical-align: super;
	font-size: 0.7em;
}
sub {
	vertical-align: sub;
	font-size: 0.7em;
}

p {
	margin-bottom: 1em;
}

h1, h2, h3, h4, h5, h6 {
	line-height: 1.3;
}

.highlight {
	color: #666;
}
.alt-font {
	font-family: serif;
}

.btn,
button,
input,
input[type=search], /* for safari styling */
textarea,
select {
	width: 100%;
	padding: 0.5em 0.65em;
	font-family: inherit;
	font-weight: inherit;
	font-size: inherit;
	color: #000;
	background: none;
	border: 1px solid #000;

	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;

	-o-transition: border-color 0.2s;
	-moz-transition: border-color 0.2s;
	-webkit-transition: border-color 0.2s;
	transition: border-color 0.2s;

	-webkit-border-radius: 0; /* remove osx safari styling */
	-moz-border-radius: 0;
	border-radius: 0;

	margin: 0; /* remove ios styling */
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
textarea {
	max-width: 100%;
	min-height: 2.2em;
	max-height: 20em;
	resize: vertical;
	vertical-align: top; /* remove space under textarea */
}
input[type="submit"]::-moz-focus-inner { /* firefox extra submit padding */
	padding: 0;
	border: 0
}
input[type="radio"],
input[type="checkbox"] {
	width: auto;
	margin-left: 0;
	margin-right: 0.4em;
	padding: 0.5em;
	vertical-align: middle;
	background-repeat: no-repeat;
	background-position: center;
}
input[type="radio"] {
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
}
.input-group > * { /* radio/checkbox + span group (inside a label) */
	vertical-align: middle;
}
input:focus,
textarea:focus {
	outline: none; /* remove chrome outline */
}
input:not([type="submit"]):focus,
textarea:focus {
	border-color: #666;
}
.btn,
.text-content .btn,
button,
input[type="submit"] {
	color: #fff;
	background-color: #000;
	border-color: #000;
	cursor: pointer;

	-o-transition: color 0.2s, background-color 0.2s, border-color 0.2s;
	-moz-transition: color 0.2s, background-color 0.2s, border-color 0.2s;
	-webkit-transition: color 0.2s, background-color 0.2s, border-color 0.2s;
	transition: color 0.2s, background-color 0.2s, border-color 0.2s;
}
.btn,
.text-content .btn {
	display: inline-block;
	width: auto;
}
.btn:hover,
.text-content .btn:hover,
button:hover,
input[type="submit"]:hover {
	background-color: #666;
	border-color: #666;
}
.btn:hover,
.text-content .btn:hover {
	color: #fff !important;
	fill: #fff !important;
}
.search-form > div {
	white-space: nowrap;
}
.search-form .search-field {
	max-width: 18rem;
}
.search-form .search-submit {
	width: auto;
	margin-left: 0.4em;
}
.search-form .screen-reader-text {
	display: none;
}
@media all and (max-width: 600px) {
	.search-form .search-field {
		width: 60%;
	}
}

/* remove X from chrome*/
input[type=text]::-ms-clear {  display: none; width : 0; height: 0; }
input[type=text]::-ms-reveal {  display: none; width : 0; height: 0; }
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration { display: none; }

.table-center {
	display: table;
	width: 100%;
	height: 100%;
}
.table-center.inline {
	display: inline-table;
}
.table-center > * {
	display: table-cell;
	width: 100%;
	height: 100%;
	text-align: center;
	vertical-align: middle;
}

.h-center {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}
.v-center {
	position: relative;
	top: 50%;

	-webkit-transform: perspective(1px) translateY(-50%);
	-ms-transform: perspective(1px) translateY(-50%);
	transform: perspective(1px) translateY(-50%);
}
@media all and (max-width: 1200px) {
	.v-center.v-center-no-tablet {
		top: auto;

		-webkit-transform: perspective(0) translateY(0);
		-ms-transform: perspective(0) translateY(0);
		transform: perspective(0) translateY(0);
	}
}
@media all and (max-width: 800px) {
	.v-center.v-center-no-mobile {
		top: auto;

		-webkit-transform: perspective(0) translateY(0);
		-ms-transform: perspective(0) translateY(0);
		transform: perspective(0) translateY(0);
	}
}

.over {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	pointer-events: none;
}
.over > * {
	pointer-events: all;
}
@media all and (max-width: 1200px) {
	.over.over-no-tablet {
		position: relative;
		height: auto;
		left: auto;
		top: auto;
	}
}
@media all and (max-width: 800px) {
	.over.over-no-mobile {
		position: relative;
		height: auto;
		left: auto;
		top: auto;
	}
}

.pull-left {
	float: left;
}
.pull-right {
	float: right;
}

.full-height {
	height: 100vh;
}

.border-box {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.round {
	font-size: 0;
	overflow: hidden;

	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
}

.hide,
.hidden {
	display: none !important;
}

.no-font-size {
	font-size: 0;
	letter-spacing: 0;
}

.no-pointer-events {
	pointer-events: none;
}
.all-pointer-events {
	pointer-events: all;
}

.disabled {
	pointer-events: none !important;
	opacity: 0.5;
}

.object-cover > *,
.image-cover > * {
	object-fit: cover;
}

.background-image {
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100% auto;
}
.background-contain {
	background-repeat: no-repeat;
	background-position: center;

	-webkit-background-size: contain;
	-moz-background-size: contain;
	-o-background-size: contain;
	background-size: contain;
}
.background-cover {
	background-repeat: no-repeat;
	background-position: center;

	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}
.background-fixed { /* not working on ios */
	background-repeat: no-repeat;
	background-position: center;
	background-attachment: fixed;

	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}

.img-span > *,
.svg-span > * {
	display: inline-block;
	vertical-align: middle;
}
.img-span > img,
.svg-span > svg {
	width: auto;
	height: 1.4em;
}
.img-span > img {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}
.img-span > *:first-child,
.svg-span > *:first-child {
	margin-right: 0.7em;
}

.aspect-ratio {
	position: relative;
}
.aspect-ratio::before {
	display: block;
	content: "";
	width: 100%;
	padding-top: 100%; /* (height/width)*100 */
}
.aspect-ratio.ratio-2-3::before {
	padding-top: 150%;
}
.aspect-ratio.ratio-3-4::before {
	padding-top: 133.333%;
}
.aspect-ratio.ratio-4-3::before {
	padding-top: 75%;
}
.aspect-ratio.ratio-3-2::before {
	padding-top: 66.667%;
}
.aspect-ratio.ratio-16-10::before {
	padding-top: 62.5%;
}
.aspect-ratio.ratio-16-9::before {
	padding-top: 56.25%;
}
.aspect-ratio.ratio-2-1::before {
	padding-top: 50%;
}
.aspect-ratio.ratio-3-1::before {
	padding-top: 33.333%;
}
.aspect-ratio > * {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}

.clearfix::before,
.clearfix::after {
	content: "";
	display: table;
}
.clearfix::after {
	clear: both;
}

.hide-scrollbar {
	overflow-y: auto;
	scrollbar-width: none; /* remove scrollbar for Firefox */
	-ms-overflow-style: none;  /* remove scrollbar for IE 10+ */
}
.hide-scrollbar::-webkit-scrollbar { /* remove scrollbar for webkit */
	width: 0px;
	background: transparent; /* optional */
}

.blink-animation {
	-webkit-animation: blink-animation 1s alternate infinite;
	animation: blink-animation 1s alternate infinite;
}
@keyframes blink-animation {
	from { opacity: 0.5; }
	to { opacity: 1; }
}
@-webkit-keyframes blink-animation {
	from { opacity: 0.5; }
	to { opacity: 1; }
}

.spin-animation {
	transform-origin: 50% 50%;

	-webkit-animation: spin-animation 1s infinite linear;
	animation: spin-animation 1s infinite linear;
}
@-webkit-keyframes spin-animation {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}
@keyframes spin-animation {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

.scroll-me-down-animation {
	-webkit-animation: scroll-me-down-animation 5s 1s infinite;
	animation: scroll-me-down-animation 5s 1s infinite;
}
@keyframes scroll-me-down-animation {
	0% {
		transform: translateY(0);
	}
	5% {
		transform: translateY(0.4em);
	}
	12% {
		transform: translateY(0);
	}
	15% {
		transform: translateY(0);
	}
	20% {
		transform: translateY(0.4em);
	}
	27% {
		transform: translateY(0);
	}
	100% {
		transform: translateY(0);
	}
}
@-webkit-keyframes scroll-me-down-animation {
	0% {
		transform: translateY(0);
	}
	5% {
		transform: translateY(0.4em);
	}
	12% {
		transform: translateY(0);
	}
	15% {
		transform: translateY(0);
	}
	20% {
		transform: translateY(0.4em);
	}
	27% {
		transform: translateY(0);
	}
	100% {
		transform: translateY(0);
	}
}

/* loading system */
.loadme {
	opacity: 0;
	visibility: hidden;

	-o-transition: opacity 0.4s, transform 0.6s;
	-moz-transition: opacity 0.4s, transform 0.6s;
	-webkit-transition: opacity 0.4s, -webkit-transform 0.6s;
	transition: opacity 0.4s, transform 0.6s;
}
.loadme:not(.loadme-static) {
	-ms-transform: translateY(35px);
	-webkit-transform: translateY(35px);
	transform: translateY(35px);
}
.loadme.loaded {
	opacity: 1;
	visibility: visible;
}
.loadme.loaded:not(.loadme-static) {
	-ms-transform: translateY(0);
	-webkit-transform: translateY(0);
	transform: translateY(0);
}
footer.loadme.loaded { /* fix 1 bottom px bug */
	-ms-transform: none;
	-webkit-transform: none;
	transform: none;
}

/* loader */
#h-loader {
	position: fixed;
	z-index: 100;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	font-size: 0;
}
#h-loader.on-top {
	z-index: 9999;
}
#h-loader svg {
	width: 60px;
	stroke: #666;
	stroke-width: 2px;

	-webkit-animation: loader 1s infinite linear;
	animation: loader 1s infinite linear;
}
@-webkit-keyframes loader {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}
@keyframes loader {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

/* archive pages */
body.search #title-block {
	z-index: 1;
}
body.error404 #title-block .head-search,
body.search #title-block .head-search {
	margin-top: 1em;
}
body.search .search-excerpt,
body.search .search-highlight {
	background-color: rgba(255, 255, 0, 0.8);
}

/* blocks */
section {
	position: relative;
	margin-bottom: 60px;
}
section.small-margin {
	margin-bottom: 20px;
}
section.large-margin {
	margin-bottom: 120px;
}
section.largest-margin {
	margin-bottom: 160px;
}
section.no-margin {
	margin-bottom: -1px;
}
.container {
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 var(--padding-l-r);
}
.container.full-width {
	max-width: none;
}
.container.limited-width {
	max-width: 720px;
}
.container.no-padding {
	padding-left: 0;
	padding-right: 0;
}
@media all and (max-width: 800px) {
	section {
		margin-bottom: 40px;
	}
	section.small-margin {
		margin-bottom: 20px;
	}
	section.large-margin {
		margin-bottom: 60px;
	}
	section.largest-margin {
		margin-bottom: 100px;
	}
}

/* pagination */
#bottom-pagination {
	font-size: 1rem;
	text-align: center;
}
#bottom-pagination a {
	text-decoration: none;
}
#bottom-pagination .page-numbers,
#bottom-pagination .page-arrows {
	margin-bottom: 0;
	color: #666;
	font-weight: bold;
	font-size: 1.2em;
	vertical-align: middle;
}
#bottom-pagination .page-numbers {
	margin: 0 0.25em;
}
#bottom-pagination .page-numbers.current {
	color: #333;
}
#bottom-pagination .page-arrows.prev-page {
	float: left;
}
#bottom-pagination .page-arrows.next-page {
	float: right;
}
#bottom-pagination .page-arrows {
	font-weight: normal;
	text-transform: lowercase;
}
@media all and (max-width: 600px) {
	#bottom-pagination .page-numbers,
	#bottom-pagination .page-arrows {
		font-size: 1.1em;
	}
	#bottom-pagination .page-arrows .letter {
		display: none;
	}
}

/* top/bottom info notice */
.h-info-notice {
	display: none;
	position: fixed;
	z-index: 111;
	width: 100%;
	left: 0;
	bottom: 0;
	color: #333;
	background-color: #eee;
}
.h-info-notice > .container {
	display: flex;
	justify-content: space-between;
	gap: 1.25rem;
	padding-top: 1.25rem;
	padding-bottom: 1.25rem;
}
.h-info-notice .text-content {
	font-size: 0.85rem;
	letter-spacing: 0;
}
.h-info-notice .text-content > * {
	line-height: 1.4;
}
.h-info-notice .text-content > *:not(:last-child) {
	margin-bottom: 0.6em;
}
.h-info-notice .text-content a {
	margin-top: 0;
	font-size: 1em;
	text-decoration: underline;
}
.h-info-notice .text-content .accept-btn {
	width: auto !important;
	height: auto !important;
	text-decoration: none !important;
	white-space: nowrap;
}
@media all and (max-width: 600px) {
	.h-info-notice > .container {
		flex-direction: column;
	}
}

/* popup notice */
.h-popup-notice {
	display: none;
	position: fixed;
	z-index: 112;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-color: rgba(255, 255, 255, 0.9);
}
.h-popup-notice .container > div {
	position: relative;
	background-color: #eee;
}
.h-popup-notice .container .text-content {
	padding: 40px;
}
.h-popup-notice .close-btn {
	position: absolute;
	width: 18px !important;
	height: 18px !important;
	right: 20px;
	top: 20px;
	stroke: #333;
	text-decoration: none !important;
}
@media all and (max-width: 600px) {
	.h-popup-notice .container .text-content {
		padding: 30px 20px;
	}
}

/* full-screen notice */
.h-full-screen-notice {
	display: none;
	position: fixed;
	z-index: 9999;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-color: #fff;
}
.h-full-screen-notice.active,
.h-full-screen-notice#javascript-notice {
	display: table;
}
.h-full-screen-notice div {
	display: table-cell;
	width: 100%;
	height: 100%;
	padding: 4%;
	font-size: 1.8rem;
	font-family: Arial, sans-serif;
	color: #000;
	text-align: center;
	vertical-align: middle;
}
.h-full-screen-notice div p {
	font-size: inherit;
	color: inherit;
}
.h-full-screen-notice div a {
	font-size: inherit;
	color: inherit;
	text-decoration: underline;
}

/* hamburger and close buttons */
.h-btn {
	display: inline-block;
	z-index: 1000;
	width: 22px;
	height: 22px;
	font-size: 0;
	cursor: pointer;
	stroke: #000;
	stroke-width: 1px;
	text-decoration: none !important;

	-o-transition: stroke 0.2s;
	-moz-transition: stroke 0.2s;
	-webkit-transition: stroke 0.2s;
	transition: stroke 0.2s;
}
.h-btn:hover {
	stroke: #666;
}
.hamburger-btn {
	width: 27px;
	height: 21px;
}

/* social shares/links */
.social-shares > * {
	display: inline-block;
	vertical-align: middle;
}
.social-shares > h4 {
	margin-right: 0.5em;
	margin-bottom: 0 !important;
	font-size: 1rem;
}
.social-shares:not(.text) > ul,
.social-links:not(.text) > ul {
	font-size: 0;
}
.social-shares:not(.text) > ul > li,
.social-links:not(.text) > ul > li {
	display: inline-block;
	width: 1.3rem;
}
.social-shares > ul > li:not(:first-child),
.social-links > ul > li:not(:first-child) {
	margin-left: 0.7rem;
}
.social-shares ul > li a,
.social-links ul > li a {
	display: block;

	-o-transition: color 0.2s, border-color 0.2s;
	-moz-transition: color 0.2s, border-color 0.2s;
	-webkit-transition: color 0.2s, border-color 0.2s;
	transition: color 0.2s, border-color 0.2s;
}
.social-shares.text ul > li a,
.social-links.text ul > li a {
	display: inline-block;
}
.social-shares.rounded ul > li a,
.social-links.rounded ul > li a {
	padding: 6px;
	border: 1px solid #000;

	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
}
.social-shares ul > li a svg,
.social-links ul > li a svg {
	width: 100%;
	height: auto;
	vertical-align: middle;
}
.social-shares.text ul > li a svg,
.social-links.text ul > li a svg {
	display: none;
}
.social-shares ul > li a span,
.social-links ul > li a span {
	display: none;
	vertical-align: middle;
}
.social-shares.text ul > li a span,
.social-links.text ul > li a span {
	display: block;
}

/* embeded youtube/vimeo video */
.video-link {
	position: relative;
	display: block;
	font-size: 0;
}
.video-link img,
.video-link .image {
	-o-transition: opacity 0.2s;
	-moz-transition: opacity 0.2s;
	-webkit-transition: opacity 0.2s;
	transition: opacity 0.2s;
}
.video-link:not(.disabled):hover img,
.video-link:not(.disabled):hover .image {
	opacity: 0.8;
}
.video-link .video-container {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	opacity: 0;
	background-color: #000;
}

/* background vimeo video */
.background-vimeo-video {
	width: 100%;
	height: 56.25vw;
	overflow: hidden;
	background-color: #000;
}

/* html video */
.html-video {
	position: relative;
	padding-top: 56.25%; /* 16:9 */
	background-color: #000;
}
.html-video video {
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
}

/* background html video */
.background-html-video {
	position: relative;
	width: 100%;
	height: 100vh;
	overflow: hidden;
	background-color: #000;
}
.background-html-video video {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 50%;
	left: 50%;
}
/* no object-fit support */
@media(min-aspect-ratio: 16/9) {
	.background-html-video > video {
		height: 300%;
		top: -100%;
	}
}
@media(max-aspect-ratio: 16/9) {
	.background-html-video > video {
		width: 300%;
		left: -100%;
	}
}
/* 2. object-fit support */
@supports(object-fit: cover) {
	.background-html-video > video {
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		object-fit: cover;
	}
}

body.under-construction #main-block .logo {
	max-width: 300px;
	margin: 0 auto 40px auto;
}

div.leaflet-bottom.leaflet-left, /* mapbox logo */
div.leaflet-bottom.leaflet-right, /* mapbox terms */
div:not([class]) > .gmnoprint:not(.gm-bundled-control), /* gmaps terms and policy stuff */
div:not([class]) > .gm-style-cc {
	display: none;
}
div.leaflet-bottom,
div.leaflet-top {
	z-index: 90;
}

.otgs-development-site-front-end { /* wpml developement notice */
	display: none !important;
}
