/* -------------------------------------------

	Name:		Research Elements
	Date:		2024/09/05
	Author:		http://psdhtml.me

---------------------------------------------  */
*, *:before, *:after {
	margin: 0; padding: 0; box-sizing: border-box; outline-color: var(--theme); transform-origin: center center;
	-webkit-justify-content: var(--justify); justify-content: var(--justify);
}

html { overflow-y: scroll; min-height: 100%; margin: 0; font-size: 100.01%; -webkit-tap-highlight-color: transparent; -moz-osx-font-smoothing: grayscale; -webkit-overflow-scrolling: touch; -ms-content-zooming: none; -ms-overflow-style: scrollbar; scroll-behavior: smooth; }
body { overflow-x: hidden; width: 100%; min-height: 100%; background: var(--bg); font-size: var(--fz_main); -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
@-ms-viewport { width: device-width; }
@viewport { width: device-width; }	


/*! Variables --------- */
:root {
    --white:     #ffffff; 
    --silver:    #dddddd; 
    --alto:      #c4c4c4; 
    --dove:      #7d7d7d; 
    --coal:      #333333; 
    --cod:       #1a1a1a; 
    --black:     #000000; 

    --theme:     #ee5720; 
	--theme_100:   #FFEDE6;
	--bg: #F4F4F4;
	--porcelain: #F9F9F9;
	
	--rpp:     clamp(20px, 5.7291666667vw, 110px);
	--rpn:     calc(0px - var(--rpp));
	
	--fw_main: 400;
	--fw_bold: 600;
	--fw_head: var(--fw_bold);
	
	--ff_main: Sora, Arial, Helvetica, sans-serif;
	--ff_head: inherit;	
	
	--lh_main: 1.4;
	--lh_head: 1.1125;
	
	--fz_main: 16px;
		
	--mr_main: calc(var(--lh_main) * var(--fz_main));
	--mr_sect: calc(var(--mr_main) * 8.5);
	--mr_head: calc(var(--mr_main) * 1.25);
	
	--ta_start: left;
	--ta_end:   right;
	--justify:  flex-start;
	
	--cols: 32px;
	
	--input_h: 40px;
	--input_pd: 14px;
	--input_bd: var(--silver);
	--input_bg: var(--white);
	--input_fg: inherit;
	
	--top_h: 90px;
	--top_dist: calc(var(--cols) * 1.5);
	--top_bg: var(--bg);
	--top_fg: inherit;
	--top_link: var(--dove);
	--top_link_h: var(--cod);
	
	--content_p: var(--rpp);
	--content_m: max(var(--rpp), 40px);
	
	--btn_bg: var(--theme);
	--btn_bg_h: var(--theme_100);
	--btn_fg: var(--white);
	--btn_fg_h: var(--theme);
	--btn_dist: 16px;
	--btn_fz: 16px;
	
	--s24: 24px;
	--s32: 32px;
	--s48: 48px;
	--s56: 56px;
	--s80: min(6vw, 80px);
	--s90: min(7vw, 80px); /*actually 80, but 7vw*/
}
#top.fixed {
	--top_bg: var(--cod);
	--top_fg: var(--white);
	--top_link: var(--alto);
	--top_link_h: var(--white);
}


/*! Defaults --------- */
body, textarea, input, select, option, button { color: var(--coal); font-family: var(--ff_main); font-weight: var(--fw_main); line-height: var(--lh_main); }
ul, ol, dl, p, figure, table, pre, h1, h2, h3, h4, h5, h6, legend { margin-bottom: var(--mr_main); }

h1, h2, h3, h4, h5, h6, legend { margin-bottom: var(--mr_head); color: var(--cod); font-size: var(--s32); font-family: var(--ff_head); font-weight: var(--fw_head); line-height: var(--lh_head); }
h1 { font-size: var(--s56); }

a { background: none; color: var(--theme); font-weight: var(--fw_bold); text-decoration: none; cursor: pointer; outline-width: 0; -webkit-text-decoration-skip: objects; } /*---*/ a span { cursor: pointer; }
	h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, legend a { color: inherit; }
	[data-whatintent="mouse"] a:hover { color: var(--dove); }
	a.email { color: inherit; font-weight: inherit; text-decoration: underline; }

ul, ol, dd, blockquote { padding-left: 24px; }
	li { position: relative; z-index: 2; margin-bottom: 12px; }
ul { list-style: none; }
	ul li:before { content: ""; display: block; position: absolute; left: -24px; top: calc(var(--fz_main) * var(--lh_main) * 0.5); width: 10px; height: 10px; margin-top: -5px; border: 2px solid var(--theme); }


/*! Mixins --------- */
/* cl:b */	form p:after { content: ""; display: block; overflow: hidden; clear: both; }
/* fill */	.list-tags li:after { content: ""; display: block; overflow: hidden; position: absolute; left: 0; top: 0; right: 0; bottom: 0; z-index: -1; text-align: left; text-indent: -3000em; direction: ltr; }
/* wide */	.list-tags.wide:before, .module-wide:before { content: ""; display: block; position: absolute; left: 50%; right: auto; top: 0; bottom: 0; z-index: -1; width: 100vw; margin: 0 0 0 -50vw; }
/* icon */ 	.module-accordion summary:before, #top:before, #footer p.logo a:before, #logo a:before, .link-line:before { display: block; position: absolute; left: 0; right: 0; top: 50%; margin: -10px 0 0; font-weight: 400; font-family: i; line-height: 20px; text-align: center; text-indent: 0; letter-spacing: normal; }
/* i:wi */	.list-news figure img, #background[class*="width-"] img, .cols > figure.overlay img { display: block; position: relative; z-index: 1; width: 100% !important; -o-object-fit: cover; object-fit: cover; -o-object-position: center center; object-position: center center; }
/* i:bg */	#background:not([class*="width-"]) img { display: block; width: 100% !important; height: 100% !important; -o-object-fit: cover; object-fit: cover; -o-object-position: center center; object-position: center center; }
/* td:u */ 	[data-whatintent="mouse"] #footer a:hover, [data-whatintent="mouse"] .link-line a:hover { text-decoration: underline; }
/* td:n */ 	#root #footer p.logo a, #root #nav .link-btn a, [data-whatintent="mouse"] a.email:hover, #footer a, .link-line a { text-decoration: none; }

/* 44p	*/	.module-slider .slider-controls a:before, #nav a:after, #logo a:after, #footer a:after { content: ""; display: block; position: absolute; left: 50%; top: 50%; right: auto; bottom: auto; z-index: 8; width: 100%; min-width: 44px; height: 100%; min-height: 44px; margin: 0; padding: 0; box-shadow: none; border-radius: 0; border-width: 0; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }

	
/*! Layout --------- */
#root { position: relative; width: 100%; min-height: 100vh; padding: var(--top_h) var(--rpp) 0; }
	#top { position: absolute; left: 0; right: 0; top: .1px; z-index: 9; height: var(--top_h); padding: 0 var(--rpp); /*background: var(--top_bg);*/ color: var(--top_fg); }
		#top.fixed { position: fixed; background: var(--top_bg); }
		#logo, #footer p.logo { position: relative; z-index: 2; margin: 0; padding: 0 var(--top_dist) 0 0; color: var(--top_fg); font-size: var(--s32); font-weight: 300; line-height: 1; white-space: nowrap; letter-spacing: -.08em; }
			#logo a, #footer p.logo a { display: block; position: relative; z-index: 2; padding-left: calc(var(--s32) * 1.09375); color: inherit; font-weight: inherit; text-decoration: none; }
				#logo a:before, #footer p.logo a:before { content: "\e908"; right: auto; margin-top: -12px; color: var(--theme); font-size: calc(var(--s32) * 0.75); line-height: 24px; }
			[data-whatintent="mouse"] #logo a:hover:before, [data-whatintent="mouse"] #footer p.logo a:hover:before { content: "\e907"; }
		#skip { position: fixed; top: 0; left: 0; right: 0; z-index: 10001; line-height: 1.5; }
			#skip ul { list-style: none; margin: 0; padding: 0; }
			#skip a { display: block; overflow: hidden; position: absolute; left: -3000em; top: 0; min-width: 200px; padding: 8px 16px; background: var(--theme); color: var(--white); font-weight: var(--fw_bold); text-align: center; text-decoration: none; white-space: nowrap; outline: none; }
				#skip a:focus, #skip a:active { left: 0; }
		#nav { --dist: clamp(20px, 3.5vw, 80px); }
			#nav > ul { list-style: none; margin: 0 calc(0px - var(--dist)) 0 0; padding: 0; }
				#nav > ul > li { margin: 0 var(--dist) 0 0; }
				#nav > ul > li:not(.link-btn) > a { color: var(--top_link); text-decoration: none; }
					[data-whatintent="mouse"] #nav > ul > li:not(.link-btn) > a:hover { color: var(--theme); }
				#nav > ul > li.active > a { color: var(--top_link_h); font-weight: var(--fw_bold); pointer-events: none; }
			#nav .link-btn { padding-top: var(--rpp); }
		#top .link-btn { padding-left: var(--top_dist); }
			#top .link-btn, #top .link-btn > *, #content > .link-btn.sticky, #content > .link-btn.sticky > * { margin-top: 0; margin-bottom: 0; }
	#distance-counter { position: absolute; left: 0; top: .1px; z-index: -1; z-index: 110; width: 10px; height: .1px; pointer-events: none; }
	#background { position: absolute; right: 0; top: 0; width: var(--width); margin: 0; }
		#background:not([class*="width-"]) { left: 0; --width: 100%; }
	#content { position: relative; z-index: 3; width: 100%; padding-top: var(--content_p); }
		#content > *:last-child { margin-bottom: var(--content_m); }
		#content > .cols:last-child { margin-bottom: calc(var(--content_m)*1.25 - var(--mr_main)); }
	#root > .close-nav { display: block; overflow: hidden; visibility: hidden; position: fixed; left: 0; right: 0; top: 0; bottom: 0; z-index: 8; background: rgba(0,0,0,.5); text-indent: -3000em; text-align: left; opacity: 0; }
	#content > .link-btn.sticky { position: fixed; right: var(--rpp); bottom: min(40px, var(--rpp)); z-index: 4; }
		.footer-visible #content > .link-btn.sticky { position: absolute; right: 0; }
	#footer { overflow: hidden; position: relative; z-index: 2; width: auto; margin: auto var(--rpn) 0; padding: var(--pd) var(--rpp) calc(var(--pd) - var(--mr_main) + 85px); background: var(--cod); color: var(--white); --pd: 80px; }
		#footer h1, #footer h2, #footer h3, #footer h4, #footer h5, #footer h6 { margin: 0 0 12px; color: var(--theme); font-size: var(--fz_main); font-weight: var(--fw_main); line-height: var(--lh_main); }
		#footer ul { list-style: none; padding: 0; color: var(--white); }
		#footer nav { max-width: 50%; margin-left: calc(0px - var(--cols)); padding: var(--pd) 0 0; color: var(--alto); }
			#footer nav > * { border-left: var(--cols) solid rgba(0,0,0,0); }
			#footer nav ul + p { margin-top: calc(0px - var(--mr_main) + 12px); }
			#footer a { color: inherit; }
			#footer a, #nav a { display: block; position: relative; z-index: 2; font-weight: inherit; }
		#footer > div { max-width: calc(var(--s48) * 9.1666666667); }
		#footer p.strong { font-size: var(--s48); font-weight: 400; line-height: var(--lh_head); }
		#footer p.strong + * { margin-top: calc(var(--mr_main) * 2); }
		#footer p.logo { position: absolute; right: var(--rpp); bottom: 57px; margin: 0; padding: 0; color: var(--white); }
		

/*! Columns --------- */
.cols { display: block; position: relative; margin-left: calc(0px - var(--cols)); }
	.cols > * { display: block; position: relative; clear: none; border: 0 solid rgba(0,0,0,0); border-left-width: var(--cols); }

.cols > figure.overlay { width: 50%; margin-left: calc(var(--rpn) + var(--cols)); border-left-width: 0; }
	#content > .cols:first-child > figure.overlay { margin-top: calc(0px - var(--content_p)); }
	#content > .cols:last-child > figure.overlay { margin-bottom: calc(0px - var(--content_m) + var(--mr_main)); }

[class*="width-"] { width: 100%; max-width: var(--width); --width: none; }
	.width-20 { --width: 20%; }
	.width-25 { --width: 25%; }
	.width-33 { --width: 33.33333333333%; }
	.width-50 { --width: 50%; }
	.width-70 { --width: 70%; }
	.width-100 { --width: 100%; }

	.width-400 { --width: 400px; }
	.width-545 { --width: 545px; }
	.width-690 { --width: 690px; }
	.width-1400 { --width: 1400px; }


/*! Modules --------- */
.align-center { margin-left: auto; margin-right: auto; }

/*.module-accordion {}*/
	.module-accordion summary { display: block; position: relative; z-index: 2; margin: 0 0 14px; padding: 18px 0; border: 0 solid var(--dove); border-bottom-width: 1px; font-size: 24px; cursor: pointer; }
		.module-accordion summary span { color: var(--dove); font-size: 16px; margin-right: 20px; }
		.module-accordion summary:before { content: "\e90b"; left: auto; color: var(--dove); font-size: 16px; }
		.module-accordion details[open] summary:before { content: "\e90c"; }
		.module-accordion details[open] + details summary { border-top-width: 1px; }
		
.module-featured { --h: 100vh; margin-bottom: calc(var(--mr_main) * 4.5); }
	.module-featured article { min-height: var(--h); padding-bottom: calc(min(40px, var(--rpp)) - var(--mr_main)); }
		.module-featured article > * { margin-top: auto; }
	.module-featured h1, .module-featured h2, .module-featured h3, .module-featured h4, .module-featured h5, .module-featured h6 { font-size: var(--s80); }
	.module-featured footer { max-width: 420px; color: var(--dove); font-size: 20px; }
	#content > .module-featured:first-child { --h: calc(100vh - var(--top_h)); margin-top: calc(0px - var(--content_p)); }
	
.module-slider { margin-bottom: calc(var(--mr_sect) - var(--mr_main)); color: var(--cod); }
	.module-slider article { position: relative; z-index: 2; }
		.module-slider article > div { width: calc(42% - var(--cols) * 0.5); padding: 0 0 68px; }
		.module-slider article > figure { 
			width: calc(58% - var(--cols) * 0.5); 
			-webkit-align-self: flex-start; align-self: flex-start;
		}
		.module-slider .slider-controls { position: absolute; right: 0; bottom: 0; padding: 0 0 var(--mr_main); color: var(--dove); font-size: 16px; }
			.module-slider .slider-controls a { position: relative; z-index: 2; color: inherit; }
		
.module-tabs { margin-left: calc(0px - var(--cols)); counter-reset: counter2; --h2: 16px; }
	.module-tabs > * { width: 50%; border-left: var(--cols) solid rgba(0,0,0,0); }
	.module-tabs nav, .module-tabs .tabs-header { display: block; position: relative; color: var(--dove); font-size: var(--s56); font-weight: var(--fw_bold); line-height: var(--lh_head); }
		.module-tabs nav ul, .module-tabs nav ol { list-style: none; padding: 0; counter-reset: counter; }
		.module-tabs nav li:not(:last-child) { margin-bottom: 64px; }
		.module-tabs nav li a { display: block; position: relative; z-index: 2; color: inherit; }
		.module-tabs nav li.active a { color: var(--cod); pointer-events: none; }
		.module-tabs nav ol li a, .module-tabs .tabs-header { padding-left: calc(var(--s56) * 0.7857142857); }
		.module-tabs nav ol li a:before, .module-tabs .tabs-header:before { counter-increment: counter; content: counters(counter, ".", decimal-leading-zero); display: block; position: absolute; left: 0; top: 6px; font-size: var(--h2); font-weight: var(--fw_main); }
		.module-tabs .tabs-header:before { counter-increment: counter2; content: counters(counter2, ".", decimal-leading-zero); }
		
.module-wide { position: relative; z-index: 2; margin: var(--mr_sect) 0; padding: var(--pd) 0 max(0.1px, calc(var(--pd) - var(--mr_main))); --pd: 72px; }
	.module-wide:before { background: var(--porcelain); }
	
/* Swiper, Copyright: Vladimir Kharlampidi, License: MIT, Version: 7.0.2, URL: https://github.com/nolimits4web/swiper */
.swiper-outer { display: block; overflow: hidden; width: 100%; }
.swiper-wrapper { display: -moz-box; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-flex-wrap: nowrap; flex-wrap: nowrap; }
.swiper-wrapper { position: relative; z-index: 1; width: 100%; height: 100%; }
.swiper-wrapper { -webkit-transition-property: transform; transition-property: transform; }
.swiper-wrapper { -webkit-align-items: stretch; align-items: stretch; }
.swiper-autoheight .swiper-wrapper { -webkit-align-items: flex-start; align-items: flex-start; -webkit-transition-property: transform, height; transition-property: transform, height; }
.s4wi { position: relative; z-index: 1; }

.swiper-vertical > .swiper-wrapper { -webkit-flex-direction: column; flex-direction: column; }
.s4wi .swiper-android .swiper-slide, .s4wi .swiper-wrapper { -webkit-transform: translate3d(0px,0,0); transform: translate3d(0px,0,0); }
.s4wi .swiper-horizontal { -ms-touch-action: pan-y; touch-action: pan-y; }
.swiper-slide { position: relative; width: 100%; height: 100%; }
.swiper-slide { -webkit-flex-shrink: 0; -ms-flex-shrink: 0; flex-shrink: 0; }
.swiper-slide-invisible-blank {	visibility: hidden; opacity: 0; }
.swiper-autoheight, .swiper-autoheight .swiper-slide { height: auto; }
.swiper-button-lock, .swiper-pagination-lock { display: none; }


/*! Headers --------- */
.header-line { font-weight: var(--fw_main); font-size: 16px; }
	.header-line:after { content: "\e90a"; display: block; margin-left: 26px; color: var(--theme); font-family: i; font-weight: 400; font-size: 8px; line-height: 1; }


/*! Content --------- */
.strong { font-weight: var(--fw_bold); }
.em { font-style: italic; }

.text-start { text-align: var(--ta_start); --justify: flex-start; }
.text-center { text-align: center; --justify: center; }
.text-end { text-align: var(--ta_end); --justify: flex-end; }
.text-justify { text-align: justify; --justify: space-between; }
.text-uppercase { text-transform: uppercase; }

q, .like-q { color: var(--dove); font-size: var(--s32); line-height: 1.2; }
.lead q { quotes: none; display: block; position: relative; z-index: 2; color: var(--cod); font-size: var(--s90); font-weight: var(--fw_bold); line-height: var(--lh_head); }
	.lead q:before, .lead q:after { display: block; position: relative; z-index: 2; color: var(--theme); font-weight: 400; font-size: 0.65em; font-family: i; line-height: 1; }
		.lead q:before { content: "\e900"; margin-bottom: 24px; }
		.lead q:after { content: "\e901"; margin-top: 24px; }
		
.size-20 { font-size: 20px; --fz_main: 20px; }
.size-24 { font-size: var(--s24); --fz_main: var(--s24); }
.size-32 { font-size: var(--s32); --fz_main: var(--s32); }

.overlay-theme, [data-whatintent="mouse"] .module-slider .slider-controls a:hover { color: var(--theme); }
.overlay-content { color: var(--coal); --btn_bg: var(--cod); --btn_bg_h: var(--silver); --btn_fg: var(--white); --btn_fg_h: var(--cod); }
.overlay-gray { color: var(--dove); }

.scheme-slider { display: block; }
.dynamic-text { display: inline-block; color: #ee5720; transition: opacity 0.5s ease-in-out; }

/*! Links --------- */
.link-btn { margin: calc(var(--mr_main) * 1.5) calc(0px - var(--btn_dist)) calc(var(--mr_main) - var(--btn_dist)) 0; }
	.link-btn > * { margin-right: var(--btn_dist); margin-bottom: var(--btn_dist); }
	.link-btn + * { margin-top: calc(var(--mr_main) * 0.75); }
	
.link-line { display: block; position: relative; z-index: 2; padding-left: 86px; line-height: 1.4; letter-spacing: .04em; }
	.link-line:before { content: "\e906"; right: auto; top: calc(var(--fz_main) * var(--lh_main) * 0.5); margin: -6px 0 0; color: var(--theme); font-size: 12px; line-height: 1; }
	.link-line a { display: block; font-weight: var(--fw_bold); }
	

/*! Media --------- */
img, iframe, object, embed { max-width: 100% !important; border-style: none; }
img { height: auto !important; image-rendering: optimizeQuality; -ms-interpolation-mode: bicubic; }
	img::selection { background: transparent; }
	img::-moz-selection { background: transparent; }
picture { width: 100%; } 


/*! Lists --------- */
.list-tags, .list-logo { list-style: none; margin: 0 calc(0px - var(--dist)) calc(var(--mr_main) - var(--dist2)) 0; padding: 0; --dist: 16px; --dist2: 16px; }
	.list-tags li, .list-logo li { position: relative; z-index: 2; margin: 0 var(--dist) var(--dist2) 0; border: 0 solid rgba(0,0,0,0); }
	
.list-counts { list-style: none; margin-left: calc(0px - var(--cols)); padding: 0; color: var(--cod); font-weight: var(--fw_bold); font-size: var(--s32); }
	.list-counts li { margin: 0; border-left: var(--cols) solid rgba(0,0,0,0); }
	.list-counts li > span { display: block; margin: 0 0 32px; padding: 0 0 16px; border-bottom: 1px solid var(--cod); font-size: 3.75em; font-weight: var(--fw_bold); line-height: var(--lh_head); }
	
.list-logo { list-style: none; margin-right: calc(var(--rpn) + var(--cols)); margin-left: calc(var(--rpn) - var(--dist) + var(--cols)); padding: 0; }
	.list-logo li { margin-right: 0; border-left-width: var(--dist); }
	
.list-news { list-style: none; margin: 0 0 0 calc(0px - var(--cols)); padding: 0; color: var(--dove); counter-reset: counter; --w: 33.333333333333%; --dist: var(--cols); }
	.list-news li { width: var(--w); margin: 0 0 calc(var(--dist) - var(--mr_main)); border-left: var(--cols) solid rgba(0,0,0,0); }
	.list-news figure { margin: 0 0 26px; }
		ol.list-news figure:after { counter-increment: counter; content: counters(counter, '.') ' '; display: block; width: 40px; height: 40px; margin: 16px 0 0; border-radius: 40px; background: var(--cod); color: var(--white); font-size: 24px; line-height: 40px; text-align: center; } 
		.list-news img { display: block; border-radius: 4px; }
	.list-news h1, .list-news h2, .list-news h3, .list-news h4, .list-news h5, .list-news h6 { margin-bottom: 20px; font-size: var(--s32); }
.list-news.s4wi { display: block; }
	.list-news .swiper-outer { overflow: visible; max-width: 73.3333333333vw; }
	.list-news .swiper-slide li { width: auto; }
	
.list-tags { font-size: 20px; }
	.list-tags li { padding: 7px 14px; }
	.list-tags li:after { border-radius: 4px; background: var(--white); }
	.list-tags .swiper-slide { width: auto; }
	.list-tags .swiper-outer { overflow: visible; }
	.list-tags .swiper-wrapper { transition-timing-function :linear; }
.list-tags.wide { overflow: hidden; position: relative; z-index: 2; margin-right: var(--rpn); margin-left: calc(var(--rpn) - var(--dist)); padding: 0 var(--rpp); background: var(--cod); color: var(--alto); font-size: 16px; font-weight: var(--fw_bold); white-space: nowrap; --dist: 82px; }
	.list-tags.wide li { margin: 0; padding: 16px 0; border-left-width: var(--dist); }
	.list-tags.wide li:after { left: calc(0px - var(--dist) * 0.5); top: 50%; bottom: auto; height: 20px; margin-top: -10px; border-radius: 0; border-left: 1px solid var(--alto); background: none; }
	.list-tags.wide .swiper-slider li:after { display: block !important; }
		
	
/*! Forms --------- */
fieldset, hr { min-width: 0; margin: 0; padding: 0; border-width: 0; }
	form p { position: relative; }
	legend { display: none; width: 100%; max-width: 100%; padding: 0; border: 0; white-space: normal; }
	input, select, textarea { 
		position: relative; z-index: 1; margin: 0; padding: 0; box-shadow: none; border-radius: 0; font-size: 1em; line-height: normal; text-align: var(--ta_start); text-transform: none; outline-width: 0;
		-moz-appearance: none; -webkit-appearance: none; appearance: none; 
	}
	input, select, textarea, button, input[type="button"], input[type="reset"], input[type="submit"] { box-sizing: border-box; text-transform: none; outline-offset: -2px; }
		/*input {}*/
			input::-webkit-search-decoration, input::-webkit-search-cancel-button, input::-webkit-outer-spin-button, input::-webkit-inner-spin-button, input::-webkit-clear-button, input::-webkit-calendar-picker-indicator { display: none; -webkit-appearance: none; visibility: hidden !important; height: auto; margin: 0; }
			input::-o-outer-spin-button, input::-o-inner-spin-button { appearance: none; margin: 0; }
			input::-webkit-inner-spin-button, input::-webkit-outer-spin-button { height: auto; }
			input::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }
			[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
			input[type="checkbox"], input[type="radio"] { display: inline-block; width: auto; height: auto; padding: 0; border: 0; background: none; line-height: 1; }
				input[type="checkbox"] { -moz-appearance: checkbox; -webkit-appearance: checkbox; appearance: checkbox; }
				input[type="radio"] { -moz-appearance: radio; -webkit-appearance: radio; appearance: radio; }
			input[type="color"] { padding: 0; cursor: pointer; }
			input[type="date"] { display: -webkit-inline-flex; }
			input[type="number"] { appearance: textfield; -moz-appearance: textfield; }
				input[type="number"]::-webkit-outer-spin-button,  input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
				input[type="number"]::-o-outer-spin-button, input[type="number"]::-o-inner-spin-button { -o-appearance: none; margin: 0; }
		textarea { overflow: auto; vertical-align: top; resize: vertical; }
		select { line-height: 1; text-overflow: ''; text-indent: 0.01px; }
			select::-ms-expand { display: none; }
	button, input[type="button"], input[type="reset"], input[type="submit"] { display: block; overflow: visible; position: relative; z-index: 3; height: auto; margin: 0; box-shadow: none; text-transform: none; text-indent: 0; cursor: pointer; outline-width: 0; -webkit-appearance: button; appearance: button; -webkit-font-smoothing: inherit; }
		button::-moz-focus-inner, input::-moz-focus-inner { padding: 0; border: 0; outline: none; }
		button[disabled], input[type="button"][disabled], input[type="reset"][disabled], input[type="submit"][disabled] { border-color: var(--silver); background: var(--silver); cursor: default; pointer-events: none; }
::-webkit-input-placeholder { opacity: 1; color: inherit; }
:-ms-input-placeholder { opacity: 1; color: inherit; }
::-ms-input-placeholder { opacity: 1; color: inherit; }
::placeholder { opacity: 1; color: inherit; }
	:focus::-webkit-input-placeholder { opacity: 0; }
	:focus:-ms-input-placeholder { opacity: 0; }
	:focus::-ms-input-placeholder { opacity: 0; }
	:focus::placeholder { opacity: 0; }

/*form {}*/
	label { display: block; position: relative; left: 0; top: 0; z-index: 2; font-weight: 400; }
	input, select, textarea { display: block; width: 100%; border: 1px solid var(--input_bd); background: var(--input_bb); color: var(--input_fg); }
		input, select { height: var(--input_h); padding: 0 var(--input_pd); }
			input[type="date"] { line-height: calc(var(--input_h) - 2px); }
		select { padding-right: var(--input_h); line-height: normal; } 
		textarea { padding: var(--dist) var(--input_pd); --dist: calc(var(--input_h) / 2 - var(--fz_main) * var(--lh_main) / 2); }  
	button, input[type="button"], input[type="reset"], input[type="submit"], .link-btn a { display: block; overflow: hidden; position: relative; z-index: 2; margin: 0 var(--btn_dist) var(--btn_dist) 0; padding: 14px 24px; border-radius: 24px; border: 1px solid var(--btn_bg); background: var(--btn_bg); color: var(--btn_fg); font-weight: var(--fw_bold); font-size: var(--btn_fz); line-height: var(--lh_head); text-align: center; text-decoration: none; cursor: pointer; }
		/*#root button, #root input[type="button"], #root input[type="reset"], #root input[type="submit"], #root .link-btn a, #root .link-btn > label, #root .swiper-button-nav { color: var(--btn_fg); }*/
		[data-whatintent="mouse"] button:hover, [data-whatintent="mouse"] input[type="button"]:hover, [data-whatintent="mouse"] input[type="reset"]:hover, [data-whatintent="mouse"] input[type="submit"]:hover, [data-whatintent="mouse"] .link-btn a:hover { color: var(--btn_fg_h); --btn_bg: var(--btn_bg_h); --btn_fg: var(--btn_fg_h); }
			button.inv, .link-btn a.inv { background: none; --btn_fg: var(--btn_bg); }
			[data-whatintent="mouse"] #root button.inv:hover, [data-whatintent="mouse"] #root .link-btn a.inv:hover { background: var(--btn_bg); color: var(--btn_fg); }
		button i, .link-btn a i { display: block; margin-left: calc(var(--btn_fz) * 0.8125); font-size: calc(var(--btn_fz) * 0.6875); line-height: 1; }
	

/*! Helpers --------- */
#root > .close-nav { transition-property: all; transition-duration: 0.4s; transition-timing-function: cubic-bezier(.4,0,.2,1); transition-delay: 0s; }

.clear { clear: both; }
summary::-webkit-details-marker { display: none; }
.hidden, [hidden], template, #nav em, #top > .close-nav, .list-counts li:before, .list-tags li:before, .module-slider > article ~ article, .list-logo li:before, .module-tabs:not(.tabs-initialized) > div > *:first-child ~ *, #footer li:before, #top li:before, #top:before, #distance-spacer, .tabs-header, .list-tags.wide > li:first-child:after, .scheme-slider:not(.s4wi) > * ~ * { display: none; }
article, aside, details, dialog, div, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }

hr { display: block; overflow: hidden; width: 100%; height: 1px; margin: var(--mr_main) 0; padding: 0; border: 0; border-top: 1px solid var(--silver); background: none; font-size: 0; } 

h1 + .link-btn, h2 + .link-btn, h3 + .link-btn, h4 + .link-btn, h5 + .link-btn, h6 + .link-btn, .module-wide:first-child { margin-top: 0; }

#root .margin-0 { margin-bottom: 0; }
#root .margin-x05 { margin-bottom: calc(var(--mr_main) * 0.5); }
#root .margin-x125 { margin-bottom: calc(var(--mr_main) * 1.25); }
#root .margin-x15 { margin-bottom: calc(var(--mr_main) * 1.5); }
#root .margin-x2 { margin-bottom: calc(var(--mr_main) * 2); }
#root .margin-x35 { margin-bottom: calc(var(--mr_main) * 3.5); }
#root .margin-x5 { margin-bottom: calc(var(--mr_main) * 5.5); }
#root .margin-section { margin-bottom: var(--mr_sect); }


/*! Miscellaneous --------- */
audio, canvas, iframe, img, svg, video { border-width: 0; vertical-align: middle; }
audio, canvas, progress, video { display: inline-block; vertical-align: baseline; }
audio:not([controls]), video[autoplay]:not([muted]) { display: none; }	
svg:not(:root) { overflow: hidden; }

::selection { background: var(--theme); color: var(--white); text-shadow: none; }
::-moz-selection { background: var(--theme); color: var(--white); text-shadow: none; }


/*! Outlines --------- */
[data-whatinput="keyboard"] a:focus, [data-whatinput="keyboard"] button:focus, [data-whatinput="keyboard"] input:focus, [data-whatinput="keyboard"] select:focus, [data-whatinput="keyboard"] textarea:focus { outline-width: 2px; outline-style: solid; outline-offset: -2px; }
[data-whatintent="mouse"] input:focus, [data-whatintent="mouse"] select:focus, [data-whatintent="mouse"] textarea:focus { outline: none; }


/*! Flexbox --------- */
/* flex */ 	.list-news, .module-tabs, .list-logo, .list-counts, .header-line, .module-slider article, .module-featured article, #footer p.logo, .list-tags, #nav > ul, #top, #footer nav, #footer, .link-btn, button, input[type="button"], input[type="reset"], input[type="submit"], .link-btn a, .cols, #root { display: -moz-box; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; }

/* f:wn */	#root .list-counts li, .list-tags.wide, .module-tabs, .list-logo, .header-line, .module-slider article, .module-featured article, #footer p.logo, #nav > ul, #top, #footer nav, #footer, button, input[type="button"], input[type="reset"], input[type="submit"], .link-btn a, .cols, #root { -webkit-flex-wrap: nowrap; flex-wrap: nowrap; }

/* f:ds */	.cols.inv { -webkit-flex-direction: row-reverse; flex-direction: row-reverse; }
/* f:dc */	.list-counts li, .module-featured article, #root { -webkit-flex-direction: column; flex-direction: column; }

/* f:jc */	#footer p.logo, #nav > ul { -webkit-justify-content: center; justify-content: center; }
/* f:je */	.cols.align-end { -webkit-justify-content: flex-end; justify-content: flex-end; }
/* j:jb */	.list-logo, .list-counts, .module-slider article, #top, #footer nav, #footer, .cols { -webkit-justify-content: space-between; justify-content: space-between; }
	
/* f:ac */	.list-counts li, .list-logo, .header-line, #top, button, input[type="button"], input[type="reset"], input[type="submit"], .link-btn a { -webkit-align-items: center; align-items: center; }
/* f:ae */	.module-slider article { -webkit-align-items: flex-end; align-items: flex-end; }

/* f:s0 */	#logo { -webkit-flex-shrink: 0; -ms-flex-shrink: 0; flex-shrink: 0; }
/* f:g3 */	#nav .link-btn > *, #nav, #footer nav { -webkit-flex-grow: 3; -ms-flex-grow: 3; flex-grow: 3; }


/*! Icons --------- */
@font-face { font-family: 'i'; src: url('icons/icomoon.woff2') format('woff2'), url('icons/icomoon.woff') format('woff'); font-display: swap; }
[class*="icon-"] { font-family: 'i' !important; speak: none; font-style: normal; font-weight: 400; font-variant: normal; text-transform: none; line-height: 1; letter-spacing: normal; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
	.icon-arrow-bottom-left:before { content: "\e903"; }
	.icon-arrow-bottom-right:before { content: "\e902"; }
	.icon-arrow-top-left:before { content: "\e904"; }
	.icon-arrow-top-right:before { content: "\e905"; }
	.icon-header-line:before { content: "\e90a"; }
	.icon-link-line:before { content: "\e906"; }
	.icon-logo:before { content: "\e908"; }
	.icon-logo-outline:before { content: "\e907"; }
	.icon-menu:before { content: "\e909"; }
	.icon-minus:before { content: "\e90c"; }
	.icon-plus:before { content: "\e90b"; }
	.icon-quote-close:before { content: "\e901"; }
	.icon-quote-open:before { content: "\e900"; }


/*! Animations --------- */
#content > .link-btn.sticky > a { 
	box-shadow: 0 0 15px 5px rgba(0,0,0,0);
	-webkit-animation: pulse 1.5s infinite; animation: pulse 1.5s infinite;
}

@-webkit-keyframes pulse { 0% { box-shadow: 0 0 0 0 var(--cod); } }
@keyframes pulse { 0% { box-shadow: 0 0 0 0 var(--cod); } }


/* New */
.anchor { scroll-margin-top: 100px; } /* Adjust this value to the height of your navbar */
.cols.inv { min-height:360px; }


/* Responsive --------- */
@media only screen and (max-width: 1400px) {
:root {
	--rpp: clamp(20px, 3.5vw, 80px);
	--content_p: calc(var(--rpp) * 2);
	--content_m: calc(var(--rpp) * 2);
}
#nav { --dist: 20px; }

.list-counts { font-size: 24px; }

#nav > ul { -webkit-justify-content: space-between; justify-content: space-between; }
}
@media only screen and (max-width: 1200px) {
:root {
	--rpp: 20px;
	--cols: var(--rpp);
	--top_dist: var(--rpp);
	--content_m: calc(clamp(20px, 3.5vw, 80px) * 1.5);
}
#nav { --dist: 8px; }

#root .cols > *:first-child:last-child { width: 100%; max-width: none; }
.module-tabs nav { font-size: var(--s48); }
#root .margin-x5 { margin-bottom: calc(var(--mr_main) * 4); }

.list-logo { -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.list-logo { -webkit-justify-content: center; justify-content: center; }

#content > .cols:last-child { margin-bottom: calc(var(--content_m)*2 - var(--mr_main)); }
}
@media only screen and (min-width: 1001px) { /* desktop only */
button.size-m, .link-btn > a.size-m { padding: 22px 28px; border-radius: 34px; font-size: 20px; }
		
#root .desktop-hide, #root .tablet-only { display: none; }
#nav { display: block !important; }
}

@media only screen and (min-width: 761px) and (max-width: 1000px) { /* tablet only */
#root .tablet-hide { display: none; }
}
@media only screen and (max-width: 1000px) {
:root {
	--s56: 48px;
	--s48: 36px;
	--s32: 28px;
}
#top { padding-left: calc(var(--rpp) + 48px); }
	#top:before { content: "\e909"; display: block; left: var(--rpp); right: auto; font-size: 16px; }
	#top > .close-nav { display: block; overflow: hidden; position: absolute; left: 0; top: 0; bottom: 0; width: calc(var(--rpp) + 48px); text-indent: -3000em; text-align: left; }
	#nav { 
		display: none; visibility: hidden; overflow-x: hidden; overflow-y: auto; position: fixed; left: -10px; top: calc(var(--top_h) + 1px); bottom: 0; width: 200px; background: var(--top_bg); color: var(--top_fg); opacity: 0;
		transition-property: left, visibility, opacity; transition-duration: 0.4s; transition-timing-function: cubic-bezier(.4,0,.2,1); transition-delay: 0s; 
	}
		#nav > ul { display: block; margin: 0; }
		#nav > ul > li { margin: 0; }
		#nav > ul > li > a { display: block; padding: 12px var(--rpp); }
	.menu-active #top { background: var(--top_bg); }
	.menu-active #nav { left: 0; }
	.menu-active #nav, .menu-active #root > .close-nav { visibility: visible; opacity: 1; }
#footer { display: block; --pd: var(--rpp); }
	#footer nav { max-width: none; padding: var(--rpp) 0 0; }
	#footer p.strong + * { margin-top: var(--mr_main); }
	#footer p.logo { bottom: var(--rpp); }

.list-counts { font-size: 20px; }
	.list-counts li > span { margin-bottom: var(--rpp); font-size: 3.5em; }
.module-slider { font-size: var(--fz_main); --fz_main: 16px; }
	.module-slider article > div { padding-bottom: 48px; }
/*.module-tabs {}*/
	.module-tabs nav li:not(:last-child) { margin-bottom: var(--rpp); }

#root .desktop-only { display: none; }

#content > .cols:last-child { margin-bottom: calc(var(--content_m)*2.5 - var(--mr_main)); }
}
@media only screen and (min-width: 761px) {
#root .mobile-only, .module-tabs .tabs-header { display: none; }
}
@media only screen and (max-width: 760px) {
:root {
	--s24: 20px;
	--s32: 24px;
	--s48: 32px;
	--s56: 36px;
	--s80: 48px;
	
	--btn_fz: 14px;
	/*--content_p: 0px;*/
	--content_m: calc(var(--rpp) * 3);
	--mr_sect: calc(var(--mr_main) * 5);
}

#content > .cols:last-child { margin-bottom: var(--content_m); }
#footer p.logo { left: 0; right: 0; bottom: calc(var(--rpp) * 2); }

#root .cols { display: block; }
	#root .cols > *, .cols > figure.overlay { width: auto; max-width: none; }
	.cols > figure.overlay { margin-right: var(--rpn); }
.list-counts { display: block; text-align: center; }
	.list-counts li { width: auto; }
	.list-counts li + li { margin-top: calc(var(--rpp) * 2); }
/*.list-logo {}*/
	.list-logo img { width: auto !important; max-height: 60px !important; }
.list-tags { font-size: 16px; }
/*.module-slider {}	*/
	#root .module-slider article > * { width: 100%; }
.module-tabs { display: block; --h2: 14px; }
	.module-tabs > * { width: 100%; }
	.module-tabs .tabs-header { margin: 0 0 calc(var(--rpp) * 1.2); color: var(--cod); }
	.module-tabs .tabs-inner { padding-bottom: calc(var(--rpp) * 1.2); }
	.module-tabs > * > .hidden { display: block; }
.module-wide { --pd: calc(var(--rpp) * 2); }

#root .margin-x5, #root .margin-x35 { margin-bottom: calc(var(--mr_main) * 2.5); }
#root .module-tabs.margin-x5 { margin-bottom: 80px; }

#root .margin-mobile-0 { margin-bottom: 0; }
#root .margin-mobile-content { margin-bottom: var(--mr_main); }
#root .margin-mobile-x05 { margin-bottom: calc(var(--mr_main) * 0.5); }
#root .margin-mobile-x075 { margin-bottom: calc(var(--mr_main) * 0.75); }
#root .margin-mobile-x15 { margin-bottom: calc(var(--mr_main) * 1.5); }
#root .margin-mobile-x2 { margin-bottom: calc(var(--mr_main) * 2); }

.list-counts li { display: -moz-box; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.list-counts li > span { font-size: 3em; }

#footer nav, .module-slider article, .module-tabs .tabs-header { display: block; }
#root .mobile-hide, #root .tablet-only, .module-tabs > nav, .tabs-header:not(.toggle) + .tabs-inner { display: none; }

.module-accordion summary { font-size: 20px; }
}

@media only screen and (min-width: 501px) {
#nav .link-btn { display: none; }
}
@media only screen and (max-width: 500px) {
#top > .link-btn { display: none; }
:root {
	--s24: 18px;
	--s32: 20px;
}
.list-counts li > span { font-size: 2.75em; }
}
@media only screen and (max-width: 400px) {
#footer .link-line { font-size: 14px; --fz_main: 14px; }
}
@media only screen and (max-width: 360px) {
#logo { font-size: 20px; }
.list-counts li > span { font-size: 2.5em; }
}
