/* ------------------------------------------------------------ *\
	var
\* ------------------------------------------------------------ */
:root {
	
}

/* ------------------------------------------------------------ *\
	Reset
\* ------------------------------------------------------------ */

*,
::before,
::after { box-sizing: border-box; }

html { font-family: system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji'; line-height: 1.15; -webkit-text-size-adjust: 100%; tab-size: 4; }
body { margin: 0; }

b,
strong { font-weight: bolder; }

code,
kbd,
samp,
pre { font-family: ui-monospace, SFMono-Regular, Consolas, 'Liberation Mono', Menlo, monospace; font-size: 1em; }

small { font-size: 80%; }

sub,
sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sub { bottom: -0.25em; }
sup { top: -0.5em; }

table { border-color: currentcolor; }


button,
input,
optgroup,
select,
textarea { font-family: inherit; font-size: 100%; line-height: 1.15; margin: 0; }

button,
[type='button'],
[type='reset'],
[type='submit'] { -webkit-appearance: button; }

legend { padding: 0; }

progress { vertical-align: baseline; }

::-webkit-outer-spin-button { height: auto; }
[type='search'] { -webkit-appearance: textfield; outline-offset: -2px; }
::-webkit-search-decoration { -webkit-appearance: none; }
::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }

summary { display: list-item; }

/* ------------------------------------------------------------ *\
	Base
\* ------------------------------------------------------------ */


body { background: #ffffff; font-family: 'adelle sans', sans-serif; font-size: 1.0em; line-height: 1.43; color: #505455; }

img { border: 0; }


h1,
h2,
h3,
h4,
h5,
h6 { margin-bottom: 0; }

p,
ul,
ol,
dl,
table,
blockquote { margin-bottom: 1.25em; }

h1[class],
h2[class],
h3[class],
h4[class],
h5[class],
h6[class],
h1:last-child,
h2:last-child,
h3:last-child,
h4:last-child,
h5:last-child,
h6:last-child,
p:last-child,
ul:last-child,
ol:last-child,
dl:last-child,
table:last-child,
blockquote:last-child { margin-bottom: 0; }

a,
button,
input[type="submit"],
input[type="button"],
input[type="reset"],
input[type="file"],
input[type="image"],
label[for] { cursor: pointer; }

a[href^="tel"],
button[disabled],
input[disabled],
textarea[disabled],
select[disabled] { cursor: default; }

button::-moz-focus-inner,
input::-moz-focus-inner { padding: 0; border: 0; }

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button { display: none; -webkit-appearance: none; margin: 0; }

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

input:is(:-webkit-autofill, :autofill) { transition: background-color 600000s 0s, color 600000s 0s, font 600000s 0s; font-size: 1rem !important; }

input:-webkit-autofill::first-line { font-size: 1rem; }


textarea { overflow: auto; resize: none; -webkit-overflow-scrolling: touch; overflow-scrolling: touch; }

button,
input,
optgroup,
select,
textarea { border: none; border-radius: 0; font-family: inherit; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-smoothing: antialiased; }


button:focus,
input:focus,
select:focus,
textarea { outline-offset: 0px; outline: none; }


p { margin: 0; line-height: 1.43; }
a { color: inherit; text-decoration: none; display: inline-block; }
a[href^="tel"] { text-decoration: none; }

ul,
ol { padding-left: 20px; margin: 0; line-height: 1.5em;  }

nav ul,
nav ol { list-style: none outside none; padding: 0; }

i[class^='ico'] { display: inline-block; font-size: 0; background-repeat: no-repeat; background-position: center; vertical-align: middle; }

.glide__slides { font-size: 0; }


/* ------------------------------------------------------------ *\
	row / col
\* ------------------------------------------------------------ */


.wrapper { margin: 0 auto; display: inline; display: flex; flex-direction: column; height: 100vh; }
.shell { max-width: 1220px; margin: 0 auto; }


.row { display: grid; column-gap: 40px; min-width: 0; position: relative; }

.row.col-1 { grid-template-columns: repeat(1, 1fr); }
.row.col-2 { grid-template-columns: repeat(2, 1fr); }
.row.col-3 { grid-template-columns: repeat(3, 1fr); }
.row.col-4 { grid-template-columns: repeat(4, 1fr); }

@media (max-width: 1220px) {
	.wrapper { transition: left .3s; position: relative; left: 0; background: #ffffff; }
	.wrapper.active { left: 248px; overflow: visible; }
	
	.shell { padding: 0 10px; }
	.row.col-2 { grid-template-columns: repeat(1, 1fr); }
	.row.col-4 { grid-template-columns: repeat(1, 1fr); }
}



/* ------------------------------------------------------------ *\
	header
\* ------------------------------------------------------------ */

.header { border-bottom: 5px solid #919090; position: relative; flex-shrink: 0;  }
.header:after { display: block; clear: both; content: ' '; }
.header .logo { margin: 40px 0 0 0; }


@media (max-width: 1220px) {
	.header .logo { margin: 20px 0 20px 0; float: right; }
}

/* ------------------------------------------------------------ *\
	main-navigation
\* ------------------------------------------------------------ */

.main-navigation { margin-top: 33px; margin-bottom: -5px; position: relative; }

.main-navigation > ul { display: flex; justify-content: start; font-size: 0; max-width: 1220px; margin: 0 auto; }
.main-navigation li { display: inline-block; font-size: 1.5rem; line-height: 1.5rem; font-weight: bold; padding-bottom: 16px; }
.main-navigation li + li { margin-left: 74px; }
.main-navigation li a { position: relative; display: block; text-align: left; }

.main-navigation li:hover,
.main-navigation li.current { border-bottom: 5px solid #94af3c; }

.main-navigation .sub-nav-container { display: none; position: absolute; left: 0; top: 100%; z-index: 1000; background: #ffffff; width: 100%; padding-bottom: 38px; }

.main-navigation .sub-nav-container .sub-nav { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 40px; justify-content: start; max-width: 1220px; margin: 0 auto; }

.main-navigation .sub-nav li { margin-top: 35px; margin-bottom: -3px; line-height: 1.15; color: #333333; font-size: 1.15rem; text-align: left; white-space: nowrap; font-weight: normal; padding: 0; }
.main-navigation .sub-nav li + li { margin-left: 0; }

.main-navigation .sub-nav li a:before { content: ''; display: inline-block; width: 8px; height: 14px; margin-right: 10px; background: url(/images/arrow_nav.png) no-repeat center; }

.main-navigation .sub-nav li:hover,
.main-navigation .sub-nav li.current { border: none; color: #94af3c; }

.main-navigation .sub-nav li:hover a:before,
.main-navigation .sub-nav li.current a:before { background: url(/images/arrow_nav_active.png) no-repeat center; }


@media (max-width: 1220px) {
	.main-navigation { display: none; }
}


/* ------------------------------------------------------------ *\
	mobile-navigation
\* ------------------------------------------------------------ */

.mobile-navigation,
.mobile-navigation-button { display: none; }

.mobile-navigation { background: #94af3c; position: fixed; top: 0; left: 0; width: 248px; height: 100%; overflow-y: auto; text-align: left; z-index: 1001; }
.mobile-navigation ul { color: #000000; list-style-type: none; font-size: 1rem; }
.mobile-navigation ul:not(.sub-nav) { margin-top: 100px; margin-left: 10px; margin-right: 10px; font-weight: bold; }
.mobile-navigation ul:not(.sub-nav) > li { text-transform: uppercase; }
.mobile-navigation ul li:last-child { border-bottom: none; }
.mobile-navigation ul li a { display: block; position: relative; padding: 0 10px; border-bottom: 1px solid #919090; text-decoration: none; }
.mobile-navigation ul li.current,
.mobile-navigation ul li:hover { color: #ffffff; }

.mobile-navigation .sub-nav-container { display: none; }
.mobile-navigation .sub-nav { font-weight: normal; text-transform: none; }
.mobile-navigation .sub-nav li { list-style: none; }
.mobile-navigation .sub-nav li a { padding: 5px 10px; display: block; }

.mobile-navigation ul > li:has(> a + .sub-nav-container) > a::after { width: 8px; height: 16px; margin-right: 8px; margin-top: -4px; float: right; transform: rotate(90deg); transform-origin: bottom center; transition: transform 0.3s ease; }  
.mobile-navigation ul > li:has(> a + .sub-nav-container) > a::after { content: ""; background-image: url(/images/submit.png); background-size: contain; background-repeat: no-repeat; }

.mobile-navigation > ul > li.open:has(> a + .sub-nav-container) > a::after { transform: rotate(90deg) scaleX(-1); }
.mobile-navigation > ul > li > a + .sub-nav-container { display: none; }



@media (max-width: 1220px) {
	.mobile-navigation-button { display: block; float: left; margin-top: 26px; }
	.wrapper.active .mobile-navigation { display: block; }
}



/* ------------------------------------------------------------ *\
	breadcrumb-navigation
\* ------------------------------------------------------------ */

.breadcrumb-navigation { color: #919090; margin-top: 34px; }
.breadcrumb-navigation ul { display: inline-block; font-size: 0; }
.breadcrumb-navigation li { display: inline-block; font-size: 1rem; }
.breadcrumb-navigation li + li { margin-left: 4px; }
.breadcrumb-navigation li + li:before { content: '/'; margin-right: 4px; }
.breadcrumb-navigation ul li:first-child:before { content: ''; display: inline-block; width: 12px; height: 12px; margin-right: 10px; background: url(/images/ico-breadcrumb.png) no-repeat center; }


@media (max-width: 1220px) {
	.breadcrumb-navigation { margin-top: 14px; }
}

/* ------------------------------------------------------------ *\
	content
\* ------------------------------------------------------------ */

.teaser + .shell > .row { margin-top: 8px; }

.shell:has(> .row .article) + .shell:has(> .row .feature) { margin-top: 30px; }

.form-action, .store-links { font-size: 0; }

.btn { background: #000000; padding: 16px 50px 17px 20px; text-align: center; font-size: 1.15rem; font-weight: bold; position: relative; }
.btn.black { background: #000000; color: #ffffff; }

.btn:after { position: absolute; right: 20px; top: 20px; width: 8px; height: 16px; background: url(/images/submit.png) no-repeat center; content: ' '; }


.btn + .btn { margin-left: 20px; }

h1 { font-size: 2.5rem; margin: 0; color: #94af3c; }
h2 { font-size: 2.55rem; margin: 0; color: #94af3c; }
h3 { font-size: 1.25rem; margin: 0; font-weight: normal; color: #919090; }
h4 { font-size: 1.25rem; margin: 0; font-weight: normal; color: #94af3c; }



article h1 { margin-top: 26px; }
article h2 { margin-top: 26px; }
article h3 { margin-top: 36px; }
article h4 { margin-top: 8px; }

article h3 + h1 { margin-top: 5px; }


article h1 + p,
article h2 + p,
article h3 + p,
article h4 + p { margin-top: 6px; }


article a { word-break: break-all; }
article p + p { margin-top: 29px; }
article ul { margin-top: 27px; margin-bottom: 29px; list-style-type: square; margin-left: 15px; }
article ul li + li { margin-top: -2px; }



dl { display: grid; grid-template-columns: 30% 70%; }

dl dt,
dl dd { margin: 0; margin-bottom: 6px; }

dl dd { text-align: right; }

@media (max-width: 1220px) {
	article h1 { margin-top: 6px; }
	article h2 { margin-top: 6px; }
	article h3 { margin-top: 16px; }
	article p + p { margin-top: 9px; }
	article ul { margin-top: 7px; margin-bottom: 9px; }
}

/* ------------------------------------------------------------ *\
	panorama
\* ------------------------------------------------------------ */

.panorama { position: relative; font-size: 0; margin-top: 36px; }
.panorama img { display:block; width: 100%; }

@media (max-width: 1220px) {
	.panorama { margin-top: 16px; }
}

/* ------------------------------------------------------------ *\
	glide
\* ------------------------------------------------------------ */

.glide__arrow { position: absolute; top: 50%; transform: translateY(-50%); background: none; width: 72px; height: 128px; cursor: pointer; z-index: 10; padding: 0; }

.glide__arrow--left { left: 40px; }
.glide__arrow--right { right: 40px; }

.glide__arrow--left:before,
.glide__arrow--right:before { content: ' '; width: 72px; height: 128px; display: inline-block; }

.glide__arrow--left:before { background: url(/images/arrow_left.png) no-repeat center; }
.glide__arrow--right:before { background: url(/images/arrow_right.png) no-repeat center; }

.glide__bullets { display: flex; justify-content: center; position: absolute; bottom: 40px; left: 0; right: 0; gap: 20px; }
.glide__bullet { width: 20px; height: 20px; background-color: #ffffff; border-radius: 50%; cursor: pointer; }

.glide__bullet:hover,
.glide__bullet--active { background-color: #94af3c; }

/* ------------------------------------------------------------ *\
	teaser
\* ------------------------------------------------------------ */

.teaser { position: relative; }

.teaser img { width: 100%; }


@media (max-width: 1220px) {
	.teaser .glide__arrow { display: none; }
	.glide__bullets { bottom: 5px; gap: 10px; }
	.glide__bullet { width: 10px; height: 10px; }
}


/* ------------------------------------------------------------ *\
	news-slider
\* ------------------------------------------------------------ */

.news-slider { position: relative; margin-top: 26px; }
.news-slider .content { font-size: 1.25rem; line-height: 1.15; margin: 0 68px; }

.news-slider .title { font-weight: bold; margin-top: 11px; }
.news-slider .content p { line-height: 1.275; margin-top: 10px; }

.news-slider .glide__arrow { width: 28px; height: 48px; }

.news-slider .glide__arrow--left { left: 0px; }
.news-slider .glide__arrow--right { right: 0px; }

.news-slider .glide__arrow--left:before,
.news-slider .glide__arrow--right:before { width: 28px; height: 48px; }

.news-slider .glide__arrow--left:before { background: url(/images/arrow_left_small.png) no-repeat center; }
.news-slider .glide__arrow--right:before { background: url(/images/arrow_right_small.png) no-repeat center; }


.news-slider .glide__bullets { position: relative; bottom: unset; margin-top: 34px; }
.news-slider .glide__bullet { background-color: #919090; }

.news-slider .glide__bullet:hover,
.news-slider .glide__bullet--active { background-color: #94af3c; }

@media (max-width: 1220px) {
	.news-slider { margin-top: 6px; }
	.news-slider .content { margin: 0; }
	.news-slider .glide__arrow { display: none; }
	.news-slider .glide__bullets { margin-top: 14px; }
}

/* ------------------------------------------------------------ *\
	ticker
\* ------------------------------------------------------------ */

.ticker { background: #94af3c; text-align: center; font-weight: bold; color: #ffffff; }
.ticker p { padding-top: 13px; padding-bottom: 15px; }


/* ------------------------------------------------------------ *\
	feature
\* ------------------------------------------------------------ */

.feature { font-size: 0; margin-top: 28px; }
.feature .content { }
.feature .title { font-size: 1.5rem; font-weight: bold; color: #94af3c; margin-bottom: 16px; }

@media (max-width: 1220px) {
	.feature img { width: 100%; }
}

/* ------------------------------------------------------------ *\
	thumbnail
\* ------------------------------------------------------------ */


.row:has(> .thumbnail) { margin-top: -5px; margin-bottom: 35px; }
.thumbnail { display: flex; justify-content: center; align-items: center; width: 100%; aspect-ratio: 1 / 1; overflow: hidden; margin-top: 40px; }
.thumbnail img { display: block; max-width: none; max-height: none; }


@media (max-width: 1220px) {
	.thumbnail { margin-top: 20px; aspect-ratio: unset; }
}

/* ------------------------------------------------------------ *\
	files
\* ------------------------------------------------------------ */

ul.files { list-style: none; padding: 0; margin: 34px 0 27px 0; }
ul.files li { border-top: 1px solid #919090; display: block; position: relative }
ul.files li:last-child { border-bottom: 1px solid #919090; }

ul.files li a:before { content: ''; display: inline-block; width: 8px; height: 14px; background: url(/images/arrow_files.png) no-repeat center; margin-right: 12px; flex-shrink: 0; }
ul.files li a:after { content: ''; display: inline-block; width: 13px; height: 16px; background: url(/images/download_files.png) no-repeat center; margin-left: auto; flex-shrink: 0; }

ul.files li a { display: flex; align-items: center; text-decoration: none; padding: 12px 0; width: 100%; box-sizing: border-box; }


@media (max-width: 1220px) {
	ul.files { margin: 14px 0 17px 0; }
}

/* ------------------------------------------------------------ *\
	team
\* ------------------------------------------------------------ */


.row:has(> .team) { margin-top: 0; margin-bottom: 0; }
.team { margin-top: 35px; }
.team img { width: 100%; }
.team .title { font-weight: bold; margin-top: 11px; }
.team .content { margin-top: 7px; }

/* ------------------------------------------------------------ *\
	form
\* ------------------------------------------------------------ */

form { margin: 40px 0; }


.form-row { display: grid; column-gap: 20px; min-width: 0; }
.form-row.col-1 { grid-template-columns: repeat(1, 1fr); }
.form-row.col-2 { grid-template-columns: repeat(2, 1fr); }
.form-row.col-3 { grid-template-columns: repeat(3, 1fr); }
.form-row.col-4 { grid-template-columns: repeat(4, 1fr); }

.label-row { display: grid; column-gap: 20px; min-width: 0; }
.label-row.col-1 { grid-template-columns: repeat(1, 1fr); }
.label-row.col-2 { grid-template-columns: repeat(2, 1fr); }
.label-row.col-3 { grid-template-columns: repeat(3, 1fr); }
.label-row.col-4 { grid-template-columns: repeat(4, 1fr); }


::-webkit-calendar-picker-indicator { filter: invert(1); }

.form-row + .form-row { margin-top: 20px; }

.form-row:has(> .custom-checkbox) + .form-row:has(> .custom-checkbox) { margin-top: 10px; }


.form-row + .label-row,
.form-row + .form-action { margin-top: 20px; }

.form-col { display: block; vertical-align: top; }

.form-controls { position: relative; }


.form-action { font-size: 1rem; }
.form-action .btn { float: right; }


.form-action + .form-action { margin-top: 20px; }

input,
select,
textarea { font-size: 1.15rem; color: #919090; border: none; background: #ffffff; width: 100%; }

input,
select { vertical-align: middle; height: 54px; padding-left: 18px; padding-right: 18px; }

textarea { padding-left: 18px; padding-top: 16px; padding-bottom: 16px; height: 164px; overflow: auto; }

input::placeholder,
textarea::placeholder { color: #919090; }


select { -webkit-appearance: none; appearance: none; }
select:focus { background-color: #ffffff; }

.form-controls:has( > select):after { position: absolute; right: 20px; top: 23px; width: 16px; height: 8px; background: url(/images/dropdown.png) no-repeat center; content: ' '; }


.custom-checkbox .form-controls { color: #ffffff; display: block; position: relative; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }
.custom-checkbox label { font-size: 1rem; padding: 0; }
.custom-checkbox .form-controls label { min-height: 29px; padding-top: 4px; padding-bottom: 0; vertical-align: middle; }

.custom-checkbox input { cursor: pointer; border: none; margin-top: -2px; margin-right: 4px; width: 36px; height: 20px; background-color: #333333; border-radius: 50px; position: relative; appearance: none; outline: none; transition-duration: 200ms; }
.custom-checkbox input:after { top: 2px; left: 4px; width: 16px; height: 16px; background-color: #ffffff; border-radius: 50%; content: ""; position: absolute; }
.custom-checkbox input:checked { background-color: #6699ff; }
.custom-checkbox input:checked:after { left: 20px; }

.custom-checkbox input:disabled { color: #6699ff; }


@media (max-width: 1220px) {
	form { margin: 20px 0; }
}


/* ------------------------------------------------------------ *\
	footer
\* ------------------------------------------------------------ */

.footer { color: #ffffff; margin-top: 40px; }

.footer .footer-green { background: #94af3c; }
.footer .footer-gray { background: #919090; }
.footer .headline { font-weight: bold; margin-top: 36px; }
.footer .copyright { margin-top: 16px; margin-bottom: 15px; }

.footer dl { display: grid; grid-template-columns: 30% 70%; margin: 12px 15px 0 0; padding-bottom: 32px; }


@media (max-width: 1220px) {
	.footer { color: #ffffff; margin-top: 20px; }
	.footer .headline { font-weight: bold; margin-top: 16px; }
	.footer dl { padding-bottom: 12px; }
	.footer .row.col-2,
	.footer .row.col-4 { grid-template-columns: repeat(1, 1fr); }
	.footer .row.col-2 { text-align: center; }
}


/* ------------------------------------------------------------ *\
	footer-navigation
\* ------------------------------------------------------------ */

.footer-navigation { text-align: right; margin-top: 16px; margin-bottom: 15px; }
.footer-navigation ul { display: inline-block; font-size: 0; }
.footer-navigation li { display: inline-block; font-size: 1.15rem; }
.footer-navigation li + li { margin-left: 40px; }

@media (max-width: 1220px) {
	.footer-navigation { text-align: center; margin-top: -6px; }
}

/* ------------------------------------------------------------ *\
	social-nav
\* ------------------------------------------------------------ */

.social-nav ul { font-size: 0; display: block; margin-left: -20px; margin-top: 16px; margin-bottom: 20px; }
.social-nav li { font-size: 1.15rem; display: inline-block; margin-left: 20px; }

.social-nav + a { float: left; }
.social-nav + a + a { float: right; }


@media (max-width: 1220px) {
	.social-nav + a,
	.social-nav + a + a { float: none; }
	.social-nav + a + a { margin-left: 20px; }
}

/* ------------------------------------------------------------ *\
	fancybox
\* ------------------------------------------------------------ */


.fancybox-content { -ms-overflow-style: none; scrollbar-width: none; }
.fancybox-content::-webkit-scrollbar { display: none; }
.fancybox-close-small { display: none; }

.fancybox-thumbs { background: #000000; }

.fancybox-caption a,
.fancybox-caption a:link,
.fancybox-caption a:visited { color: #ffffff; }


.fancybox-content.fancy-content { background: #000000; position: absolute; top: 0; right: 0; bottom: 0; left: 0; padding: 0; min-height: auto; margin: 0 auto !important; width: calc(100vw - 310px * 2); }

/* ------------------------------------------------------------ *\
	Icons
\* ------------------------------------------------------------ */

i.ico-facebook { background: url(/images/ico-facebook.png) no-repeat center; width: 48px; height: 48px; }
i.ico-instagram { background: url(/images/ico-instagram.png) no-repeat center; width: 48px; height: 48px; }
i.ico-youtube { background: url(/images/ico-youtube.png) no-repeat center; width: 48px; height: 48px; }


i.ico-nav { background: url(/images/ico-nav.png) no-repeat center; width: 48px; height: 48px; }
.wrapper.active i.ico-nav { background: url(/images/ico-close.png) no-repeat center; width: 48px; height: 48px; }