/* IMPORT */
@import "reset.css";
@import "common.css";
@import "SansumiRegular.css";

body {

	margin: 0;
	padding: 0;
	text-align: center;
	color: #333333;
	font-family: Arial, Verdana, Tahoma, sans-serif;
	background: url(../images/body-bg.jpg) repeat-x #000000;
	font-size: 12px;
	line-height: 1.5;
}

h1 {
	font-family: 'SansumiRegular', Arial, Helvetica, sans-serif;
	font-size: 26px;
	color: #1557A9;
	margin-bottom: 20px;
	position: relative;
	left: -3px;
	top: 0;
}

h2 {
	font-size: 18px;
	margin-bottom: 18px;
	line-height: 1.2;
}

h3 {
	font-size: 14px;
	margin-bottom: 15px;
	line-height: 1.2;
}

p {
	margin-bottom: 15px;
}

#main ul {
	margin-bottom: 15px;
}

#main ul li {
	background: url(../images/icon_li.png) no-repeat 6px 0.45em;
	display: block;
	padding-left: 25px;
	margin-bottom: 5px;
}

strong {
	font-weight: bold;
}

a {
	color: #1557A9;
}

a:hover {
	text-decoration: none;
}

a.tel {
	text-decoration: none;
}

.text-center {
	text-align: center;
}

.full-width {
	width: 100%!important;
}

@media screen AND (max-width: 767px) {
	.mobile-hidden {
		display: none!important;
	}	
}

@media screen AND (min-width: 768px) {
	.mobile-visible {
		display: none!important;
	}	
}

small {
	font-size: 90%;
	font-weight: 500;
}

.ml-auto {
	margin-left: auto!important;
}

.mt-auto {
	margin-top: auto!important;
}

#container {
	width: 100%;
	max-width: 1140px;
	margin: 0 auto 30px auto;
	text-align: left;
	background: url(../images/container-bg.jpg) repeat-x #F7F7F7;
	padding: 0 20px 20px 20px;
	position: relative;
	top: 0;
	left: 0;
}

@media screen AND (max-width: 767px) {
	#container {
		background: none;
		background-color: #ffffff;
	}
}

.flex-container {
	display: flex;
}

#header {
	height: 100px;
	/* border-bottom: 7px solid #DAC89A; */
	/* border-bottom: 7px solid #1557A9; */
	border-bottom: 7px solid #000000;
	margin-bottom: 7px;
}

#logo {
	display: block;
	float: left;
	margin: 30px 0 0 18px; 
	text-decoration: none;
}

#logo img {
	max-width: 140px;
}

#logo span {
	display: block;
	text-indent: -2000em;
}

#nav {
	display: block;
	float: right;
	height: 36px;
	position: relative;
	margin: 30px 34px 0 0;
	white-space: nowrap;
	padding: 0 0 0 15px;
}

#nav li {
	display: block;
	float: left;
	height: 36px;
	position: relative;
}

#nav li a {
	display: block;
	float: left;
	height: 36px;
	line-height: 36px;
	text-decoration: none;
	color: #1358A6;
	font-size: 150%;
	font-weight: bold;
	padding: 0 20px 0 20px;
}

#nav li a:hover {
	color: #000000;
}

#nav li ul {
	position: absolute;
	top: 40px;
	left: 0;
	background-color: #ffffff;
	border: 3px solid #006AC0;
	padding: 7px 14px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	-moz-box-shadow: 1px 1px 2px #aaaaaa;
	-webkit-box-shadow: 1px 1px 2px #aaaaaa;
	box-shadow: 1px 1px 2px #aaaaaa;
	z-index: 10;
}

#nav li ul li {
	float: none !important;
	height: auto;
	position: static;
	width: 100%;
}

#nav li ul li a {
	float: none !important;
	height: 28px;
	line-height: 28px;
	text-decoration: none;
	color: #1358A6;
	font-size: 120%;
	font-weight: bold;
	padding: 0;
	border-bottom: 1px solid #1557A9;
	width: 100%;
}

#nav li ul li:last-child a {
	border: none;
}

#nav li ul .dropnav-arrow {
	position: absolute;
	top: -14px;
	left: 50%;
	margin-left: -11px;
	display: block;
	width: 22px;
	height: 14px;
}

#nav a.act {
	/* background: url(../images/nav-act.png) repeat-x; */
	background-color: #000000;
	color: #ffffff;
}

#nav a.act:hover {
	color: #ffffff;
}

#nav li.last {
	width: 15px;
	background: url(../images/nav-bg.png) 100% 0 no-repeat;
	position: absolute;
	right: -15px;
	top: 0;
}

@media screen AND (max-width: 670px) {
	#logo {
		float: none;
		padding-top: 30px;
		margin-top: 0;
	}
	#nav {
		width: 100%;
		height: auto;
		display: flex;
		flex-direction: column;
		background: unset;
		text-align: center;
		justify-content: center;
		/* padding: 0 20px 0 20px; */
		margin: 0;
		margin-top: 3em;
	}

	#nav > li {
		text-align: center;
		float: none;
	}

	#nav > li > a {
		float: none;
	}
}

.socials {
	padding: 10px 30px;
	background: transparent;
}
.social-img {
	width: 50px;
}

#top {
	display: flex;
	background: #FCFCFC;
	padding: 18px;
	margin-bottom: 18px;
	position: relative;
	z-index: 0;
	gap: 1em;
}

#top h1 {
	margin-bottom: 15px;
}

#top h2 {
	font-size: 14px;
	margin-top: -10px;
	position: relative;
	left: -1px;
	top: 0;
}

#top p {
	font-size: 115%;
	width: 67%;
}

#top .image_right {
	margin-left: 0;
}
@media screen AND (max-width: 767px) {
	#top {
		background: #ffffff;
	}
}

#contact-info {
	margin-left: auto;
	font-size: 20px;
	white-space: nowrap;
	width: 232px;
}

#contact-info table {
	line-height: 1.4;
	margin-bottom: 10px;
}

#contact-info table th {
	color: #808080;
	padding-right: 17px;
	font-weight: normal;
}

#contact-info p {
	font-size: 15px;
}

#contact-info .puh {
	color: #1557A9;
	font-weight: bold;
	font-size: 23px;
	margin-bottom: 0;
	white-space: nowrap;
}

.contact-hero {
	flex-grow: 3;
	width: 100%;
}

@media screen AND (max-width: 767px) {
	#top {
		flex-wrap: wrap;
	}

	#top > div {
		margin-top: 2em;
	}
	
	#contact-info {
		margin-left: auto;
		margin-right: auto;
	}
}

.button {
	position: relative;
	display: block;
	float: left;
	height: 39px;
	line-height: 36px;
	/* background: url(../images/button.png) no-repeat 0 0; */
	background-color: #0a2667;
	color: #ffffff;
	text-decoration: none;
	font-size: 160%;
	/* margin-right: 25px; */
	margin: 0 25px;
	padding-left: 38px;
	font-family: Arial, sans-serif;
	text-shadow: #0a2667 1px 1px 0;
	font-weight: bold;
}

.button:hover {
	color: #000000;
	text-shadow: none;
}

.button-action {
	margin: 15px;
	padding: 0 30px;
}

.button-action:hover {
	color: rgb(205, 78, 78);
}

.button-facebook {
	text-align: center;
}

.button-facebook:hover {
	color: rgb(236, 236, 236);
}

#main {
	max-width: 650px;
	float: none;
}

#main.main_wide {
	width: 100%;
	max-width: unset;
	float: none;
}

#column {
	float: right;
	width: 240px;
	background: #ffffff;
	padding: 10px 10px 0 10px;
}

#nostot {
	margin-top: 4em;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
}

#nostot .nosto {
	display: flex;
	flex-direction: column;
	width: 266px;
	margin: 0 18px 0 0;
	padding: 112px 18px 20px 18px;
	background-repeat: no-repeat;
	background-position: 0 0;
	background-color: #ffffff;
}

@media screen AND (max-width: 892px ) {
	#nostot .nosto {
		margin-top: 2em;
	}
}

@media screen AND (min-width: 892px ) {
	#nostot .nosto:last-child {
		margin-left: auto;
	}
}

@media screen AND (max-width: 767px) {
	#nostot .nosto {
		margin-left: auto;
		margin-right: auto;
	}
}

#nostot .nosto-huolto { background-image: url(../images/nosto-huolto2.jpg); }
#nostot .nosto-taxi { background-image: url(../images/nosto-taxi2.jpg); }
#nostot .nosto-mittaristo { background-image: url(../images/nosto-mittaristo2.jpg); }
#nostot .nosto-purkuosa { background-image: url(../images/nosto-purkuosa.jpg); }

#nostot .nosto h2 {
	display: none;
}

#nostot p {
	color: #444444;
	padding: 5px 0 0 0;
}

#nostot .go {
	padding-left: 37px;
	background-position: 0 50%;
	background-repeat: no-repeat;
	/* display: inline-block; */
	height: 35px;
	line-height: 35px;
	white-space: nowrap;
	margin-top: auto;
	align-self: flex-end;
}

#nostot .nosto-huolto .go { background-image: url(../images/icon-huolto.png); }
#nostot .nosto-taxi .go { background-image: url(../images/icon-taxi.png); }
#nostot .nosto-mittaristo .go { background-image: url(../images/icon-mittaristo.png); }
#nostot .nosto-purkuosa .go { background-image: url(../images/icon-purkuosa.png); }

.page {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	gap: 1em;
}

.aside {
	background-color: #ffffff;
	padding: 1em;
}

.socials {
	padding: 1em;
}

@media all AND (max-width: 767px) {
	.page .partners {
		width: 100%;
	}
	.page .socials {
		flex: 4;
	}
}

@media all AND (min-width: 768px) {
	.page .services,
	.page .staff,
	.page .partners {
		flex: 3 0px;
	}

	.page .price-table,
	.page .aside,
	.page .socials {
		flex: 1 0px;
	}
}

.partners {
	margin: 45px 0;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
}

.partners .partner {
	padding: 15px;
	max-width: 130px;
	border-radius: 8px;
}

.partners .partner img {
	width: 100%;
}

.partner.kl {
	background-color: #000000;
}

.services {
	display: flex;
	flex-flow: row wrap;
	gap: 10px;
}

.services .service {
	width: 45%;
	min-width: 230px;
	max-width: 320px;
	flex-grow: 1;
}

.price-table {
	background-color: #ffffff;
	padding: 10px;
}

.img-block {
	float: left;
	width: 65px;
	margin: 0 0 10px 0;
}

.no-wrap {
	overflow: hidden;
}

dl.prices {
	margin-bottom: 15px;
	line-height: 1.4;
}

dl.prices dt {
	color: #1557A9;
	margin-bottom: 5px;
}

dl.prices dd {
	margin-bottom: 5px;
}

dl.prices dd small {
	position: relative;
	top: -3px;
	left: 0;
}

#footer {
	color: #ffffff;
	padding-left: 18px;
}

#footer h4 {
	font-size: 12px;
	font-weight: normal;
	display: inline;
}

#footer ul {
	display: inline;
}

#footer li {
	display: inline;
	padding-left: 30px;
}

@media screen AND (max-width: 767px) {
	#footer ul {
		display: list-item;
	}
}

#footer li span {
	color: #9FAABC;
}

#footer li a {
	color: #ffffff;
}

/* Other */

.shadow {
  -moz-box-shadow: 1px 1px 1px #cfcfcf;
  -webkit-box-shadow: 1px 1px 1px #cfcfcf;
  box-shadow: 1px 1px 1px #cfcfcf;
}
