/*
Theme Name: Dominus Custom Theme
Theme URI: ?
Description: Customized theme by Dominus
Author: Dominus
Author URI: http://dominus.fi
Version: 1.0
*/
#wpadminbar{ display:none!important; }
.navig li, .navig ul{ list-style:none; margin:0; padding:0; display:inline; }
img.alignright{float:right;margin-left:30px;z-index:1;}
img.alignleft{float:left;margin-right:30px;z-index:1;}
img.aligncenter{display:block;margin:0 auto;z-index:1;}

@font-face {
	font-family: "Open Sans";
	src: url('font/opensans_light.woff');
}
@font-face {
	font-family: "Open Sans";
	src: url('font/opensans_italic.woff');
	font-style: italic;
}
@font-face {
	font-family: "Open Sans";
	src: url('font/opensans_semibold.woff');
	font-weight: bold;
}
@font-face {
	font-family: "Open Sans";
	src: url('font/opensans_semibolditalic.woff');
	font-weight: bold;
	font-style: italic;
}

html{
	font-family: "Open Sans", "Arial", "Helvetica", sans-serif;
	font-size: 19px;
	}
body{
	margin: 0;
	overflow-y: scroll;
	position: relative;
	min-height: 100vh;
	background-position: center center;
	background-size: cover;
	}
body *{ position:relative; box-sizing:border-box; -moz-box-sizing:border-box; -webkit-box-sizing:border-box; vertical-align:top; }
a:hover{ text-decoration:none; }
a img{ border:none; }
img{ max-width:100%; width:auto; height:auto; }
iframe{ display:block; border:none; max-width:100%; }

p:first-child,h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child,ul:first-child,ol:first-child{ margin-top:0; }
p:last-child,h1:last-child,h2:last-child,h3:last-child,h4:last-child,h5:last-child,h6:last-child,ul:last-child,ol:last-child{ margin-bottom:0; }
ul, ol{padding-left: 1.5em;}
.clear{ clear:both; }
hr{
  border:none;
  border-top:1px solid #aaa;
  margin:3em 0;
}
/* common */

	.sidebyside>div.half{ float:left; width:50%; padding-right:20px; }
	.sidebyside>div.half + .half{ padding-right:0; padding-left:20px; }
	.sidebyside>div.third{ float:left; width:33.33%; padding-right:20px; }
	.sidebyside>div.third + .third{ padding-left:10px; padding-right:10px;}
	.sidebyside>div.third + .third + .third{ padding-right:0; padding-left:20px; }
	.sidebyside>div.third2{ float:left; width:66.6%; padding-right:20px; }
	.sidebyside>div.third2 + .third{ padding-left:20px; padding-right:0; }
	.sidebyside>div.full{ clear:both; }
	.sidebyside>div:not(.clear){ padding-top:20px; }
	.sidebyside>div:first-child,
	.sidebyside>div.half:first-child + div.half,
	.sidebyside>div.third:first-child + div.third2,
	.sidebyside>div.third:first-child + div.third,
	.sidebyside>div.third:first-child + div.third + div.third{
		padding-top:0;
		}
	@media screen and (max-width: 1000px) {
		.sidebyside>div.third,
		.sidebyside>div.third2{
			float: none !important;
			width: 100% !important;
			padding: 0 !important;
			}
		.sidebyside>div:not(:last-child){
			padding-bottom: 30px !important;
			}
	}
	@media screen and (max-width: 900px) {
		.sidebyside>div{
			float: none !important;
			width: 100% !important;
			padding: 0 !important;
			}
		.sidebyside>div:not(:last-child){
			padding-bottom: 30px !important;
			}
	}

	blockquote {
		font-style: italic;
		color: #aaa;
		font-size: 1.25em;
		margin: 1.25em 1.5em;
		}
	blockquote::before {
		content: '"';
		position: absolute;
		top: -0.4em;
		left: -0.4em;
		opacity: 0.5;
		font-size: 2em;
		}

	.wrapper{
		margin: 0 auto;
		max-width: 1280px;
		}

/* fonts and colors */

	#navig, h1, h2, h3, h4, h5, h6{
		}
	h1{
		font-size: 2.5em;
		letter-spacing: -0.025em;
		text-transform:uppercase
		}
	h2{
		font-size: 2em;
		letter-spacing: -0.025em;
		}
	h1, h2{
		color: #1a60ab;
		}
	h3, h4, h5, h6{
		color: #000;
		}
	a{
		color: #1a60ab;
		}
	@media screen and (max-width: 500px) {
	h1{
		font-size: 1.75em;
		}
	h2{
		font-size: 1.4em;
		}
	}

	#navig .navigouter,
	#navig .navigtogglebutton{
		background-color: #fff;
		}
	#navig .submenu{
		background-color: #002c5d;
		}
	#navig a{
		color: #888;
		}
	#navig a:hover{
		color: #000;
		}
	#navig .current_page_ancestor a,
	#navig .current_page_item a {
		color: #1a60ab;
		}
	#navig .submenu a{
		color: #fff;
		}
	#navig .submenu a:hover{
		background: rgba(255,255,255,0.2);
		}
	#navig .submenu .current_page_item a {
		background-color: #fff;
		color: #1a60ab;
		}
	#pagecontent{
		background: #002c5d;
		background: #eee;
		}
	#pagecontent .wrapper{
		background: #eee;
		}
	.articlenormals .newstop{
		background: #1a60ab;
		color: #fff;
		}
	.articlenormals .newslist .articel{
		background: #fff;
		}
	.articlenormals .newslist .articel .title{
		color: #1a60ab;
		}
	.articlehighlights .newslist .articel{
		background: #1a60ab;
		color: #fff;
		}

/* NAVIG */

	#pagewrapper{
		overflow:hidden;
		padding-top: 75px;
		}
	#navig{
		font-size: 0;
		z-index:10;
		text-align:center;
		
		position:fixed;
		width:100%;
		}
		#navig .navig{
			display:inline;
			}
		#navig .navig *{
			vertical-align:middle!important;
			}
		
		#navig .logo {
			margin: 18px 20px 18px 0;
			border:none!important;
			display:inline-block!important;
			width:auto!important;
			float: left;
			z-index: 1;
			}
		#navig .logo img {
			height: 40px;
			}
		#navig a{
			font-size: 1rem;
			display:inline-block;
			margin: 24px 0;
			padding: 0 20px;
			text-decoration: none;
			letter-spacing: -0.025em;
			transition:background-color 0.2s, color 0.2s;
			text-transform:uppercase;
			border-left: 1px solid #aaa;
			}
		#navig li:first-child a{
			border: none;
			}
		#navig li:nth-child(2) a{
			border: none;
			}
		#navig .navig .current_page_ancestor a,
		#navig .navig .current_page_item a {
			font-size: 1.2rem;
			font-weight:bold;
			}
		.navig > ul > li:first-child{
			display:none;
			}

	.navigtogglebutton{
		display:none;
		cursor:pointer;
		padding: 15px;
		text-align:left;
		}
		.navigtogglebutton img{
			display:block;
			width:40px;
			}

	#pagewrapper.foldingmenu{
		padding-left:250px;
		}
	#pagewrapper.foldingmenu #navig{
		text-align:left;
		}
	#pagewrapper.foldingmenu #navig .navigouter{
		position:fixed;
		top:0;
		left:0;
		height:100vh;
		overflow-y:auto;
		overflow-x:hidden;
		width:250px;
		transition:width 0.1s;
		}
	#pagewrapper.foldingmenu #navig .navig{
		width:250px;
		}
	#pagewrapper.foldingmenu #navig a{
		display:block;
		}
	#pagewrapper.foldingmenu .navigtogglebutton{
		position:fixed;
		top:0;
		left:0;
		width:100%;
		}
	
	.navig .children{
		display:none;
		}
		.submenu li, .submenu ul{ list-style:none; margin:0; padding:0; display:inline; }
		.submenu .children{
			position: relative;
			z-index: 1;
			top:0;
			left:0;
			pointer-events: all;
			}
		.submenu .children a {
			display: inline-block;
			font-size:0.8rem!important;
			padding: 16px 16px!important;
			margin:0!important;
			border:none!important;
			}
		.submenu .current_page_item a {
			font-weight:bold;
			}

	@media screen and (max-width: 1000px) {
		.navigtogglebutton{
			display:block;
			}
		#navig .navig{
			display:none;
			}
		#navig.visible .navig{
			display:block;
			}
		#navig.visible .navigouter{
			overflow:hidden;
			height:calc(100vh - 70px);
			overflow-y:auto;
			overflow-x:hidden;
			}
		#navig a{
			width: 100%;
			margin: 10px 0;
			border: none;
			font-size:1.4rem;
			}

		#pagewrapper.foldingmenu{
			padding-left:0!important;
			padding-top:70px!important;
			}
		#pagewrapper.foldingmenu #navig .navig{
			display:block;
			}
		#pagewrapper.foldingmenu #navig .navigouter{
			top:70px;
			height:calc(100vh - 70px);
			width:0;
			}
		#pagewrapper.foldingmenu #navig.visible .navigouter{
			width:250px;
			}
		#navig .submenu{
			display:none;
			}
		#navig.visible .submenu{
			display:block;
			}
			
		#navig .logo {
			position:fixed;
			top:0;
			right:0;
			float: none;
			}
	}

/* PAGE top */

	#header{
		min-height: 400px;
		height: 66vh;
		background-position: center center;
		background-size: cover;
		text-align:center;
		overflow: hidden;
		}
		#header .logo{
			z-index:2;
			position:absolute;
			display:inline-block;
			top: 20%;
			left: 8%;
			max-width: 90%;
			}
		#header .logo img{
			filter: drop-shadow(3px 3px 6px rgba(0,0,0,0.75));
			}
		@media screen and (max-width: 500px) {
		#header .logo{
			left: 0;
			}
		}
	body:not([data-page="Etusivu"]) #header{
		
		min-height: 300px;
		height: 40vh;
	}

/* PAGE main */

	#pagecontent .wrapper{
		padding: 3em 2em;
		}
		@media screen and (max-width: 500px) {
		#pagecontent .wrapper{
			padding: 3em 5%;
			}
		}
		.newstop{
			margin-bottom:10px;
			}
		.newsbottom{
			padding:25px 0;
			text-align:center;
			}
		.newsbottom a{
			text-decoration: none;
			}
		.newslist .articel{
			text-decoration:none;
			color:#000;
			display:block;
			margin-top: 10px;
			}
		.newslist .articel .contents{
			padding:30px 40px 40px;
			}
		.newslist .articel:first-child{
			margin-top: 0;
			}
		.newslist .articel .articlethumb {
			background-position: center center;
			background-size: cover;
			height:180px;
			}
		.newslist .articel .title{
			font-size:140%;
			font-weight:bold;
			padding-bottom: 0.4em;
			line-height: 1.2em;
			}
		.newslist .articel .date{
			font-size:70%;
			}
		.newslist .articel .text{
			font-size:90%;
			}
		.articlenormals .newstop{
			padding:20px 20px 20px;
			text-align:center;
			text-transform:uppercase;
			font-size:1.5em;
			font-weight:bold;
			}
		.articlenormals .articlethumb{
			display:none;
			}
		.articlehighlights .newstop,
		.articlehighlights .newsbottom,
		.articlehighlights .text,
		.articlehighlights .date{
			display:none;
			}
		.articlehighlights .articel .contents{
			padding:25px 40px 20px;
			}
	@media screen and (max-width: 550px) {
		.newslist .articel .contents{
			padding:20px 15px 30px;
			}
		.articlehighlights .articel .contents{
			padding:15px 15px 10px;
			}
	}
	@media screen and (max-width: 375px) {
		.newslist .articel .title {
			font-size:100%;
		}
	}

/* PAGE bottom */

	#footer{
		text-align:center;
		padding: 30px 0px 0px;
		}
	#footer .wrapper{
		padding: 0 20px;
		}
	#footer .part{
		display:inline-block;
		padding:30px;
		text-align:right;
		}
	#footer .part + .part{
		text-align:left;
		}
	@media screen and (max-width: 650px) {
		#footer .part{
			text-align:left !important;
			}
	}

/* facebook */

	.cff-wrapper{
		}
	#cff{
		}
	#cff a{
		}
		#cff .cff-likebox {
			margin-top: 0;
			}
		#cff .cff-item {
			border: none;
			padding:15px!important;
			background:#fff;
			}
		#cff .cff-post-text {
			font-size:80%;
			margin: 0 0 15px;
			}
		#cff .cff-view-comments {
			border-radius:4px;
			padding: 0 5px 2px 10px;
			}
		#cff .cff-view-comments:hover {
			}
		#cff .cff-view-comments a,
		#cff .cff-view-comments .cff-count {
			}
	/* block style */
	#cff{
		max-height:none!important;
		border: none;
		}
		#cff .cff-item {
			border: 1px solid #ddd!important;
			margin:6px!important;
			width: calc(100% - 12px)!important;
			}

/* form */

	.wpcf7{
		padding: 20px 30px 30px!important;
		background-color: #eee;
		max-width: 600px!important;
		margin: 0 auto!important;
		}
	.wpcf7 .field{
		padding-bottom:10px;
		}
	.wpcf7 .field:nth-child(2){
		padding-top:0;
		}
	.wpcf7 .field.last{
		text-align:center;
		padding-bottom:0;
		}
	.wpcf7 .fields p{
		display:contents;
		}
	.wpcf7 .fields br{
		display:none;
		}
	.wpcf7 .fieldtext{
		width: 100%;
		display: block;
		vertical-align: middle;
		float: left;
		font-size: 80%;
		padding: 5px 0 2px;
		}
	.wpcf7 .thefield{
		width:calc(100% - 80px);
		width:100%;
		display:block;
		vertical-align:middle;
		float:left;
		}
	.wpcf7 .field.nodesc .thefield{
		width:100%;
		}
	.wpcf7 .field.nodesc .fieldtext{
		display:none;
		}
	.wpcf7 input.wpcf7-text,
	.wpcf7 input.wpcf7-number,
	.wpcf7 input.wpcf7-date,
	.wpcf7 select.wpcf7-select,
	.wpcf7 textarea{
		width: 100%;
		border-radius: 4px;
		border: 1px solid rgb(170, 170, 170);
		padding: 8px 14px;
		display:inline-block;
		font-family:"Source Sans Pro", "Arial", "Verdana", sans-serif;
		font-size:1em;
		}
	.wpcf7 input.wpcf7-submit{
		background-color: #037;
		padding:8px 20px;
		font-size:1.25em;
		border:none;
		border-bottom:6px solid #014;
		color:white;
		font-weight:bold;
		cursor:pointer;
		margin-top: 10px;
		}
	.wpcf7 input.wpcf7-submit:hover{
		background-color: #048;
		}
	.wpcf7 input.wpcf7-submit:active{
		border-bottom:none;
		border-top:6px solid #eee;
		}
		
	/* compressed square fields */
	.wpcf7 .field {
		padding-bottom: 0;
		}
	.wpcf7 .field + .field input.wpcf7-text,
	.wpcf7 .field + .field input.wpcf7-number,
	.wpcf7 .field + .field input.wpcf7-date,
	.wpcf7 .field + .field select.wpcf7-select,
	.wpcf7 .field + .field textarea {
		/*border-top: 0px none !important;*/
		}
	.wpcf7 input.wpcf7-text,
	.wpcf7 input.wpcf7-number,
	.wpcf7 input.wpcf7-date,
	.wpcf7 select.wpcf7-select,
	.wpcf7 textarea {
		border-radius: 0px !important;
		}
	.wpcf7 input.wpcf7-text,
	.wpcf7 input.wpcf7-number,
	.wpcf7 input.wpcf7-date,
	.wpcf7 select.wpcf7-select,
	.wpcf7 textarea {
		width: 100%;
		border-radius: 4px;
		border: 1px solid #AAA;
		padding: 8px 14px;
		display: inline-block;
		font-family: "Source Sans Pro","Arial","Verdana",sans-serif;
		font-size: 1em;
		}

/* image gallery */

	.gallery{
		font-size:0;
		line-height:0;
		text-align:center;
		}
	.gallery .arbox{
		display:inline-block;
		margin:10px;
		width: calc(25% - 20px);
		}
	.gallery .arbox:before{
		content: "";
		display: block;
		padding-top: 100%;
		}
	.gallery .arbox>div.arcontent{
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
		background-position: center center;
		background-size: cover;
		}
	@media screen and (max-width: 800px) {
	.gallery .arbox{
		width: calc(33% - 20px);
		}
	}
	@media screen and (max-width: 500px) {
	.gallery .arbox{
		width: calc(50% - 20px);
		}
	}

/* popup */

	#popup{
		height:100vh;
		width:100vw;
		position:fixed;
		top:0;
		left:0;
		z-index:100;
		background-color:rgba(0,0,0,0.66);
		opacity:1;
		transition:opacity 0.4s;
		}
	#popup.popuphidden{
		pointer-events:none;
		opacity:0;
		}
	#popupicture{
		max-height:90vh;
		max-width:calc(100vw - 140px);
		display:block;
		border:1px solid black;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		}
	#popupprev,
	#popupnext{
		position:fixed;
		top:50vh;
		color:white;
		cursor:pointer;
		-moz-user-select:none;
		user-select:none;
		z-index:101;
		}
	#popupprev{
		left:20px;
		}
	#popupnext{
		right:20px;
		}

/* pic switcher */

	.picswitcher{
		position:absolute;
		width: 100%;
		height: 100%;
		top:0;
		left:0;
		}
		.picswitcher .nodes{
			width: 100%;
			height: 100%;
			background: #1a60ab;
			}
		.picswitcher .nodes > *{
			position:absolute;
			top:0;
			left:0;
			display:block;
			width: 100%;
			height:100%;
			overflow:hidden;
			background-position:center center;
			background-size:cover;
			}
		.picswitcher .nodes img{
			position: absolute;
			min-width: 100%;
			min-height: 100%;
			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%);
			max-width: 9999px !important;
			
			min-width: calc(100% + 2px);
			min-height: calc(100% + 2px);
			top: calc(50% - 1px);
			left: calc(50% - 1px);
			}
			
		.picswitcher .arbox:before{
			content:""; display:block; padding-top:60%; 
			}
		.picswitcher .arbox>div.arcontent{
			position:absolute; top:0; left:0; bottom:0; right:0;
			overflow:hidden;
			background-position:center center;
			background-size:cover;
			}

		.picswitcher .buttons{
			position:absolute;
			bottom:10px;
			left:0;
			width:100%;
			text-align:center;
			z-index:2;
			}
		.picswitcher .buttons .button{
			display:inline-block;
			vertical-align:top;
			padding:10px;
			opacity:0.5;
			cursor:pointer;
			}
		.picswitcher .buttons .button::after{
			content:"";
			display:block;
			background:#fff;
			height:10px;
			width:10px;
			border-radius:100%;
			box-shadow:0 1px 4px rgba(0,0,0,0.5);
			}
		.picswitcher .buttons .button.active{
			opacity:1;
			}

		.picswitcher .fillbuttons.buttons{
			bottom:0;
			}
		.picswitcher .fillbuttons.buttons .button{
			padding:0;
			}
		.picswitcher .fillbuttons.buttons .button::after{
			background:#fff;
			height:4px;
			width:100%;
			border-radius:0;
			box-shadow:0 1px 4px rgba(0,0,0,0.5);
			}

		.imagebuttons{
			margin-top:4px;
			}
		.imagebuttons .button{
			height:auto!important;
			padding:0!important;
			margin:4px;
			background-position:center center;
			background-size:cover;
			opacity:0.66;
			}
		.imagebuttons .button:hover{
			opacity:0.75;
			}
		.imagebuttons .button.active{
			opacity:1;
			}
		.imagebuttons .button:first-child{
			margin-left:0;
			}
		.imagebuttons .button:last-child{
			margin-right:0;
			}
		.imagebuttons .button::after{
			opacity:0!important;
			content:"";
			display:block;
			padding:100% 0 0 0!important;
			}
			
		.fadenone{
			z-index:-1;
			}
		.fadeout{
			z-index:0;
			}
		.fadein{
			z-index:1;
			animation:fadein 0.5s 1;
			}
		@keyframes fadein {
			0%{		opacity:0;	}
			100%{	opacity:1;	}
		}

/* autosize */
	textarea.autosize{
		overflow:hidden;
		}

/**/

		.droppercontainer{
			}
		.droppertoggler{
			overflow: hidden;
			transition:height 0.2s;
			padding: 15px 30px;
			cursor:pointer;
			-moz-user-select:none;
			user-select:none;
			}
		.droppercontent{
			overflow: hidden;
			transition:height 0.2s;
			}
		.droppercontent .dropperinner{
			padding: 0 20px 20px;
			}
		.droppertoggler::after{
			content:"";
			position:absolute;
			left:0;
			top: 38%;
			border-style: solid;
			border-width: 0 8px 12px 8px;
			border-color: transparent transparent #111 transparent;
			}
		.droppercontainer.closed .droppertoggler::after{
			border-width: 12px 8px 0 8px;
			border-color: #111 transparent transparent transparent;
			}

#headerband {
	z-index: 1;
	top: 50%;
	width: 100%;
	position: absolute;
	left: 50%;
	transform: translate(-50%, -50%);
	min-width: 1000px;
	}
#headertext{
	z-index: 2;
	color: #fff;
	text-shadow: 1px 1px 3px #000;
	font-size: 4em;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -55%);
	width: 100%;
	padding: 0 20px;
	display:none;
	}
#headertemptext{
	z-index: 2;
	filter: drop-shadow(1px 1px 3px #000);
	max-width:90%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -55%);
	opacity:0;
	}
#headertemptext.animate{
	opacity:1;
	animation: wroom 6s infinite;
	animation-timing-function: cubic-bezier(0.75, -0.15, 0.25, 1.15)!important;
	}
@keyframes wroom {
	0%{		left: 200%;		transform:rotate(8deg) translate(-50%, -50%);	}
	15%{	left: 50%;		transform:rotate(0deg) translate(-50%, -50%);	}
	85%{	left: 50%;		transform:rotate(0deg) translate(-50%, -50%);	}
	100%{	left: -100%;	transform:rotate(8deg) translate(-50%, -50%);	}
}
body:not([data-page="Etusivu"]) #headerband,
body:not([data-page="Etusivu"]) #headertext,
body:not([data-page="Etusivu"]) #headertemptext{
	display:none;
	animation: none;
}

.topvid {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	min-width: 101%;
	min-height: 101%;
	}
.footlogos{
	max-width:1350px;
	margin: 0 auto;
	 padding-bottom: 30px;
	}
.footlogos *{
	margin: 20px 30px;
	vertical-align:middle;
}
	@media screen and (max-width: 400px) {
.footlogos *{
	margin: 20px 5px;
}}



.articlehighlights .newslist .articel.noimage{
	min-height: 200px;
align-items: center;
display: flex;
}