/********************************************
Global definitions
********************************************/

:root {
	--max-content-width: 1200px;
	--bg-color-light: rgb(201,220,227);
	--bg-color-light-alpha: rgba(201,220,227,0.5);
	--menu-bg-color: rgb(229,238,241);
	--menu-text: rgb(80,96,128); /*rgb(51,79,94);*/
	--header-text-1: rgb(98, 118, 157);
	--header-text-2: rgb(114, 131, 167);
	--header-text-3: rgb(161, 173, 196);
	--link-text: rgb(221,53,53);
}

@font-face {
	font-family: artane;
	src: url('../common/ArtaneElongatedBT-Regular-150.ttf');
}

.no-overflow-anchor:hover {
  overflow-anchor: none;
}

.disable-select {
    user-select: none; /* Chrome and Opera */
	-webkit-user-select: none; /* Safari */
	-khtml-user-select: none; /* Konqueror HTML */
	-moz-user-select: none; /* Firefox */
	-ms-user-select: none; /* Internet Explorer/Edge */
}

.block-shadow {
	/*border: 1px solid var(--bg-color-light);*/
	-webkit-box-shadow: 0px 0px 15px -2px rgba(80,96,128,0.9);
	-moz-box-shadow: 0px 0px 15px -2px rgba(80,96,128,0.9);
	box-shadow: 0px 0px 15px -2px rgba(80,96,128,0.9);
}

.slide-init {
	opacity: 0;
}

.fade {
	opacity: 0;
	transition: opacity 300ms ease-in-out 50ms;
	pointer-events: none;
}

.fade-parent:hover .fade {
	opacity: 1;
	pointer-events: auto;
}

/*.strap-line {
	margin: 20px 0px 16px 0px;
	font-family: helvetica;
	font-size: 1.3em;
	line-height: 1.5em;
	color: var(--header-text-2);
}*/

/*.slide {
	position: absolute; !important;
	overflow: hidden; !important;
	bbox-sizing: border-box;
	opacity: 0;
	max-width: 0;
	max-height: 0;
	transition: 
		opacity 250ms ease-in-out, 
		max-width 250ms ease-in-out,
		max-height 250ms ease-in-out;
	pointer-events: none;
}

.slide-parent::before {
	content: attr(data-max-width);
}
.slide-parent:hover .slide {
	opacity: 1;
	max-width: attr(data-max-width);
	max-height: attr(data-max-height);
	pointer-events: auto;
}*/

/********************************************
HTML tags
********************************************/

html {
	sscroll-behavior: smooth;
}
body {
	min-width: 300px;
	width: 1240px;
	margin: 0px auto;
	padding-top: 0px;
	font-family: Verdana, helvetica, Arial, Sans-Serif;
	font-size: 17px;
	line-height: 1.875em;
	background-color: var(--bg-color-light);
	background-image: url('body-background-15.jpg');
	background-repeat: no-repeat;
	background-clip: border-box;
	background-size: 105% 190vh;
	background-position: center top;
	background-attachment: scroll;
	/*background-attachment: fixed;*/
	color: black;
}
.body-container {
	box-sizing: content-box;
	width: var(--max-content-width);
	padding: 20px;
	/*background: linear-gradient(180deg, rgba(191,215,224,1) 0%, rgba(191,215,224,0) 100%)*/
	bbackground-color: var(--bg-color-light-alpha);
	bbackground-image: url('body-container-background.png');
	background-repeat: repeat-x;
	background-clip: border-box;
	background-size: 4px 1500px;
	background-position: center top;*/
	/*box-shadow: 0px 0px 15px 0px var(--bg-color-light);*/
}
h1 {
	position: relative;
	z-index: 0;
	margin: 15px 0px 35px 0px;
	padding: 3px 0px 3px 0px;
	font-family: helvetica;
	font-size: 1.85em;
	line-height: 1.5em;
	font-weight: normal;
	color: var(--header-text-1);
}
h1::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: -10px; right: -15px; bottom: -10px; left: -15px;
	background-color: rgb(239, 244, 246);
	bborder-radius: 7px;
}
/*h1::before {
	content: "";
	position: absolute;
	top: 0; right: 0px; bottom: 0px; left: -15px;
	border-top: 2px solid var(--header-text-3);
	border-radius: 15px 0 0 0;
}*/
/*h1::after {
	content: "";
	position: absolute;
	top: 0; right: -15px; bottom: 0px; left: 0px;
	border-bottom: 2px solid var(--header-text-3);
	border-radius: 0 0 15px 0;
}*/
h2 {
	position: relative;
	display: inline-block;
	margin: 20px 0px 16px 0px;
	padding: 0px 0px 10px 0px;
	font-family: helvetica;
	font-size: 1.3em;
	font-weight: normal;
	color: var(--header-text-1);
}
/*h2::before {
	content: "";
	position: absolute;
	top: 0; right: 0px; bottom: 0px; left: -10px;
	border-top: 2px solid var(--header-text-3);
	border-radius: 15px 0 0 0;
}*/
h2::after {
	content: "";
	position: absolute;
	top: 0; right: -10px; bottom: 0px; left: -10px;
	border-bottom: 2px solid var(--header-text-3);
	border-radius: 0 0 0 10px;
}
p, ul, li {
	margin: 0px;
	padding: 0px;
}
p {
	margin: 0px 0px 0.9em 0px;
	line-height: 2em;
}
a {
	color: var(--link-text);
	text-decoration:underline;
}
a:hover {
	text-decoration: none;
}
ul {
	padding-left: 20px;
}
button, input, select, textarea {
	font-size: 1em;
}

/********************************************
Header
********************************************/

#intro-sample-container {
	display: none;
}

#header {
	box-sizing: border-box;
	display: block;
	position: sticky;
	z-index: 98;
	width: var(--max-content-width);
	padding-bottom: 26.66%;
	background-image: url('header-back-5.jpg');
	background-repeat: no-repeat;
	background-clip: border-box;
	background-position: center top;
	background-size: cover;
	box-shadow: 
		0px 15px 15px -2px rgba(201,220,227,1),
		0px 0px 15px -3px rgba(80,96,128,0.6);
}
#header-content {
	position: absolute;
	left: 0px; right: 0px; top: 0px; bottom: 0px;
}
#header-spacer {
	display: none;
	box-sizing: border-box;
	position: absolute;
	z-index: 99;
	wwidth: var(--max-content-width);
	height: 30px;
	left: -3px; right: -3px; bottom: -30px;
	background-color: var(--bg-color-light);
	background: 
		linear-gradient(180deg, rgba(201,220,227,1) 20%, rgba(201,220,227,0) 80%);
}
#header-title {
	position: absolute;
	top: 30px; right: 30px;
	width: 371px;
	height: 76px;
}

/********************************************
Menu
********************************************/

nav {
	display: none;
	z-index: 1000;
	position: sticky;
	margin: 15px 0px 30px 20px;
	top: 20px;
	width: 1200px;
	height: 100px;
	background-image: url('header-back-5.jpg');
	background-position: 0px -220px;
	background-repeat: no-repeat;
	background-clip: border-box;
	box-shadow: 
		0px 0px 20px -2px rgba(80,96,128,0.6);
}
.test-container {
	position: absolute;
	bottom: 0px;
	width: 100%;
	height: 60px;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	align-content: center;
	justify-content: space-evenly;
	align-items: stretch;
}
.test  {
	z-index: 0;
	position: relative;
	vertical-align: middle;
	height: 80px;
	line-height: 60px;
	font-family: artane;
	font-size: 1.8em;
	font-weight: bolder;
	color: var(--menu-text);
}
.test:hover {
	color: var(--link-text);
}
.test-selected {
	background-image: url('menu-tab-11.png');
	background-clip: content-box;
	background-origin: content-box;
	background-position: -50px 0px;
	color: var(--link-text);
}
.test-selected::before {
	content: "";
	display: inline-block;
	z-index: -1;
	position: absolute;
	background-image: url('menu-tab-11.png');
	background-clip: content-box;
	background-origin: content-box;
	background-position: 0px 0px;
	top: 0px;
	left: -50px;
	width: 50px;
	height: 80px;
}
.test-selected::after {
	content: "";
	display: inline-block;
	z-index: -1;
	position: absolute;
	background-image: url('menu-tab-11.png');
	background-clip: content-box;
	background-origin: content-box;
	background-position: -270px 0px;
	top: 0px;
	right: -50px;
	width: 50px;
	height: 80px;
}
.test-sub {
	position: absolute;
	overflow: hidden;
	z-index: 200;
	top: 60px;
	left: -20px;
	topacity: 0;
	ttransition: opacity 250ms ease-in-out;
	color: var(--menu-text);
	tpointer-events: none;
	background-color: var(--bg-color-light);
	border-radius: 30px;
	padding: 15px;
}
.test:hover .test-sub {
	opacity: 1;
	pointer-events: auto;
}
.test-sub div {
	line-height: 1em;
	padding: 10px;
	white-space: nowrap;
}
.test-sub div:hover {
	color: var(--link-text);
}

#menu-container {
	position: absolute;
	z-index: 100;
	height: 60px;
	left: 0px; right: 0px; bottom: 0px;
}
#menu {
	position: absolute;
	z-index: 10;
	left: 0px; right: 0px; top: 0px;
	margin-left: 15px;
	padding: 0px;
	line-height: 60px;
	font-family: artane;
	font-weight: bolder;
	color: var(--menu-text);
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: stretch;
	cursor: pointer;
}
#menu-compact-header,
#menu-search-dummy,
#menu-search {
	display: none;
}
.menu-item {
	position: relative;
	display: inline-block;
	font-size: 1.875em;
	margin-left: -25px;
}
.menu-item:not(.menu-item-selected ):hover .menu-item-mid{
	background-image: radial-gradient(rgba(255,255,255,0.6) 30%, rgba(255,255,255,0) 70%);
}
.menu-item-sub {
	position: absolute;
	z-index: 20;
	top: 65px;
	left: 12px;
	font-size: 0.75em;
	line-height: 0.6em;
	white-space: nowrap;
	border-radius: 0.8em;
	border: 4px white solid;
	background-color: var(--bg-color-light);
	overflow: hidden;
}
.menu-item .menu-item-sub {
	display: none;
	padding: 0px;
}
.menu-item div {
	display: inline-block;
}
.menu-item-sub div {
	display: block;
	padding: 0.68em 1.2em;
}
.menu-item-sub-hover:hover .menu-item-sub {
	display: block;
}
.menu-item-mid {
	ttransition: color 200ms ease-in-out;
}

.menu-item-sub div {
	ttransition: background-color 150ms ease-in-out;
}

.menu-item-mid:hover {
	color: var(--link-text);
}
.menu-item-sub div:hover {
	color: var(--link-text);
	background-clip: padding-box;
	background-color: var(--menu-bg-color);
}
.menu-item-sub-shadow {
	-webkit-box-shadow: -7px 10px 10px -2px rgba(80,96,128,0.5);
	-webkit-box-shadow: -7px 10px 10px -2px rgba(80,96,128,0.5);
	-moz-box-shadow: -7px 10px 10px -2px rgba(80,96,128,0.5);
	box-shadow: -7px 10px 10px -2px rgba(80,96,128,0.5);
}
.menu-item-left,
.menu-item-right {
	width: 35px;
}
.menu-item-selected .menu-item-left {
	background-image: url('menu-tab-9.png');
	background-clip: content-box;
	background-origin: content-box;
	background-position: 0px 0px;
}
.menu-item-selected .menu-item-mid {
	background-image: url('menu-tab-9.png');
	background-clip: content-box;
	background-origin: content-box;
	background-position: -35px 0px;
	color: var(--link-text);
}
.menu-item-selected .menu-item-right {
	background-image: url('menu-tab-9.png');
	background-clip: content-box;
	background-origin: content-box;
	background-position: -265px 0px;
}

/********************************************
Main content
********************************************/

#body-columns {
	width: var(--max-content-width);
	margin: 25px auto 0px auto;
	padding: 0px;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
}
#main-column {
	position: relative;
	width: 718px;
	margin: 00px 20px 10px 0px;
	padding: 2em;
	background-color: white;
	/*bborder: 1px var(--header-text) solid;*/
}
#side-column {
	position: relative;
	width: 400px;
	margin: 0px;
	padding: 0px;
}
#side-column h2:first-child {
	margin-top: 0px;
}
.side-column-item {
	position: relative;
	width: 340px;
	margin: 0px 0px 20px 0px;
	padding: 30px;
	background-color: rgb(249, 251, 252);
}

/********************************************
Site search box
********************************************/

.site-search {
	position: relative;
	display: inline-block;
	width: 100%;
	vertical-align: middle;
}
.search-field {
	display: block;
	box-sizing: border-box;
	width: 100%;
	margin: 0px;
	padding: 0.5em 1.5em 0.5em 0.7em;
}
.search-submit {
	position: absolute;
	top: 0px;
	right: 0px;
	bottom: 0px;
	background-color:  white;
}
.search-icon {
	width: 20px;
	height: 20px;
}

/********************************************
On this page
********************************************/

#on-this-page {
	display: none;
}
#on-this-page-side {
	display: block;
}

/********************************************
Icons
********************************************/

.icon-menu-compact {
	display: inline-block;
	width: 30px;
	height: 30px;
	background: url("icons.gif") 0px 0px / 120px 30px no-repeat;
	background-clip: content-box;
	vertical-align: middle;
}
.icon-search {
	display: inline-block;
	width: 30px;
	height: 30px;
	background: url("icons.gif") -30px 0px / 120px 30px no-repeat;
	background-clip: content-box;
	vertical-align: middle;
}
.icon-search-small {
	display: inline-block;
	width: 20px;
	height: 20px;
	background: url("icons.gif") -20px 0px / 80px 20px no-repeat;
	background-clip: content-box;
	vertical-align: middle;
}
a.external-link::after {
	content: '';
	display: inline-block;
	width: 15px;
	height: 15px;
	margin: 0 0 2px 4px;
	background: url("icons.gif") -30px 0px / 60px 15px no-repeat;
	background-clip: content-box;
	vertical-align: text-bottom;
}

