/* HTML5 ✰ Boilerplate
 * ==|== normalize ==========================================================
 */

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
audio:not([controls]) { display: none; }
[hidden] { display: none; }

html { font-size: 100%; overflow-y: scroll; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
body { background: #FFFFFF; margin: 0; padding: 0; max-height: 500px;}
body, button, input, select, textarea { font: 12px/1.5 "Bitter", serif; color: #404040; }

::-moz-selection { background: #2c6da4; color: #fff; text-shadow: none; }
::selection { background: #2c6da4; color: #fff; text-shadow: none; }

a { color: #2c6da4; text-decoration: underline;}
a:visited { color: #2c6da4; }
a:hover { color: #000; text-decoration: none;}
a:focus { outline: thin dotted; }
a:hover, a:active, a:focus { outline: 0; }

abbr[title] { border-bottom: 1px dotted; }
b, strong { font-weight: bold; }
blockquote { margin: 1em 40px; }
dfn { font-style: italic; }
hr { display: block; height: 1px; border: 0; border-top: 1px solid #414145; margin: 1em 0; padding: 0; }
ins { background: #ff9; color: #000; text-decoration: none; }
mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }
pre, code, kbd, samp { font-family: monospace, monospace; _font-family: 'courier new', monospace; font-size: 1em; }
pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }
q { quotes: none; }
q:before, q:after { content: ""; content: none; }
small { font-size: 85%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }
ul, ol { margin: 1em 0; padding: 0 0 0 40px; }
dd { margin: 0 0 0 40px; }
nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; }
img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }
svg:not(:root) { overflow: hidden; }
figure { margin: 0; }

form { margin: 0; }
fieldset { border: 0; margin: 0; padding: 0; }
label { cursor: pointer; }
legend { border: 0; *margin-left: -7px; padding: 0; }
button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; }
button, input { line-height: normal; *overflow: visible; }
table button, table input { *overflow: auto; }
button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; }
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; }
input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
textarea { overflow: auto; vertical-align: top; resize: vertical; }
input:valid, textarea:valid {  }
input:invalid, textarea:invalid { background-color: #f0dddd; }

table { border-collapse: collapse; border-spacing: 0; }
td { vertical-align: top; }


/* ==|== primary styles =====================================================
   ========================================================================== */
#container {width: 960px; margin-left: auto; margin-right: auto;}

#header {width: 960px; height: 500px;clear: both; }
#logo {width: 230px; height: 150px; float: left;}
#logo a {background: url(../img/logo.png) no-repeat; width: 230px; height: 150px; display: block;}

#header nav {width: 730px; float: left; margin-top: 85px;}
#header nav ul {padding: 0; margin: 0; float: right; }
#header nav li {float: left; outline: none; margin-left: 12px; }
#header nav li a {display: block; outline: none; text-transform: uppercase; color: #fff; text-decoration: none; background: #2c6da4; padding: 3px 5px 2px 5px; -webkit-border-radius: 3px;-moz-border-radius: 3px; border-radius: 3px;-moz-box-shadow: 1px 1px 1px #3f3f3f;
-webkit-box-shadow: 1px 1px 1px #3f3f3f;
box-shadow: 1px 1px 1px #3f3f3f;}
#header nav li a:hover {background: #fff; color: #2c6da4;}
#header nav li .selected {background: #d8edff; color: #2c6da4;}
#header nav li:first-child {margin-left: 0;}

.headerText {clear: both; width: 960px; padding-top: 30px; text-align: right;}
.headerText h1 {margin: 0; padding: 0;color: #fff; font-size: 3em; text-shadow: 1px 1px 1px #000; line-height: 1.2;}
.headerText h2 {margin: 0; padding: 0;color: #fff; font-size: 2em; font-weight: normal; text-shadow: 1px 1px 1px #000;}
.headerText h2 a {color: #fff; text-decoration: none;}
.headerText h2 a:hover {color: #fff; text-decoration: underline;}

.button {margin-top: 10px;}
.button a {background: #2c6da4; padding: 3px 6px; -webkit-border-radius: 3px;-moz-border-radius: 3px; border-radius: 3px;-moz-box-shadow: 1px 1px 1px #3f3f3f;-webkit-box-shadow: 1px 1px 1px #3f3f3f;

background-image: linear-gradient(bottom, rgb(43,108,161) 46%, rgb(21,70,111) 73%);
background-image: linear-gradient(bottom, rgb(22,71,113) 32%, rgb(43,108,161) 72%);
background-image: -o-linear-gradient(bottom, rgb(22,71,113) 32%, rgb(43,108,161) 72%);
background-image: -moz-linear-gradient(bottom, rgb(22,71,113) 32%, rgb(43,108,161) 72%);
background-image: -webkit-linear-gradient(bottom, rgb(22,71,113) 32%, rgb(43,108,161) 72%);
background-image: -ms-linear-gradient(bottom, rgb(22,71,113) 32%, rgb(43,108,161) 72%);
background-image: -webkit-gradient(linear,left bottom,left top,color-stop(0.32, rgb(22,71,113)),color-stop(0.72, rgb(43,108,161)));
font-weight: bold;color: #fff; font-size: 0.9em; text-transform: uppercase;text-decoration: none;
}

.button a:hover {
background-image: linear-gradient(bottom, rgb(43,108,161) 32%, rgb(22,71,113) 72%);
background-image: -o-linear-gradient(bottom, rgb(43,108,161) 32%, rgb(22,71,113) 72%);
background-image: -moz-linear-gradient(bottom, rgb(43,108,161) 32%, rgb(22,71,113) 72%);
background-image: -webkit-linear-gradient(bottom, rgb(43,108,161) 32%, rgb(22,71,113) 72%);
background-image: -ms-linear-gradient(bottom, rgb(43,108,161) 32%, rgb(22,71,113) 72%);
background-image: -webkit-gradient(linear,left bottom,left top,color-stop(0.32, rgb(43,108,161)),color-stop(0.72, rgb(22,71,113)));
text-decoration: none;}

#content {clear: both; margin: -10px 0 0 0;padding: 0; }
#content h2 {font-size: 3em; padding: 0 0 15px 0; margin: 0; color: #2c6da4;}
.main-content p {font-size: 1.4em; font-weight: normal; padding: 0 0 20px 0; margin: 0;}


.gallery {padding: 0; margin: 0;}
.gallery li {width: 170px; margin-right: 10px; margin-bottom: 10px;float: left; list-style: none; outline: none;}
.gallery li:nth-child(4n+0) {margin-right: 0px;}
.gallery li a img {opacity: 1;}
.gallery li a:hover img {opacity: 0.8;}


.contact-box {background: #2c6da4; width: 190px; color: #fff; }
.contact-box a img {opacity: 0.9;}
.contact-box a:hover img {opacity: 1;}
.contact-box a {color: #fff; text-decoration:none;}
.contact-box a:hover {color: #fff; text-decoration: underline;}


p {font-size: 1em; padding: 0; margin: 0 0 1em 0;}
p:last-child {margin-bottom: 0px;}

hr {
background:#ddd none repeat scroll 0 0;
border:medium none;
clear:both;
color:#ddd;
float:none;
height:1px;
width:100%;
margin: 15px 0 15px 0;
}
.column {float: left; }
.span-left {width: 210px; padding-left: 20px;}
.span-right {width: 710px; padding-right: 20px;}
.no-padding {margin-right: 0;}
.light {color: #8c8c8c; }
.small {font-size: 90%;}


footer {margin-bottom: 50px;  width:920px; background: #fff; height: 100px; font-size: 90%; text-transform: uppercase; padding: 0 20px 0 20px;}
footer a {text-decoration: none;}
footer a:hover {text-decoration: underline;}
.divider {margin: 0 5px;}
.copy {margin-top: 10px;  text-transform: none; width: 150px;}
.credit {float: right; margin-top: -45px;}
.credit img {margin-left: 10px;}


#paikkakunta {width: 150px; margin-bottom: 20px;}
.group {margin-bottom: 20px; font-size: 1em;}
.group h3 {font-size: 1.5em; margin: 0; padding: 0 0 20px 0;}
.group span {width: 220px; margin-right: 15px;margin-bottom: 20px;float: left; }


.circle-small {
	margin-top: 10px;
	width: 20px;
	height: 20px;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	border-radius: 20px;
}

.circle {
	position: absolute;
	margin-top: 8px;
	margin-left:8px;
	width: 30px;
	height: 30px;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	border-radius: 20px;
	color: #fff;
	font-weight:bold;
	font-size: 14px;
	text-align:center;
	line-height: 30px;
	opacity: 1!important;
}

.circle-brown {	background: #4f3320;}
.circle-blue {	background: #2f6ca2;}
.circle-pink {	background: #e0917a;}



#contact-form {
	width:100%;
	display: none;
}


#contact-form form {
    float: left;
    width: 100%;
}
#contact-form form label, #contact-form form input, #contact-form form textarea {
    float: left;
    resize: none;
    width: 100%;
}
#contact-form form textarea {
	height: 100px;
}
#contact-form form label {
    font-size: 85%;
    margin-bottom: 8px;
    color: #8c8c8c;
    text-transform: uppercase;
}
#contact-form form label span {
    color: #8c8c8c;
    font-style: italic;
    padding-left: 5px;
    text-transform: capitalize;
}

 #contact-form form input, #contact-form form textarea {
    -moz-transition: background-color 0.3s ease 0s;
    -webkit-transition:background-color 0.3s ease 0s;
  	-o-transition:background-color 0.3s ease 0s;
   	transition:background-color 0.3s ease 0s;
    border-style: none;
    font-size: 11px;
    line-height: 16px;
    margin-bottom: 18px;
    padding: 8px 9px;
    background-color: #eee;
    border-style: none;
    color: #444;
    font-size: 11px;
    line-height: 16px;
    margin-bottom: 18px;
    padding: 8px 9px;
    width: 400px;
    	border-bottom: 1px solid #ddd;

}
#contact-form input:focus, #contact-form textarea:focus {
    background-color: #d1eaff;
    outline: none;

}

#contact-form #submit-button {
	clear: both;
	width: 70px;
	color:#FFF;
	border:none;
	display:block;
	font-size: 1em;
	margin-bottom:20px;
background: #2c6da4; padding: 5px 0; -webkit-border-radius: 3px;-moz-border-radius: 3px; border-radius: 3px;
}

#contact-form #submit-button:hover {
	background: #002c52;
}

#contact-form #submit-button:active {
	position:relative;
	top:1px;
}

#contact-form #loading {
	display:none;
}

#errors {
	border:solid 1px #E58E8E;
	padding:10px;
	margin:0 0 25px 0;
	display:block;
	color: #444;
	width: 400px;
	font-size: 0.8em;
	background:#FFE6E6 url(cancel_48.png) no-repeat 365px center;
	display:none;
}

#errors li {
	padding:2px;
	list-style:none;
}

#errors li:before {
	content: ' - ';
}

#errors #info {
	font-weight:bold;
}

#errors #info:before {
	content: '';
}

#success {
	border:solid 1px #83D186;
	padding:25px 10px;
	margin:0 0 25px 0;
	display:block;
	width:400px;
	font-size: 0.8em;
	color: #444;
	background:#D3EDD3 url(accepted_48.png) no-repeat 365px center;
	font-weight:bold;
	display:none;
}

#errors.visible, #success.visible {
	display:block;
}

#req-field-desc {
	font-style:italic;
}

/* Remove box shadow firefox, chrome and opera put around required fields. It looks rubbish. */
input:required, textarea:required {
	-moz-box-shadow:none;
	-webkit-box-shadow:none;
	-o-box-shadow:none;
	box-shadow:none;
}

/* Normalize placeholder styles */

/* chrome, safari */
::-webkit-input-placeholder {
	color:#CCC;
	font-style:italic;
}

/* mozilla */
input:-moz-placeholder, textarea:-moz-placeholder {
	color:#CCC;
	font-style:italic;
}

/* ie (faux placeholder) */
input.placeholder-text, textarea.placeholder-text  {
	color:#CCC;
	font-style:italic;
}

	.toggle {
	}
	.close {margin-left: 15px; line-height: 25px; height: 25px; float: left;}

/* ==|== non-semantic helper classes ======================================== */
.ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; }
.ir br { display: none; }
.hidden { display: none !important; visibility: hidden; }
.visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }
.invisible { visibility: hidden; }
.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { zoom: 1; }


/* ==|== media queries ====================================================== */




/* ==|== print styles ======================================================= */

@media print {
  * { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; }
  a, a:visited { text-decoration: underline; }
  a[href]:after { content: " (" attr(href) ")"; }
  abbr[title]:after { content: " (" attr(title) ")"; }
  .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }
  pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
  thead { display: table-header-group; }
  tr, img { page-break-inside: avoid; }
  img { max-width: 100% !important; }
  @page { margin: 0.5cm; }
  p, h2, h3 { orphans: 3; widows: 3; }
  h2, h3 { page-break-after: avoid; }
}
