
/*! sanitize.css v5.0.0 | CC0 License | github.com/jonathantneal/sanitize.css */*,::after,::before{background-repeat:no-repeat;box-sizing:inherit}::after,::before{text-decoration:inherit;vertical-align:inherit}html{box-sizing:border-box;cursor:default;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}article,aside,footer,header,nav,section{display:block}body{margin:0}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}nav ol,nav ul{list-style:none}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}::-moz-selection{background-color:#b3d4fc;color:#000;text-shadow:none}::selection{background-color:#b3d4fc;color:#000;text-shadow:none}audio,canvas,iframe,img,svg,video{vertical-align:middle}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg{fill:currentColor}svg:not(:root){overflow:hidden}table{border-collapse:collapse}button,input,optgroup,select,textarea{margin:0}button,input,select,textarea{background-color:transparent;color:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto;resize:vertical}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[tabindex],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}[hidden]{display:none}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-hidden=false][hidden]:not(:focus){clip:rect(0,0,0,0);display:inherit;position:absolute}[aria-disabled]{cursor:default}

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}

/* ---------------- local type embed */

@charset "UTF-8";

@font-face {
  font-family: "sans";
  font-weight: 300;
  src: url("../fonts/SourceSansPro-Light.ttf") format("truetype");
}
@font-face {
  font-family: "sans";
  font-weight: 400;
  src: url("../fonts/SourceSansPro-Regular.ttf") format("truetype");
}
@font-face {
  font-family: "sans";
  font-weight: 700;
  src: url("../fonts/SourceSansPro-Bold.ttf") format("woff");
}
@font-face {
  font-family: "sf_icon";
  font-weight: 300;
  src: url("../fonts/SofaIcons-Regular.woff") format("woff");
}

/* ------------ root */

html				{ width: 100vw;
					height: 100vh;
					background-color: white;
					}
body				{
					-webkit-backface-visibility: hidden;
					-webkit-font-smoothing:antialiased;
					font-family: "sans", sans-serif;
					font-weight: 400;
					font-size: 14px;
					line-height: 130%;
					letter-spacing: 0.5px;
					color: #404547;
					}
.site				{
					display:block;
					width: calc(100vw - 60px);
					min-height: calc(100vh - 60px);
					margin: 30px;
					padding: 200px 60px 0 60px;
					background-color: #ebebeb;
					}
.site_margin		{
					width: 100%;
					height: 1px;
					}
					
/* ------------ typography */

h1,h2,h3,h4,h5,h6	{
					font-family: "sans", sans-serif;
					line-height: 120%;
					hyphens: auto;
					}
h1					{ font-size: 36px; letter-spacing: .7px; font-weight: 300; margin-bottom: 15px; }					
h2					{ font-size: 26px; letter-spacing: .7px; text-transform: uppercase; padding-bottom: 26px; }
h3					{ font-size: 20px; letter-spacing: .7px; text-transform: uppercase; margin-bottom: 20px; }
h4					{ font-size: 14px; letter-spacing: .2px; text-transform: uppercase; margin: 7px 0 20px 0; }

b, .b				{ font-weight: 700; font-style: bold; }
.uc					{ text-transform: uppercase; }
.sf_icon			{ font-family: "sf_icon"; }
.sf-wysiwyg-block .sf_icon	{ font-size: 110%; position: relative; top: 1px; }
.sf_icon_big		{ font-size: 32px; }
.extension			{ font-size: 12px; font-weight: 700; color: #AAA; display: inline-block; position: relative; top: -4px; }
.dashicons 			{ font-size: 24px !important;
					width: 24px !important;
					height: 24px !important;
					}
.credits			{ font-size: 10px; padding: 6px 0 20px 0; }

/* ---------------- font colors */

.white, .white a	{ color: white; }
.red				{ color: #E40615;}

a					{ color: #404547; text-decoration: none; }
a:hover				{ text-decoration: none; }

/* ---------------- background colors */

.bg					{ background-color: rgba(0,0,0,.1); }

/* ---------------- headroom */

#header				{ display: block;
  					  width: calc(100vw - 180px);
  					  height: auto;
  					  z-index: 30;
  					  margin: 60px auto 0 auto;
  					}
.header				{ }
.fixed				{ position: fixed;
					  z-index: 10;
					  right: 0; left: 0; top: 0; }

/* ---------------- container */

.container			{
					width: 100%;
					height: 100%;
			
					}
.grid				{
					display: grid;
					grid-gap: 20px;
					position: relative;
					}


/* ---------------- grid */

.col_2				{ grid-template-columns: 1fr 1fr; }
.col_3				{ grid-template-columns: 1fr 1fr 1fr; }
.col_4				{ grid-template-columns: 1fr 1fr 1fr 1fr; }

.col_1-3_2-3		{ grid-template-columns: 1fr 2fr; }
.col_2-3_1-3		{ grid-template-columns: 2fr 1fr; }

.header_desktop .col_3{ grid-template-columns: 1fr 4fr 1fr; }
					
.centered			{ display: flex; align-items: center; justify-content: center; }
.bottom.right		{ display: flex; align-items: flex-end; justify-content: flex-end; position: relative; top: -3px; }
.margin_bottom		{ margin-bottom: 30px; }

.sf_download_container{
					display: grid;
					grid-template-columns: 1fr 2fr;
					grid-column-gap: 60px;
					grid-row-gap: 30px;
					margin-bottom: 30px;
					}
.sf_company_container{
					grid-column-gap: 60px;
					}
.sf_download_container h2,
.sf_company_container h2{
					position: relative;
					background-image: url(../images/dashed-line.svg);
					background-repeat: repeat-x;
					background-position-y: 100%;
					margin-bottom: 6px;
					}
.back_arrow			{
					position: absolute;
					top: 3px;
					left: -1.3em;
					width: 26px !important;
					height: 26px !important;
					font-size: 26px !important;
					}
.sf_download_container .download-item{
					display: block;
					margin-bottom: 20px;
					}
.additional_downloads{
					padding-bottom: 16px;
					}

/* ---------------- overlay */

.sf_overlay			{
					width: 50vw;
					margin: 0 auto;
					padding: 40px 60px 50px 60px;
					color: white;
					background-color: rgba(0,0,0,.7);
					font-size: 16px;
					line-height: 140%;
					border-radius: 5px;
					}
.company_list		{
					width: 50vw;
					display: flex;
					justify-content: space-between;
					margin: 30px auto;
					}

/* ---------------- common layout */

.header_mobile		{ display: none; }


.hide_on_desktop	{ display: none; }
.hide_on_mobile		{ display: block; }

li					{ list-style-position: inside; list-style-type: disc; }
hr					{
					display: block;
					width: 100%;
					height: 1px;
					border: 0;
					position: relative;
					background-image: url(../images/dashed-line.svg);
					background-repeat: repeat-x;
					background-position-y: 100%;
					margin-bottom: 25px;
					}

.bg_image			{ -moz-background-size: cover; -webkit-background-size: cover; -o-background-size: cover; background-size: cover; background-position: center center; }
.bg_cover			{ -moz-background-size: cover; -webkit-background-size: cover; -o-background-size: cover; background-size: cover; }
.bg_center			{ background-position: center center; }
.bg_page_image		{
					position: fixed;
					top:0;
					width: 500px;
					height: 500px;
					
					}

.no_image			{ width: 50px; height: 50px; border-radius: 5px; background: rgba(0,0,0,.1); }


.history_back:hover	{ cursor: pointer; }

.border				{ border: 1px dotted grey; }
.noscript{
	position: fixed;
	width: 100%;
	height: 100%;
	z-index:10000;
	overflow: scroll;
	text-align: center;
	background: white;
}
.z-index			{ z-index: 10; }

.animate{
	-o-transition: all .6s ease-in-out;
	-ms-transition: all .6s ease-in-out;
	-moz-transition: all .6s ease-in-out;
	-webkit-transition: all .6s ease-in-out;
	transition: all .6s ease-in-out;
}

/* ---------------- Tooltip */

.tooltip {
  position: relative;
  display: inline-block;
  white-space: nowrap;
}
.tooltip .tooltiptext {
	position: absolute;
	z-index: 1;
	left: 20px;
	visibility: hidden;
	width: auto;
	background-color: black;
	color: #fff;
	font-family: "sans", sans-serif;
	font-size: 16px;
	text-align: center;
	padding: 0px 10px;
}
.tooltip:hover .tooltiptext {
  visibility: visible;
}

/* ---------------- Header */

.logo				{
					display: inline-block;
					height: 70px;
					margin-bottom: 7px;
					}
.headroom 			{
					will-change: transform;
					transition: transform 200ms linear;
					}
.headroom--pinned	{
					transform: translateY(0%);
					}
.headroom--unpinned {
					transform: translateY(-170%);
					}
				
/* ---------------- Buttons */

sf-button{
	font-family: "sans";
	font-size: 16px;
	font-weight: 400;
	line-height: 15px;
	color: white;
	display: inline-block;
	border: none;
	border-radius: 5px;
	outline:0;
	background-color: black;
	padding: 10px 10px 10px 0px;
	
	-o-transition: background-color .3s ease-in-out;
	-ms-transition: background-color .3s ease-in-out;
	-moz-transition: background-color .3s ease-in-out;
	-webkit-transition: background-color .3s ease-in-out;
	transition: background-color .3s ease-in-out;
}
sf-button:hover{
	background-color: #942226;
	cursor: pointer;
}
sf-button:before{
	position: relative;
	top: 2px;
	content: "𐔕";
	font-family: "sf_icon";
	font-size: 22px;
	line-height: 0px;
	border-right: 1px dashed white;
	line-height: 0px;
	padding: 0 8px;
	margin-right: 8px;
}
sf-button.xxx:before{
	content: "→";
}
.sf-login{
	display: inline-block;
	font-size: 18px;
	font-weight: 400;
	text-transform: uppercase;
	padding: 8px 40px;
	margin-top: 30px;
	background-color: #942226;
	border-radius: 5px;
}
.sf-login:hover{
	background-color: #de5d1d;
}
.sf-login a{
	color: white;
}

/* --------- Footer Columns --------- */

#footer{
	position: relative;
	margin-top: 60px;
	text-align: center;
}
#footer li{
	list-style: none;
}

/* --------- Footer Navigation --------- */

.footer-widget{
	display: inline-block;
	padding-bottom: 6px;
}
#footer .menu-item a{
	border-bottom: 1px dotted white;
}
#footer .menu-item a:hover{
	border-bottom: 1px dotted #de5d1d;
}

/* ---------------- Navigation Desktop */



/* ---------------- Navigation Mobile */

#navigation_overlay{
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100vw;
	height: 100vh;
	z-index: 40;
	background-color: white;
}
#navigation_overlay .site_overlay{
	display:flex;
	flex-direction: column;
	width: calc(100vw - 60px);
	min-height: calc(100vh - 60px);
	margin: 30px;
	padding: 30px 60px 0 60px;
	background-color: #942226;
}
#navigation_overlay .dashicons{
	font-size: 30px !important;
	position: relative;
	top: -6px;
	left: -3px;
}
.navigation_overlay_content .footer-widget{
	width: 100%;
}
.navigation_overlay_footer{
	text-align: center;
	margin-top: 30px;
}
.navigation_overlay_content{
	display: flex;
	flex: 1;
	justify-content: center;
	align-items: center;
}
#navigation_overlay li{
	font-size: 28px;
	line-height: 180%;
	text-align: center;
	list-style: none;
	letter-spacing: 1px;
}
#navigation_overlay li a:hover{
	border-bottom: 1px solid white;
}
#navigation_overlay li.current_page_item a{
	font-weight: 700;
}

/* ---------------- remove standard-styles */

input, select, textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border:none;
  border-radius: 0;
  font-size: 16px;
  width: auto;
  outline: none;
}

/* ---------------- Input & Textarea */
input, textarea {
	border-radius: 5px;
	background-color: #E5E6E7;
	padding:.5em 1em .5em 1em;
}

textarea {
  resize:vertical;
}

input:hover,
input:active,
textarea:hover,
textarea:active {
  /*border-bottom: 1px solid #00c6ff;*/
  outline: none;
}

::placeholder {
  opacity: .5;
}

input[type=search]{
	background-image: url(../images/icons/search.png);
	background-size: 18px;
	background-position: right center;
	background-origin: content-box;
	width: 52%;
}

/* ---------------- password form */

.ppw-post-password-container{
	width: 50%;
	margin: 0 auto;
	padding: 60px;
	text-align: center;
	border-radius: 5px;
	background: #942226;
	color: white;
}
.ppw-post-password-container:before{
	content: "\f160";
	font-family: dashicons;
	font-size: 42px;
}
.ppw-ppf-desc{
	margin-bottom: 20px;
}
.ppw-pwd-submit-btn{
	display: block;
	font-size: 18px;
	font-weight: 400;
	text-transform: uppercase;
	padding: 8px 40px;
	background-color: orange;
	border-radius: 5px;
	color: white;
	margin: 30px auto 20px auto;
}
.ppw-pwd-submit-btn:hover{
	cursor: pointer;
}
.ppw-pwd-label input{
	background: white;
	color: black;
}
.ppwp-wrong-pw-error{
	font-weight: bold;
	background: white;
	padding: 5px 10px 7px 10px;
	border-radius: 5px;
	display: inline-block;
}

/* ---------------- responsive changes */

@media only screen and (max-width: 1200px) {
	.col_3{
		grid-template-columns: 1fr 1fr;
	}
}

/* ---------------- like iPad pro */

@media only screen and (max-width: 1024px) {
	.site{ padding: 170px 60px 0 60px; }
	
	h1 { font-size: 30px; letter-spacing: .7px; font-weight: 300; margin-bottom: 15px; }
	h2 { font-size: 22px; letter-spacing: .7px; text-transform: uppercase; padding-bottom: 26px; }
	h3 { font-size: 18px; letter-spacing: .7px; text-transform: uppercase; margin-bottom: 20px; }
	
	.back_arrow {
	    top: 1px;
	    left: -1.3em;
	    width: 26px !important;
	    height: 26px !important;
	    font-size: 25px !important;
	}
	
	/* ---------------- overlay */
	
	.sf_overlay			{
						width: 75vw;
						margin: 0 auto;
						padding: 40px 60px 50px 60px;
						color: white;
						background-color: rgba(0,0,0,.7);
						font-size: 16px;
						line-height: 140%;
						border-radius: 5px;
						}
	.company_list		{
						width: 75vw;
						display: flex;
						justify-content: space-between;
						margin: 30px auto;
						}
	#navigation_overlay li{
		font-size: 22px;
		line-height: 160%;
		text-align: center;
		list-style: none;
		letter-spacing: 1px;
	}		
}

/* ---------------- 980px */

@media only screen and (max-width: 980px) {
	.col_1-3_2-3 {
	    grid-template-columns: 1fr;
	}
}

/* ---------------- like iPad */

@media only screen and (max-width: 768px) {
	.site{ padding: 140px 60px 0 60px; }
	.sf_download_container{
		display: grid;
		grid-template-columns: 1fr;
		grid-column-gap: 60px;
		grid-row-gap: 30px;
		margin-bottom: 30px;
	}
	.sf_download_container .download-item {
	    margin-bottom: 10px;
	}
	sf-button {
	    font-size: 14px;
    }
}

/* ---------------- like Smartphone */

@media only screen and (max-width: 500px) {
	body{
		hyphens: auto;
	}
	.site				{
		width: calc(100vw - 30px);
		min-height: calc(100vh - 30px);
		margin: 15px;
		padding: 80px 15px 0 15px;
	}
	#header {
	    width: calc(100vw - 60px);
	    height: auto;
	    z-index: 30;
	    margin: 30px auto 0 auto;
	}
	.logo				{
		height: 50px;
		margin-bottom: 7px;
	}
	
	h1 { font-size: 24px; letter-spacing: .2px; font-weight: 300; margin-bottom: 15px; }
	h2 { font-size: 20px; letter-spacing: .2px; text-transform: uppercase; padding-bottom: 26px; }
	h3 { font-size: 16px; letter-spacing: .2px; text-transform: uppercase; margin-bottom: 10px; }
	
	.back_arrow{
		position: relative;
		left: -5px;
		font-size: 22px !important;
		width: 22px !important;
		height: 22px !important;
	}
	.col_2{
		grid-template-columns: 1fr;
	}
	sf-button {
	    font-size: 13px;
    }
    .sf_overlay{
		width: 85vw;
		margin: 0 auto;
		padding: 40px 20px 50px 20px;
		color: white;
		background-color: rgba(0,0,0,.7);
		font-size: 16px;
		line-height: 140%;
		border-radius: 5px;
	}
	.company_list{
		width: 85vw;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		margin: 30px auto;
	}
	.company_list img{
		padding: 5px;
	}
	#navigation_overlay li{
		font-size: 16px;
		line-height: 180%;
		text-align: center;
		list-style: none;
		letter-spacing: 1px;
	}
	#navigation_overlay .site_overlay{
		display:flex;
		flex-direction: column;
		width: calc(100vw - 30px);
		min-height: 100%; /*calc(100vh - 30px);*/
		height: 100%;
		margin: 15px;
		padding: 30px 30px 0 30px;
		background-color: #942226;
		overflow-y: auto;
	}
}

@media only screen and (max-width: 320px) {
	
}
