@charset "utf-8";

/* ====================================================================================================
	@font-face
==================================================================================================== */

/* Montserrat
================================================================================ */
@font-face{font-family:"Montserrat";src:url("../fonts/montserrat/montserrat-regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Montserrat";src:url("../fonts/montserrat/montserrat-medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:"Montserrat";src:url("../fonts/montserrat/montserrat-semibold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:"Montserrat";src:url("../fonts/montserrat/montserrat-bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"Montserrat";src:url("../fonts/montserrat/montserrat-extrabold.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}


/* ====================================================================================================
	reset styles
==================================================================================================== */
*,*::before,*::after{box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}html{height:100%}body{min-height:100%;margin:0;-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}:where(h1,h2,h3,h4,h5,h6,p,ul,ol,dl,p,table,address,pre,iframe,form){margin-block:0}:where(ul,ol){padding-left:0;list-style:none}:where(dd){margin-left:0}:where(blockquote,figure){margin:0}:where(sub),:where(sup){position:relative;vertical-align:baseline;font-size:75%;line-height:0}:where(sub){bottom:-.25rem}:where(sup){top:.5rem}:where(a){background-color:transparent;color:inherit;text-decoration:none}:where(address){font-style:normal}:where(pre),:where(code),:where(kbd),:where(samp){font-family:monospace}:where(abbr[title]){border-bottom:none;text-decoration:underline;text-decoration:underline dotted}:where(img){display:block;width:100%;max-width:100%;border-style:none}:where(table){width:100%;border-collapse:collapse;border-spacing:0}:where(fieldset){margin-left:0;padding:0;border:none}input,textarea,select,button{outline:none}label[for]{cursor:pointer}button,[type="button"],[type="reset"],[type="submit"]{border:none;user-select:none;-webkit-appearance:none;appearance:none;cursor:pointer}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{-moz-appearance:textfield;-webkit-appearance:none;appearance:none;height:auto;margin:0}[type="search"]{-webkit-appearance:textfield;appearance:textfield;outline-offset:-2px}textarea{resize:vertical}svg *[fill]{fill:currentColor}svg *[stroke]{stroke:currentColor}svg *{transition-property:fill,stroke}:where(iframe){border:none}[hidden]{display:none!important}@media (prefers-reduced-motion:no-preference){html,:has(:target){scroll-behavior:smooth}}@media (prefers-reduced-motion:reduce){*,::before,::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}


/* ====================================================================================================
	variables
==================================================================================================== */
:root {
	--white-color: hsl(0 0% 100%);
	--dark-color: hsl(210 65% 12%);

	--text-color: hsl(0 0% 20%);
	--blue-color: hsl(210 62% 31%);
	--cyan-color: hsl(197 88% 63%);
	--orange-color: hsl(24 100% 50%);

	--light-bg: hsl(0 0% 95%);
	--border-color: hsl(220 5% 89%);
	--grey-color: hsl(0 0% 64%);

	--form-disabled: hsl(0 0% 0% / .42);

	--container-center-padding-inline: .875rem;
	--container-center-padding-block-index: clamp(2.875rem, 2.195rem + 3.4vw, 5rem);
	--border-radius: .25rem;

	--th-td-padding-block: 1.25rem;
	--th-td-padding-inline: .938rem;

	--main-font: "Montserrat";
}


/* ====================================================================================================
	layouts
==================================================================================================== */
body {
	min-width: 20rem; /* 320px */
	color: var(--text-color);
	font: normal normal 400 1rem/1.2 var(--main-font), sans-serif;
}

@media (max-width: 74.98rem) {

	body {
		padding-top: 3.125rem;
	}

}

.wrapper {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	overflow: hidden;
}

.container-center {
	max-width: 82.5rem;
	margin-inline: auto;
	padding-inline: var(--container-center-padding-inline);
}

/* @media desktop-first
================================================================================ */
/* 1399.98px - 1140px */
@media (max-width: 87.48rem) {

	.container-center {
		max-width: 71.25rem;
	}

}

/* 1199.98px - 960px */
@media (max-width: 74.98rem) {

	.container-center {
		max-width: 60rem;
	}

}

/* 991.98px - 720px */
@media (max-width: 61.98rem) {

	.container-center {
		max-width: 45rem;
	}

}

/* 767.98px - 540px */
@media (max-width: 47.98rem) {

	.container-center {
		max-width: 33.75rem;
	}

}

/* 575.98px - none */
@media (max-width: 35.98rem) {

	.container-center {
		max-width: none;
	}

}

/* container-flex
================================================================================ */
:where(.container-flex) {
	display: flex;
	flex-wrap: wrap;
}

:where(.container-flex) > * {
	flex-grow: 0;
	flex-shrink: 0;
	flex-basis: auto;
	width: none;
	align-self: auto;
	order: 0;
}

/* main, content + sidebar
================================================================================ */
.main {
	flex-grow: 1;

	/* background: #FFCCFF; */
}

.main.container-center {
	padding: 3.75rem var(--container-center-padding-inline) 5rem;

	/* background: salmon; */
}


/* ====================================================================================================
	common elements and effects
==================================================================================================== */

/* up-page
================================================================================ */
.up-page {
	display: block;
	position: fixed;
	right: 1.875rem;
	bottom: 6.25rem;
	z-index: 200;
	width: 3.75rem;
	height: 3.75rem;
	border: .063rem solid hsl(0 0% 100% / .2);
	border-radius: var(--border-radius);
	background: var(--dark-color) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='hsl(0 0% 100%)'%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z'/%3E%3C/svg%3E") no-repeat center / auto 1.875rem;
	visibility: hidden;
	opacity: 0;
	transition: visibility .2s linear .02s,
				opacity .2s linear .02s,
				background-color .2s linear .02s;
	cursor: pointer;
}

@media (max-width: 74.98rem) {

	.up-page {
		display: none;
	}

}

@media (hover: hover) and (pointer: fine) {

	.up-page:hover {
		background-color: var(--blue-color);
	}

}

.up-page:active {
	background-color: var(--grey-color);
}

/* typography
================================================================================ */
/* h1 - h6
============================================================ */
.main :where(h1),
.main :where(.h1) {
	margin-bottom: 1.875rem;
	color: var(--dark-color);
	font-weight: 600;
	/* 26.8px < 40px */
	font-size: clamp(1.675rem, 1.411rem + 1.32vw, 2.5rem);
	text-transform: uppercase;
}

.main :where(h1)::after,
.main :where(.h1)::after {
	content: "";
	display: block;
	width: 3.125rem;
	height: .125rem;
	margin: .938rem 0 0;
	background: var(--cyan-color);
}


.main :where(h2),
.main :where(.h2) {
	margin: 2.5rem 0 1.875rem;
	color: var(--dark-color);
	font-weight: 600;
	/* 24px < 32px */
	font-size: clamp(1.5rem, 1.34rem + 0.8vw, 2rem);
	line-height: 1.2;
	text-transform: uppercase;
}

.main :where(h2)::after,
.main :where(.h2)::after {
	content: "";
	display: block;
	width: 3.125rem;
	height: .125rem;
	margin: .938rem 0 0;
	background: var(--cyan-color);
}


.main :where(h3),
.main :where(.h3) {
	margin: 2.5rem 0 1.875rem;
	color: var(--dark-color);
	font-weight: 500;
	/* 22.75px < 28px */
	font-size: clamp(1.421875rem, 1.3169rem + 0.525vw, 1.75rem);
	line-height: 1.2;
}

/* .main :where(h3)::after,
.main :where(.h3)::after {
	content: "";
	display: block;
	width: 3.125rem;
	height: .125rem;
	margin: .938rem 0 0;
	background: var(--cyan-color);
} */


.main :where(h4),
.main :where(.h4) {
	margin: 2.5rem 0 1.875rem;
	color: var(--dark-color);
	font-weight: 500;
	/* 21.36px < 24px */
	font-size: clamp(1.335rem, 1.2822rem + 0.264vw, 1.5rem);
}

/* .main :where(h4)::after,
.main :where(.h4)::after {
	content: "";
	display: block;
	width: 3.125rem;
	height: .125rem;
	margin: .938rem 0 0;
	background: var(--cyan-color);
} */


.main :where(h5),
.main :where(.h5) {
	margin: 2.5rem 0 1.25rem;
	color: var(--dark-color);
	font-weight: 600;
	/* 20px */
	font-size: 1.25rem;
}

.main :where(h6),
.main :where(.h6) {
	margin: 2.5rem 0 1.25rem;
	color: var(--dark-color);
	font-weight: 600;
	/* 16px */
	font-size: 1rem;
}

/* text elements
============================================================ */
.main :where(p) {
	margin: 0 0 1rem;
	line-height: 1.5;
}

.main :where(p) a {
	color: var(--cyan-color);
	text-decoration: underline;
}

@media (hover: hover) and (pointer: fine) {

	.main :where(p) a:hover {
		text-decoration: none;
	}

}

.main :where(p) a:active {
	color: var(--grey-color);
}


.bold-500 {
	font-weight: 500;
}

.bold-600 {
	font-weight: 600;
}

strong,
.bold-700 {
	font-weight: 700;
}

.bold-800 {
	font-weight: 800;
}

.italic {
	font-style: italic;
}

.uppercase {
	text-transform: uppercase;
}

mark {
	padding: 0 .25rem;
	background: hsl(50, 81%, 94%);
}

small {
	font-size: 80%;
}

sub,
sup {
	position: relative;
	vertical-align: baseline;
	font-size: 75%;
	line-height: 0;
}

sub {
	bottom: -.25rem;
}

sup {
	top: -.5rem;
}

/* 
============================================================ */
.block-960px {
	max-width: 60rem;
	margin-inline: auto;
}

/* ul
============================================================ */
.main :where(ul:not([class])) {
	margin: 1.25rem 0 1.875rem;
}

.main :where(ul:not([class])) li {
	position: relative;
	margin-bottom: .25rem;
	padding-left: 1rem;
	line-height: 1.3;
}

.main :where(ul:not([class])) li::before {
	content: "";
	display: block;
	position: absolute;
	top: .438rem;
	left: 0;
	width: .313rem;
	height: .313rem;
	background: var(--cyan-color);
}

.main :where(ul:not([class])) li a {
	display: inline-block;
	color: var(--cyan-color);
	text-decoration: underline;
}

@media (hover: hover) and (pointer: fine) {

	.main :where(ul:not([class])) li a:hover {
		text-decoration: none;
	}

}

.main :where(ul:not([class])) li a:active {
	color:  var(--grey-color);
}

.main :where(ul:not([class])) ul:not([class]) {
	margin-block: .625rem;
} 

/* img
================================================================================ */
img {
	border-radius: var(--border-radius);
}

/* glightbox
============================================================ */
.glightbox-container {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999999 !important;
	overflow: hidden;
	touch-action: none;
	text-size-adjust: 100%;
	backface-visibility: hidden;
	outline: none;
}

.glightbox-container.inactive {
	display: none;
}

.glightbox-container .gcontainer {
	position: relative;
	width: 100%;
	height: 100%;
	z-index: 9999;
	overflow: hidden;
}

.glightbox-container .gslider {
	transition: transform 0.4s ease;
	height: 100%;
	left: 0;
	top: 0;
	width: 100%;
	position: relative;
	overflow: hidden;
	display: flex !important;
	justify-content: center;
	align-items: center;
	transform: translate3d(0, 0, 0);
}

.glightbox-container .gslide {
	width: 100%;
	position: absolute;
	user-select: none;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
}

.glightbox-container .gslide.current {
	opacity: 1;
	z-index: 99999;
	position: relative;
}

.glightbox-container .gslide.prev {
	opacity: 1;
	z-index: 9999;
}

.glightbox-container .gslide-inner-content {
	width: 100%;
}

.glightbox-container .ginner-container {
	position: relative;
	width: 100%;
	display: flex;
	justify-content: center;
	flex-direction: column;
	max-width: 100%;
	margin: auto;
	height: 100vh;
}

.glightbox-container .ginner-container.gvideo-container {
	width: 100%;
}

.glightbox-container .ginner-container.desc-bottom,
.glightbox-container .ginner-container.desc-top {
	flex-direction: column;
}

.glightbox-container .ginner-container.desc-left,
.glightbox-container .ginner-container.desc-right {
	max-width: 100% !important;
}

.gslide iframe,
.gslide video {
	outline: none !important;
	border: none;
	min-height: 165px;
	touch-action: auto;
}

.gslide:not(.current) {
	pointer-events: none;
}

.gslide-image {
	align-items: center;
	overflow: hidden;
	border-radius: var(--border-radius);
}

.gslide-image img {
	max-height: 100vh;
	display: block;
	padding: 0;
	float: none;
	outline: none;
	border: none;
	user-select: none;
	max-width: 100vw;
	width: auto;
	height: auto;
	object-fit: cover;
	touch-action: none;
	margin: auto;
	min-width: 200px;
}

.desc-top .gslide-image img,
.desc-bottom .gslide-image img {
	width: auto;
}

.desc-left .gslide-image img,
.desc-right .gslide-image img {
	width: auto;
	max-width: 100%;
}

.gslide-image img.zoomable {
	position: relative;
}

.gslide-image img.dragging {
	cursor: grabbing !important;
	transition: none;
}

.gslide-video {
	position: relative;
	max-width: 100vh;
	width: 100% !important;
}

.gslide-video .plyr__poster-enabled.plyr--loading .plyr__poster {
	display: none;
}

.gslide-video .gvideo-wrapper {
	width: 100%;
	/* max-width: 160vmin; */
	margin: auto;
}

.gslide-video::before {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	background: rgba(255, 0, 0, 0.34);
	display: none;
}

.gslide-video.playing::before {
	display: none;
}

.gslide-video.fullscreen {
	max-width: 100% !important;
	min-width: 100%;
	height: 75vh;
}

.gslide-video.fullscreen video {
	max-width: 100% !important;
	width: 100% !important;
}

.gslide-inline {
	background: var(--white-color);
	text-align: left;
	max-height: calc(100vh - 40px);
	overflow: auto;
	max-width: 100%;
	margin: auto;
}

.gslide-inline .ginlined-content {
	padding: 20px;
	width: 100%;
}

.gslide-inline .dragging {
	cursor: grabbing !important;
	transition: none;
}

.ginlined-content {
	overflow: auto;
	display: block !important;
	opacity: 1;
}

.gslide-external {
	display: flex;
	width: 100%;
	min-width: 100%;
	background: var(--white-color);
	padding: 0;
	overflow: auto;
	max-height: 75vh;
	height: 100%;
}

.gslide-media {
	display: flex;
	width: auto;
}

.zoomed .gslide-media {
	box-shadow: none !important;
}

.desc-top .gslide-media,
.desc-bottom .gslide-media {
	margin: 0 auto;
	flex-direction: column;
}

.gslide-description {
	position: relative;
	flex: 1 0 100%;
}

.gslide-description.description-left,
.gslide-description.description-right {
	max-width: 100%;
}

.gslide-description.description-bottom,
.gslide-description.description-top {
	margin: 0 auto;
	width: 100%;
}

.gslide-description p {
	margin-bottom: 12px;
}

.gslide-description p:last-child {
	margin-bottom: 0;
}

.zoomed .gslide-description {
	display: none;
}

.glightbox-button-hidden {
	display: none;
}


/*
 * Description for mobiles
 * something like facebook does the description
 * for the photos
*/
.glightbox-mobile .glightbox-container .gslide-description {
	height: auto !important;
	width: 100%;
	position: absolute;
	bottom: 0;
	padding: 19px 11px;
	max-width: 100vw !important;
	order: 2 !important;
	max-height: 78vh;
	overflow: auto !important;
	background: linear-gradient(to bottom, hsl(0 0% 9% / 0) 0%, hsl(0 0% 9% /.75) 100%);
	transition: opacity 0.3s linear;
	padding-bottom: 50px;
}

.glightbox-mobile .glightbox-container .gslide-title {
	color: var(--white-color);
	font-size: 1em;
}

.glightbox-mobile .glightbox-container .gslide-desc {
	color: var(--border-color);
}

.glightbox-mobile .glightbox-container .gslide-desc a {
	color: var(--white-color);
	font-weight: bold;
}

.glightbox-mobile .glightbox-container .gslide-desc * {
	color: inherit;
}

.glightbox-mobile .glightbox-container .gslide-desc .desc-more {
	color: var(--white-color);
	opacity: 0.4;
}

.gdesc-open .gslide-media {
	transition: opacity 0.5s ease;
	opacity: 0.4;
}

.gdesc-open .gdesc-inner {
	padding-bottom: 30px;
}

.gdesc-closed .gslide-media {
	transition: opacity 0.5s ease;
	opacity: 1;
}

.greset {
	transition: all 0.3s ease;
}

.gabsolute {
	position: absolute;
}

.grelative {
	position: relative;
}

.glightbox-desc {
	display: none !important;
}

.glightbox-open {
	overflow: hidden;
}

.gloader {
	height: 25px;
	width: 25px;
	animation: lightboxLoader 0.8s infinite linear;
	border: 2px solid var(--white-color);
	border-right-color: transparent;
	border-radius: 50%;
	position: absolute;
	display: block;
	z-index: 9999;
	left: 0;
	right: 0;
	margin: 0 auto;
	top: 47%;
}

.goverlay {
	width: 100%;
	height: calc(100vh + 1px);
	position: fixed;
	top: -1px;
	left: 0;
	background: var(--black-color);
	will-change: opacity;
}

.glightbox-mobile .goverlay {
	background: var(--black-color);
}

.gprev,
.gnext,
.gclose {
	z-index: 99999;
	cursor: pointer;
	width: 26px;
	height: 44px;
	border: none;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}

.gprev svg,
.gnext svg,
.gclose svg {
	display: block;
	width: 25px;
	height: auto;
	margin: 0;
	padding: 0;
}

.gprev.disabled,
.gnext.disabled,
.gclose.disabled {
	opacity: 0.1;
}

.gprev .garrow,
.gnext .garrow,
.gclose .garrow {
	stroke: var(--white-color);
}

.gbtn.focused {
	outline: 2px solid #0f3d81;
}

iframe.wait-autoplay {
	opacity: 0;
}

.glightbox-closing .gnext,
.glightbox-closing .gprev,
.glightbox-closing .gclose {
	opacity: 0 !important;
}


/*Skin */

.glightbox-clean .gslide-description {
	background: var(--white-color);
}

.glightbox-clean .gdesc-inner {
	padding: 22px 20px;
}

.glightbox-clean .gslide-title {
	font-size: 1em;
	font-weight: normal;
	font-family: arial;
	color: var(--black-color);
	margin-bottom: 19px;
	line-height: 1.4em;
}

.glightbox-clean .gslide-desc {
	font-size: 0.86em;
	margin-bottom: 0;
	font-family: arial;
	line-height: 1.4em;
}

.glightbox-clean .gslide-video {
	background: var(--black-color);
}

.glightbox-clean .gprev,
.glightbox-clean .gnext,
.glightbox-clean .gclose {
	background-color: hsl(0 0% 9% /.75);
	border-radius: 4px;
}

.glightbox-clean .gprev path,
.glightbox-clean .gnext path,
.glightbox-clean .gclose path {
	fill: var(--white-color);
}

.glightbox-clean .gprev {
	position: absolute;
	top: -100%;
	left: 30px;
	width: 40px;
	height: 50px;
}

.glightbox-clean .gnext {
	position: absolute;
	top: -100%;
	right: 30px;
	width: 40px;
	height: 50px;
}

.glightbox-clean .gclose {
	width: 35px;
	height: 35px;
	top: 15px;
	right: 10px;
	position: absolute;
}

.glightbox-clean .gclose svg {
	width: 18px;
	height: auto;
}

.glightbox-clean .gclose:hover {
	opacity: 1;
}


/*CSS Animations*/

.gfadeIn {
	animation: gfadeIn 0.5s ease;
}

.gfadeOut {
	animation: gfadeOut 0.5s ease;
}

.gslideOutLeft {
	animation: gslideOutLeft 0.3s ease;
}

.gslideInLeft {
	animation: gslideInLeft 0.3s ease;
}

.gslideOutRight {
	animation: gslideOutRight 0.3s ease;
}

.gslideInRight {
	animation: gslideInRight 0.3s ease;
}

.gzoomIn {
	animation: gzoomIn 0.5s ease;
}

.gzoomOut {
	animation: gzoomOut 0.5s ease;
}

@keyframes lightboxLoader {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

@keyframes gfadeIn {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes gfadeOut {
	from {
		opacity: 1;
	}

	to {
		opacity: 0;
	}
}

@keyframes gslideInLeft {
	from {
		opacity: 0;
		transform: translate3d(-60%, 0, 0);
	}

	to {
		visibility: visible;
		transform: translate3d(0, 0, 0);
		opacity: 1;
	}
}

@keyframes gslideOutLeft {
	from {
		opacity: 1;
		visibility: visible;
		transform: translate3d(0, 0, 0);
	}

	to {
		transform: translate3d(-60%, 0, 0);
		opacity: 0;
		visibility: hidden;
	}
}

@keyframes gslideInRight {
	from {
		opacity: 0;
		visibility: visible;
		transform: translate3d(60%, 0, 0);
	}

	to {
		transform: translate3d(0, 0, 0);
		opacity: 1;
	}
}

@keyframes gslideOutRight {
	from {
		opacity: 1;
		visibility: visible;
		transform: translate3d(0, 0, 0);
	}

	to {
		transform: translate3d(60%, 0, 0);
		opacity: 0;
	}
}

@keyframes gzoomIn {
	from {
		opacity: 0;
		transform: scale3d(0.3, 0.3, 0.3);
	}

	to {
		opacity: 1;
	}
}

@keyframes gzoomOut {
	from {
		opacity: 1;
	}

	50% {
		opacity: 0;
		transform: scale3d(0.3, 0.3, 0.3);
	}

	to {
		opacity: 0;
	}
}

@media (min-width: 769px) {
	.glightbox-container .ginner-container {
		width: auto;
		height: auto;
		flex-direction: row;
	}

	.glightbox-container .ginner-container.desc-top .gslide-description {
		order: 0;
	}

	.glightbox-container .ginner-container.desc-top .gslide-image,
	.glightbox-container .ginner-container.desc-top .gslide-image img {
		order: 1;
	}

	.glightbox-container .ginner-container.desc-left .gslide-description {
		order: 0;
	}

	.glightbox-container .ginner-container.desc-left .gslide-image {
		order: 1;
	}

	.gslide-image img {
		max-height: 97vh;
		max-width: 100%;
	}

	.gslide-image img.zoomable {
		cursor: zoom-in;
	}

	.zoomed .gslide-image img.zoomable {
		cursor: grab;
	}

	.gslide-inline {
		max-height: 95vh;
	}

	.gslide-external {
		max-height: 100vh;
	}

	.gslide-description.description-left,
	.gslide-description.description-right {
		max-width: 275px;
	}

	.glightbox-open {
		height: auto;
	}

	.goverlay {
		background: hsl(0 0% 9% /.92);
	}

	.glightbox-clean .gslide-media {
		box-shadow: 1px 2px 9px 0px hsl(0 0% 9% /.65);
	}

	.glightbox-clean .description-left .gdesc-inner,
	.glightbox-clean .description-right .gdesc-inner {
		position: absolute;
		height: 100%;
		overflow-y: auto;
	}

	.glightbox-clean .gprev,
	.glightbox-clean .gnext,
	.glightbox-clean .gclose {
		background-color: hsl(0 0% 9% /.32);
	}

	.glightbox-clean .gprev:hover,
	.glightbox-clean .gnext:hover,
	.glightbox-clean .gclose:hover {
		background-color: hsl(0 0% 9% /.7);
	}

	.glightbox-clean .gprev {
		top: 45%;
	}

	.glightbox-clean .gnext {
		top: 45%;
	}
}

@media (min-width: 992px) {
	.glightbox-clean .gclose {
		opacity: 0.7;
		right: 20px;
	}
}

@media screen and (max-height: 420px) {
	.goverlay {
		background: var(--black-color);
	}
}


.glightbox {
	position: relative;
	z-index: 1;
}

.glightbox::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1;
	transform: translate(-50%, -50%);
	width: 3.75rem;
	height: 3.75rem;
	border-radius: var(--border-radius);
	background: hsl(0 0% 9% / .5) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='hsl(0 0% 100%)' viewBox='0 -960 960 960'%3E%3Cpath d='M779.38-153.85 528.92-404.31q-30 25.54-69 39.54t-78.38 14q-96.1 0-162.67-66.53-66.56-66.53-66.56-162.57 0-96.05 66.53-162.71 66.53-66.65 162.57-66.65 96.05 0 162.71 66.56Q610.77-676.1 610.77-580q0 41.69-14.77 80.69t-38.77 66.69l250.46 250.47zM381.54-390.77q79.61 0 134.42-54.81 54.81-54.8 54.81-134.42t-54.81-134.42q-54.81-54.81-134.42-54.81-79.62 0-134.42 54.81-54.81 54.8-54.81 134.42t54.81 134.42q54.8 54.81 134.42 54.81m-20-93.85V-560h-75.39v-40h75.39v-75.38h40V-600h75.38v40h-75.38v75.38z'/%3E%3C/svg%3E") no-repeat center / auto 2.5rem;
	visibility: hidden;
	opacity: 0;
	transition: all .3s .02s linear;

	/* background: red; */
}

@media (hover: hover) and (pointer: fine) {

	.glightbox:hover::before {
		visibility: visible;
		opacity: 1;
	}

}

/* tabs-js
================================================================================ */
:where(.tabs-js) {
	--tabs-left: 22.5rem;
	display: flex;
	margin-block: 2.5rem;

	/* border: 2px solid peru; */
}

/* @media (max-width: 1199.98px) {

	:where(.tabs-js) {
		display: block;
	}

} */


:where(.btns-tabs-js) {
	flex-basis: var(--tabs-left);
	width: var(--tabs-left);
	display: flex;
	flex-direction: column;

	/* border: 1px solid greenyellow; */
}

@media (max-width: 1199.98px) {

	:where(.btns-tabs-js) {
		display: none;
	}

}

:where(.btns-tabs-js) li {
	position: relative;
	margin-bottom: .625rem;
	padding: 1rem;
	padding-right: 2rem;
	border: .063rem solid var(--border-color);
	border-radius: var(--border-radius);
	background: var(--light-bg);
	cursor: pointer;
	font-weight: 500;
	transition: all .2s linear .02s;
}

:where(.btns-tabs-js) li::after {  
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: .25rem;
	transform: translateY(-50%);
	width: 1.75rem;
	height: 1.75rem;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 -960 960 960' width='24px' fill='hsl(197 88% 63%)'%3E%3Cpath d='m517.85-480-184-184L376-706.15 602.15-480 376-253.85 333.85-296l184-184Z'/%3E%3C/svg%3E") no-repeat center / auto 100%;
}

@media (hover: hover) and (pointer: fine) {

	:where(.btns-tabs-js) li:not(.active-btns-tabs-js):hover {
		background: var(--white-color);
	}

}

:where(.btns-tabs-js) .active-btns-tabs-js {
	border-color: var(--cyan-color);
	background: var(--cyan-color);
	color: var(--white-color);
}

:where(.btns-tabs-js) .active-btns-tabs-js::after {
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 -960 960 960' width='24px' fill='hsl(0 0% 100%)'%3E%3Cpath d='m517.85-480-184-184L376-706.15 602.15-480 376-253.85 333.85-296l184-184Z'/%3E%3C/svg%3E") no-repeat center / auto 100%;
}


:where(.container-tabs-js) {
	flex-basis: calc(100% - var(--tabs-left) - 1.25rem);
	width: calc(100% - var(--tabs-left) - 1.25rem);
	margin-left: 1.25rem;
	border: .063rem solid var(--border-color);
	border-radius: var(--border-radius);
	overflow: hidden;

	/* border-color: red; */
}

@media (max-width: 74.98rem) {

	:where(.container-tabs-js) {
		flex-basis: 100%;
		width: 100%;
		margin-left: 0;
	}

}


:where(.tabs-js) .content-tab-js {
	position: relative;
}

/* :where(.tabs-js) .content-tab-js.active-content-tab-js {
} */


:where(.tabs-js) .content-tab-js::before {
	display: none;
}

@media (max-width: 1199.98px) {

	:where(.tabs-js) .content-tab-js::before {
		content: attr(data-title);
		display: block;
		padding: 1.125rem 1.25rem;
		padding-right: 2.5rem;
		border-top: .063rem solid var(--border-color);
		background: var(--light-bg);
		cursor: pointer;
			-webkit-touch-callout: none;
		user-select: none;
		font-size: 1.125rem;
		transition: all .2s .02s linear;

		/* background: red; */
	}

	:where(.tabs-js) .content-tab-js:first-child::before {
		border-top: none
	}

	:where(.tabs-js) .content-tab-js.active-content-tab-js::before {
		background: var(--cyan-color);
		color: var(--white-color);
	}

	:where(.tabs-js) .content-tab-js::after {
		content: "";
		display: block;
		position: absolute;
		top: 1.625rem;
		right: 1.25rem;
		transform: rotate(-45deg);
		height: .5rem;
		width: .5rem;
		border: .125rem solid var(--cyan-color);
		border-right-width: 0;
		border-top-width: 0;
		transition: rotate .2s linear .02s;

		/* background: palegreen; */
	}

	:where(.tabs-js) .content-tab-js.active-content-tab-js::after {
		border: .125rem solid var(--white-color);
		border-left-width: 0;
		border-bottom-width: 0;

		/* border-color: red; */
	}

}

:where(.tabs-js) .content-tab-js .item-content-tab-js {
	opacity: 0;
	visibility: hidden;
	height: 0;
	transition: opacity .2s linear .02s;

	/* background: palegoldenrod; */
}

:where(.tabs-js) .item-content-tab-js > * {
	margin-bottom: 0;
}

:where(.tabs-js) .content-tab-js.active-content-tab-js .item-content-tab-js {
	padding: 1.25rem;
	opacity: 1;
	visibility: visible;
	height: auto;
}


/* ====================================================================================================
	pushy menu (for mobile)
==================================================================================================== */
.pushy {
	position: fixed;
	top: 0;
	width: calc(100% - 5rem);
	height: 100%;
	overflow: auto;
	z-index: 7;
		-webkit-overflow-scrolling: touch;
	background: hsl(210 65% 12%);
	display: flex;
	justify-content: center;
	align-items: center;
	align-content: center;
}

.pushy-left {
	transform: translate3d(-100%, 0, 0);
}

.pushy-open-left {
	height: 100vh;
	overflow: hidden;
}

.pushy-open-left .push {
	transform: translate3d(80%, 0, 0);
}

.pushy-open-left .pushy {
	transform: translate3d(0, 0, 0);
}

.pushy-open-left .pushy-content {
	visibility: visible;
}

.pushy,
.push {
	transition: transform 0.2s cubic-bezier(0.16, 0.68, 0.43, 0.99);
}

.pushy-content {
	transition: visibility 0.2s cubic-bezier(0.16, 0.68, 0.43, 0.99);
}

.overlay-pushy {
	display: none;
}

.pushy-open-left .overlay-pushy,
.pushy-open-right .overlay-pushy {
	display: block;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 6;
	background-color: rgba(0, 0, 0, .4);
	animation: fade 500ms;
}

@keyframes fade {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

@-webkit-keyframes fade {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

.pushy.pushy-left {
	left: 0;
}

.pushy-center {
	width: 100%;
	margin: 0 0 0 10%;
}

/* pushy-content
============================================ */
.pushy-content {
	margin: 0 0 2.5rem;
	visibility: hidden;

	/* background: palegoldenrod; */
}

.pushy-link a {
	display: block;
	width: 100%;
	padding: 1rem 0 1rem 1rem;
	border-radius: var(--border-radius) 0 0 var(--border-radius);
	color: var(--white-color);
	font-weight: 500;
	font-size: 1.125rem;
	line-height: 1.3;
	text-transform: uppercase;
	text-decoration: none;

	/* background: #ccc; */
}

.pushy-link a:active {
	background: var(--border-color);
	color: var(--dark-color);
}

/* pushy-contacts
============================================ */
.pushy-contacts {
	padding: 1.25rem 0;

	/* background: pink; */
}

/* ======= phone-pushy ======= */
.phone-pushy {
	margin: 0 0 .625rem;

	/* background: #FF0099; */
}

.phone-pushy span {
	display: block;
}

.phone-pushy a {
	display: inline-block;
	padding: .625rem 0 .625rem 2.500rem;
	color: var(--white-color);
	font-weight: 500;
	font-size: 1.125rem;
	text-decoration: none;
}

.phone-pushy a {
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='hsl(197 88% 63%)'%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M20.01 15.38c-1.23 0-2.42-.2-3.53-.56-.35-.12-.74-.03-1.01.24l-1.57 1.97c-2.83-1.35-5.48-3.9-6.89-6.83l1.95-1.66c.27-.28.35-.67.24-1.02-.37-1.11-.56-2.3-.56-3.53 0-.54-.45-.99-.99-.99H4.19C3.65 3 3 3.24 3 3.99 3 13.28 10.73 21 20.01 21c.71 0 .99-.63.99-1.18v-3.45c0-.54-.45-.99-.99-.99z'/%3E%3C/svg%3E") no-repeat left center;
	background-size: auto 1.375rem;
}

.phone-pushy a:active {
	color: var(--grey-color);
}

/* ======= email-pushy ======= */
.email-pushy {
	margin: 0 0 1.25rem;

	/* background: yellow; */
}

.email-pushy a {
	display: inline-block;
	padding: .625rem 0 .625rem 2.5rem;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='hsl(197 88% 63%)'%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E") no-repeat left center;
	background-size: auto 1.375rem;
	color: var(--white-color);
	font-weight: 500;
	font-size: 1rem;
}

.email-pushy a:active {
	color: var(--grey-color);
}


/* ====================================================================================================
	header
==================================================================================================== */
.header {
	background: var(--dark-color);
}

@media (max-width: 74.98rem) {

	.header {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 7;
		width: 100%;
	}

}

.header .container-center {
	display: flex;
	align-items: center;
	padding-block: clamp(.625rem, .425rem + 1vw, 1.25rem);
}


.logo {
	flex-basis: clamp(10rem, 9.2rem + 4vw, 12.5rem);
	width: clamp(10rem, 9.2rem + 4vw, 12.5rem);
}


.nav-header {
	margin-top: .375rem;
	margin-inline: auto;
}

@media (max-width: 74.98rem) {

	.nav-header {
		display: none;
	}

}

.nav-header ul {
	display: flex;
}

.nav-header li:not(:last-child) {
	margin-right: 1.25rem;
}

.nav-header a {
	color: var(--white-color);
	transition: all .2s linear .02s;
}

@media (hover: hover) and (pointer: fine) {

	.nav-header a:hover {
		color: var(--cyan-color);
	}

}


.contacts-header {
	margin-top: .375rem;
	text-align: right;
}

@media (max-width: 74.98rem) {

	.contacts-header {
		display: none;
	}

}

.tel-header {
	color: var(--white-color);
	font-weight: 500;
	font-size: 1.125rem;
	transition: all .2s linear .02s;
}

@media (hover: hover) and (pointer: fine) {

	.tel-header:hover {
		color: var(--cyan-color);
	}

}


.contacts-header span {
	display: block;
	margin-top: .125rem;
}

.mail-header {
	color: var(--cyan-color);
	transition: all .2s linear .02s;
}

@media (hover: hover) and (pointer: fine) {

	.mail-header:hover {
		color: var(--white-color);
	}

}



.pushy-button {
	display: none;
}

@media (max-width: 74.98rem) {

	.pushy-button {
		display: block;
		position: fixed;
		top: .313rem;
		right: var(--container-center-padding-inline);

		/* background: red; */
	}

	.pushy-btn {
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		z-index: 17;
		width: 2.5rem;
		height: 2.5rem;
		padding: 0;
		background: none;
		cursor: pointer;

		/* background: palegreen; */
	}

	.pushy-btn span {
		display: block;
		position: relative;
		margin: auto;
		transition: all .3s ease;
		transform: rotate(180deg)
	}

	.pushy-btn span::after,
	.pushy-btn span::before {
		content: "";
		position: absolute;
		left: 0;
		top: -.5rem;
		transform-origin: 1.71429px center;
		transition: all .3s ease
	}

	.pushy-btn span::after {
		top: .5rem
	}

	.pushy-btn span,
	.pushy-btn span::after,
	.pushy-btn span::before {
		width: 1.625rem;
		height: .125rem;
		background-color: var(--cyan-color);
		backface-visibility: hidden
	}

	.pushy-btn span::before {
		width: 1.125rem;
		left: .5rem;
		background-color: var(--white-color);
	}


	.pushy-btn-close .pushy-btn span  {
		height: .125rem;
		transform: rotate(360deg);
		background-color: var(--white-color);
	}

	.pushy-btn-close .pushy-btn span::after,
	.pushy-btn-close .pushy-btn span::before {
		top: 0;
		width: .875rem !important;
		height: .125rem;
		background-color: var(--white-color);
	}

	.pushy-btn-close .pushy-btn span::before {
		left: 0;
		transform: rotate3d(0, 0, 1, -40deg)
	}

	.pushy-btn-close .pushy-btn span::after {
		transform: rotate3d(0, 0, 1, 40deg)
	}

}


/* ====================================================================================================
	footer
==================================================================================================== */
.footer {
	background: var(--dark-color);
}

.footer .container-center {
	padding-block: 1.5rem;
	color: var(--white-color);
	text-align: center;
}



/* PAGES */



/* ====================================================================================================
	index
==================================================================================================== */
.main-index .container-center {
	padding-block: var(--container-center-padding-block-index);
}

.main-index h2 {
	margin-top: 0;

	/* background: #ccc; */
}

/* hero
================================================================================ */
.hero {
	background: url(../images/slider-bg.jpg) no-repeat center / cover;
}

.hero .container-center {
	padding-block: clamp(5rem, 2.6rem + 12vw, 12.5rem);
	color: var(--white-color);
	font-weight: 600;
	font-size: clamp(1.625rem, 1.225rem + 2vw, 2.875rem);
	line-height: 1.4;
	text-align: center;
	text-transform: uppercase;
}

.hero span {
	display: block;
	color: var(--cyan-color);
}



/* text
================================================================================ */
.text {
	border-bottom: .063rem solid var(--border-color);
}

/* .name-index .container-center {
	background: palegreen;
} */

/* equipment
================================================================================ */
.equipment {
	border-bottom: .063rem solid var(--border-color);
}


.container-tabs-js h3 {
	margin-top: 0;
	margin-bottom: 2.5rem;
}


.double-content {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 2.5rem;
}


.left-double-content {
	flex-basis: 20rem;
	width: 20rem;
}

.left-double-content a {
	display: block;
}

@media (max-width: 61.98rem) {

	.left-double-content {
		flex-basis: 100%;
		width: 100%;
		margin-bottom: 1.875rem;
	}

	.left-double-content a {
		max-width: 25rem;
		/* margin-inline: auto; */
	}

}


.right-double-content {
	flex-basis: calc(100% - 20rem);
	width: calc(100% - 20rem);
	padding-left: 2.5rem;
}

@media (max-width: 61.98rem) {

	.right-double-content {
		flex-basis: 100%;
		width: 100%;
		padding-left: 0;
	}

}

.right-double-content h4 {
	margin-top: 0;
}

.container-tabs-js h4 {
	margin-bottom: 1.25rem;
	font-size: 1.25rem;
}


.price {
	display: inline-block;
	padding: .625rem 1.875rem;
	border-radius: var(--border-radius);
	background: var(--cyan-color);
	color: var(--white-color);
}

.price span {
	font-weight: 600;
	font-size: 1.125rem;
}

.price p {
	margin: 0;
	font-size: .75rem;
}




/* equipment-2
================================================================================ */
/* .equipment-2 {
	border-bottom: .063rem solid var(--border-color);
} */


/* contacts-index
================================================================================ */
.contacts-index {
	background: var(--light-bg);
}

.contacts-index .container-center {
	position: relative;
	padding: 5rem 1rem 0;
	text-align: center;

	/* background: yellow; */
}

.contacts-index h2 {
	margin-bottom: 0;
}

.contacts-index h2::after {
	margin-inline: auto;
}


.contacts {
	position: relative;
	top: 7.5rem;
	display: flex;
	flex-wrap: wrap;
	margin: 0 -.625rem;
}

@media (max-width: 29.98rem) {

	.contacts {
		margin: 0;
	}

}

.contacts > div {
	position: relative;
	z-index: 1;
	flex-basis: calc(33.3333% - 1.25rem);
	max-width: calc(33.3333% - 1.25rem);
	margin: 0 .625rem 2rem;
	padding: 3.75rem 1.25rem 2.5rem;
	box-shadow: 0 .125rem .25rem 0 rgba(0, 0, 0, .3);
	border-radius: var(--border-radius);
	background: var(--white-color);
	font-size: .875rem;
	line-height: 1.5;
	text-align: center;
}

@media (max-width: 61.98rem) {

	.contacts > div {
		flex-basis: calc(50% - 1.25rem);
		max-width: calc(50% - 1.25rem);
		margin-bottom: 3.750rem;
		font-size: 1rem;
	}

}

@media (max-width: 29.98rem) {

	.contacts > div {
		flex-basis: 100%;
		max-width: 100%;
		margin-bottom: 3.75rem;
	}
}

.contacts > div::before {
	content: "";
	display: block;
	position: absolute;
	top: -2.188rem;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
	width: 4.375rem;
	height: 4.375rem;
	border-radius: 100%;
	background-color: var(--cyan-color);
	background-repeat: no-repeat;
	background-position: center;
	background-size: auto 1.25rem;
}


.tel-contacts::before {
	background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.21778 6.92445C4.49778 9.44 6.56 11.4933 9.07556 12.7822L11.0311 10.8267C11.2711 10.5867 11.6267 10.5067 11.9378 10.6133C12.9333 10.9422 14.0089 11.12 15.1111 11.12C15.6 11.12 16 11.52 16 12.0089V15.1111C16 15.6 15.6 16 15.1111 16C6.76445 16 0 9.23556 0 0.888889C0 0.4 0.4 0 0.888889 0H4C4.48889 0 4.88889 0.4 4.88889 0.888889C4.88889 2 5.06667 3.06667 5.39556 4.06222C5.49333 4.37333 5.42222 4.72 5.17333 4.96889L3.21778 6.92445Z' fill='rgba(255, 255, 255, 1)'/%3E%3C/svg%3E%0A");
}

.tel-contacts a {
	display: inline-block;
	color: var(--black-color);
	font-weight: 700;
	font-size: 1.250rem;
	transition: color .3s .02s linear;
}

.tel-contacts a:hover,
.tel-contacts a:active,
.tel-contacts a:focus {
	color: var(--braun-color);
}


.mail-contacts a {
	position: relative;
	color: var(--braun-color);
	font-weight: 600;
	font-size: 1rem;
	text-decoration: none;
}

.mail-contacts a::after {
	content: "";
	display: block;
	position: absolute;
	bottom: -.125rem;
	left: 0;
	width: 100%;
	height: .063rem;
	background: var(--braun-color);
	transition: background .2s .02s linear;
}

.mail-contacts a:hover::after,
.mail-contacts a:active::after {
	background: transparent;
}


.mail-contacts::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 0 24 24' width='24px' fill='rgba(255, 255, 255, 1)'%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10h5v-2h-5c-4.34 0-8-3.66-8-8s3.66-8 8-8 8 3.66 8 8v1.43c0 .79-.71 1.57-1.5 1.57s-1.5-.78-1.5-1.57V12c0-2.76-2.24-5-5-5s-5 2.24-5 5 2.24 5 5 5c1.38 0 2.64-.56 3.54-1.47.65.89 1.77 1.47 2.96 1.47 1.97 0 3.5-1.6 3.5-3.57V12c0-5.52-4.48-10-10-10zm0 13c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3z'/%3E%3C/svg%3E");
	background-size: auto 1.500rem !important;
}


.addr-contacts::before {
	background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.00001 0C5.51701 0 2.70001 2.817 2.70001 6.3C2.70001 11.025 9.00001 18 9.00001 18C9.00001 18 15.3 11.025 15.3 6.3C15.3 2.817 12.483 0 9.00001 0ZM9.00001 8.55C7.75801 8.55 6.75001 7.542 6.75001 6.3C6.75001 5.058 7.75801 4.05 9.00001 4.05C10.242 4.05 11.25 5.058 11.25 6.3C11.25 7.542 10.242 8.55 9.00001 8.55Z' fill='rgba(255, 255, 255, 1)'/%3E%3C/svg%3E%0A");
}


.map-yandex {
	width: 100%;
	height: 100%;
	height: 37.500rem;
	border-radius: .625rem !important;
}
