#contactForm #pageError .msg{
  font-weight: bold;
  padding: 4px 10px;
  color: #ae0000;
  border: 1px solid #ae0000;
  background: #e3c0c0;
}
#successMessage{
  box-sizing: border-box;
  height: 300px;
  padding: 50px;
  background: rgba(11, 181, 0, 1);
  text-align: center;
}
#successMessage h1{
  font-weight: 800;
  font-family: "Open Sans", sans-serif;
  font-size: 25px;
  color: #FFF;
  margin-top: 65px;
}

.introtxt {
  padding-top: 2px;
}

.virtuaali {
  width:685px;
}

.piilo { display: none; }

@media all and (transform-3d), (-webkit-transform-3d) {
    .carousel-fade .carousel-inner > .item.next,
    .carousel-fade .carousel-inner > .item.active.right {
      opacity: 0;
      -webkit-transform: translate3d(0, 0, 0);
              transform: translate3d(0, 0, 0);
    }
    .carousel-fade .carousel-inner > .item.prev,
    .carousel-fade .carousel-inner > .item.active.left {
      opacity: 0;
      -webkit-transform: translate3d(0, 0, 0);
              transform: translate3d(0, 0, 0);
    }
    .carousel-fade .carousel-inner > .item.next.left,
    .carousel-fade .carousel-inner > .item.prev.right,
    .carousel-fade .carousel-inner > .item.active {
      opacity: 1;
      -webkit-transform: translate3d(0, 0, 0);
              transform: translate3d(0, 0, 0);
    }
}


/* General Settings */
    .skip {
        position: absolute;
        top: -1000px;
        left: -1000px;
        height: 1px;
        width: 1px;
        text-align: left;
        overflow: hidden;
        background-color: white;
        z-index: 100;
    }
    
    a.skip:active, 
    a.skip:focus, 
    a.skip:hover {
        left: 0; 
        top: 0;
        width: auto; 
        height: auto; 
        overflow: visible; 
    }
.readable {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: rect(0,0,0,0);
    border: 0;
}
a[href^=tel] {
    font-size: 115%;
    font-weight: bold;
    color: darkblue;
}
.musta {
    color: black;
    text-decoration: underline;
}
.perukirjanav {
    margin-bottom: 15px;
    margin-top: 13px;
}
.perukirjanav a, .perukirjanav a:visited {
    color: darkblue;
}
.numerot li {
    list-style-type: decimal;
    margin-bottom: 8px;
}
.circle li {
    list-style-type: disc;
}
    .google-maps {
        position: relative;
        padding-bottom: 60%; // This is the aspect ratio
        height: 0;
        overflow: hidden;
    }
    .google-maps iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100% !important;
        height: 100% !important;
    }
    .snav_li {
        margin-left: -23px;
        background-color: #eee;
        width: 100%;
        display: block;
        padding-left: 5px;

    }
    .snav {
        padding-left: 50px;
        margin-top: 0px;
    }
    .snav_li a {
        color: #000;
        font-size: 18px;
        font-weight: bold;
        height: 45px;
        display: block;
        line-height: 45px;
    }
        .snav_li a:focus {
        color: #000;
        font-size: 18px;
        font-weight: bold;
        height: 45px;
        display: block;
        line-height: 45px;
        text-decoration: none;
    }
    .snav_li a:hover {
        color: #000;
        font-size: 18px;
        font-weight: bold;
        height: 45px;
        display: block;
        background-color: #e8e8e8;
        text-decoration: none;
        line-height: 45px;
        padding-left: 6px;
    }
    .normaali {
        list-style-type: disc;
        font-size: 110%;
    }
    .numero-lista li {
    list-style-type: decimal;
    padding-bottom: 10px;
    }

    .esivu {
        display: inline;
        font-size: 150%;
    }
    article img { width: 100%;}

body {
    width: 100%;
    height: 100%;
    font-family: sans-serif;
    font-weight: 300;
    color: #222;
    background-color: #fff;
}

html {
    width: 100%;
    height: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0 0 15px;
    font-family: sans-serif; /* Theme: ; font-family: "Lucida Grande"  */
    font-weight: 600;
}
.laktsto, .headtitle {
        text-transform: uppercase;
}

p {
    margin: 0 0 20px;
    font-size: 16px;
    line-height: 1.6em;
}

a {
    color: #0000EE;
    -webkit-transition: all .2s ease-in-out;
    -moz-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
}

a:hover,
a:focus {
    text-decoration: underline;
}


ol, ul {
    list-style: outside none none;
}

/* Theme */
.container {
    margin-top: 0.75%;
}

.container-fluid {
    padding-right: 0;
}

/* Logo + Menu */
.navbar-default {
    background-color: #000;
    border-color: transparent;
}

.navbar {
    border-radius: 0;
    margin-bottom: -6px;
    min-height: 94px;
}

.nav {
    margin: -3px 0 5px;
}

.navbar-header {
    min-height: 92px;
}

div.navbar-collapse {
    text-align: center;
}

#navbar {
    font-size: 16px;
}

#navbar ul {
    text-align: center;
}

#navbar a {
    color: #fff;
    line-height: 0;
    padding: 2px;
}

#navbar a:hover {
    text-decoration: underline;
}

.navbar ul > li {
    margin-left: 30px;
    margin-top: 20px;
}

.navbar-brand h5 {
    color: #fff;
    font-size: 21px;
    font-weight: lighter;
    letter-spacing: 2px;
    margin-left: 10px;
    margin-top: -12px;
}

.navbar-brand h3 {
    color: #fff;
    font-size: 35px;
    font-weight: 500;
    margin-left: 79px;
    margin-top: -28px;
}

.navbar-default .navbar-toggle {
    border-color: transparent;
}

.navbar-toggle {
    margin-right: 30px;
    margin-top: 10px;
}

.navbar-default .navbar-toggle:focus, .navbar-default .navbar-toggle:hover {
    background-color: transparent;
}
.navbar-default .navbar-toggle .icon-bar {
    background-color: #fff;
}

.navbar-default .navbar-collapse, .navbar-default .navbar-form {
    border-color: transparent;
}

/* Carousel */
header.carousel {
    border: 5px solid #e8e8e8;
    height: 300px;
    margin-left: 20px;
    margin-right: 20px;
}

header.carousel .item,
header.carousel .item.active,
header.carousel .carousel-inner {
    height: 100%;
}

header.carousel .fill {
    width: 100%;
    height: 100%;
    background-position: center;
    background-size: cover;
}

.carousel-control.left {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.3) 0px, rgba(0, 0, 0, 0) 100%);
}

.carousel-control.right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0px, rgba(0, 0, 0, 0.3) 100%);
}

.carousel-fade .carousel-inner .item {
    opacity: 0;
    -webkit-transition-property: opacity;
    -moz-transition-property: opacity;
    -o-transition-property: opacity;
    transition-property: opacity;
    transition-duration: 1.2s;
    transition-timing-function:linear;
}

.carousel-fade .carousel-inner .active {
    opacity: 1;
}

.carousel-fade .carousel-inner .active.left,
.carousel-fade .carousel-inner .active.right {
    left: 0;
    opacity: 0;
    z-index: 1;
}

.carousel-fade .carousel-inner .next.left,
.carousel-fade .carousel-inner .prev.right {
    opacity: 1;
}

.carousel-fade .carousel-control {
    z-index: 2;
}

/* Main Content */
.main-content {
    margin-top: 3.5%;
}

.main-content .col-md-3, .main-content .col-sm-3 {
   padding-left: 0;
}

.main-content .pic p {
    font-size: 18px;
    line-height: 1.3;
    margin-top: 6.5%;
}

.main-content .txt p {
    font-size: 16px;
    line-height: 1.4;
/* text-align: justify; */
}

.box {
    border: 2px outset #d60019;
    color: #d60019;
    margin-bottom: 20px;
    margin-left: 5%;
    margin-right: 5%;
    padding: 10px 10px 0px 10px;
}
.box p {
    margin-bottom: 10px;
}

/* Contact Form */
#contactForm {
    padding: 10px 40px;
}

#contactForm label {
    font-size:18px;
    font-weight: bold;
}

.required {
    color: #317770;
    content: "*";
    font-weight: bold;
    margin-left: 5px;
}

.form-control {
    background-color: #f4f4f4;
    font-size: 16px;
    height: 40px;
    border-radius: 2px;
}

.form-control:focus {
    background-color: #fff;
}

.form-group {
    margin-bottom: 5%;
}

.btn-primary {
    background-color: #317770;
    border-color: #317770;
}

.btn-primary:hover, .btn-primary:focus {
    background-color: #6DAFA8;
    border-color: #6DAFA8;
    outline: none;
}

.btn {
    border-radius: 2px;
    font-size: 16px;
    font-weight: 400;
    margin-bottom: 2%;
    padding: 12px;
    width: 100%;
}

.has-error .checkbox, .has-error .checkbox-inline, .has-error .control-label, .has-error .help-block, .has-error .radio, .has-error .radio-inline, .has-error.checkbox label, .has-error.checkbox-inline label, .has-error.radio label, .has-error.radio-inline label {
    color: #d50000;
    font-weight: bold;
}

/* Footer */
footer {
    background-color: #e8e8e8;
    margin: 2% auto 0.75%;
    padding-bottom: 18px;
    padding-top: 18px;
    text-align: center;
}

footer p {
    font-size: 18px;
    line-height: 1.4;
}

/* Media queries */
@media (max-width: 767px) {
    .container {
	margin-top: 0;
    }
    
    .navbar {
	margin-left: -15px;
	margin-right: -15px;
    }

    footer {
	margin-bottom: 0;
    }
}

@media (min-width: 768px) {
    .perukirjanav {
    margin-bottom: 15px;
    margin-top: 0;
}

    .container {
	width: 750px;
    }
    
    footer {
	width: 720px;
    margin-bottom: 0;
    }
}

@media (min-width: 992px) {
    .container {
	width: 970px;
    }
    
    footer {
	width: 940px;
    margin-bottom: 0;
    }
}

@media (min-width: 1200px) {
    .container {
	width: 990px;
    }
    
    footer {
	width: 960px;
    margin-bottom: 0;
    }

.laktsto {
    color: white;
    font-family: "Lucida Grande";
    font-size: 25px;
    font-weight: 500;
    margin-top: 5px;
}
.headtitle {
    color: white;
    font-family: "Lucida Grande";
    font-size: 45px;
    font-weight: 500;
    margin-top: -10px;
    margin-left: 20px; 
}
    h1 { font-size: 23px;}
    h2 { font-size: 20px;}
    h3{ font-size: 17px;}
}

@media (min-width: 992px) and (max-width: 1199px) {
    .navbar-brand h3 {
	margin-left: 70px;
    }
.laktsto {
    color: white;
    font-family: "Lucida Grande";
    font-size: 23px;
    font-weight: 500;
    margin-top: 5px;
}
.headtitle {
    color: white;
    font-family: "Lucida Grande";
    font-size: 40px;
    font-weight: 500;
    margin-top: -10px;
    margin-left: 18px; 
}
    h1 { font-size: 23px;}
    h2 { font-size: 20px;}
    h3{ font-size: 17px;}
.virtuaali {
  width:670px;
}

}

@media (min-width: 768px) and (max-width: 991px) {
    .navbar-brand h3 {
	font-size: 30px;
	margin-left: 15px;
    }
    
    .navbar-brand h5 {
	font-size: 16px;
	margin-left: 0px;
    }
    
    .navbar > .container .navbar-brand, .navbar > .container-fluid .navbar-brand {
	margin-top: 5%;
    }
    
    .navbar ul > li {
	margin-top: 16px;
    }
    .snav_li {
    margin-left: -25px;
    background-color: #eee;
    width: 140%;
    display: block;
    padding-left: 5px;
    }
.laktsto {
    color: white;
    font-family: "Lucida Grande";
    font-size: 17px;
    font-weight: 500;
    margin-top: 10px;
}
.headtitle {
    color: white;
    font-family: "Lucida Grande";
    font-size: 30px;
    font-weight: 500;
    margin-top: -10px;
    margin-left: 18px; 
}
    h1 { font-size: 20px;}
    h2 { font-size: 18px;}
    h3{ font-size: 16px;}
.virtuaali {
  width:505px;
}

}

@media (max-width: 767px) {
    .nav > li {
	margin: 4px;
    }
    
    #contactForm {
	padding: 0;
    }
    
    .navbar ul > li {
	margin-left: 0;
	margin-top: 20px;
	margin-bottom: 20px;
    }

    #myCarousel {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    }

    .main-content img {
    margin: 0 auto 15px auto;
    }

    h1 { font-size: 20px;}
    h2 { font-size: 18px;}
    h3 { font-size: 16px;}


.laktsto {
    color: white;
    font-family: "Lucida Grande";
    font-size: 25px;
    font-weight: 500;
    margin-top: 10px;
}
.headtitle {
    color: white;
    font-family: "Lucida Grande";
    font-size: 45px;
    font-weight: 500;
    margin-top: -10px;
    margin-left: 25px; 
}

}

@media (min-width: 442px) and (max-width: 600px) {
    .navbar-brand h5 {
	font-size: 16px;
	margin-left: 0px;
    }
    .navbar-brand h3 {
	font-size: 27px;
	margin-left: 50px;
    }
    
    .navbar-default .navbar-brand {
	margin-top: 2%;
    }
    
    #navbar a {
	padding: 3px;
    }
    
    .main-content .pic p {
	font-size: 12px;
    }

    h1 { font-size: 18px;}
    h2 { font-size: 16px;}
    h3 { font-size: 14px;}

    #myCarousel {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    }
.laktsto {
    color: white;
    font-family: "Lucida Grande";
    font-size: 16px;
    font-weight: 500;
    margin-top: 10px;
}
.headtitle {
    color: white;
    font-family: "Lucida Grande";
    font-size: 33px;
    font-weight: 500;
    margin-top: -10px;
    margin-left: 20px; 
}

}

@media (min-width: 359px) and (max-width: 441px) {
    .navbar {
	min-height: 75px;
    }
    
    .navbar-brand h5 {
	font-size: 12px;
	margin-left: 0;
    }
    
    .navbar-header {
	min-height: 75px;
    }
    
    .navbar-brand h3 {
	font-size: 18px;
	margin-left: 33px;
    }
    
    .navbar-default .navbar-brand {
	margin-top: 5%;
    }
    
    .main-content .pic p {
	font-size: 12px;
    }
    
    .main-content .txt p {
	font-size: 16px;
    }
    
    .pic {
	width: 100%;
    }
    
    .pic img {
	width: 150px;
	margin-left: auto;
	margin-right: auto;
    }
    
    .txt {
	width: 100%;
    }

    h1 { font-size: 18px;}
    h2 { font-size: 16px;}
    h3 { font-size: 14px;}
    #myCarousel {
    margin-left: -2.5%;
    width: 105%;
    }
.laktsto {
    color: white;
    font-family: "Lucida Grande";
    font-size: 13px;
    font-weight: 500;
    margin-top: 10px;
}
.headtitle {
    color: white;
    font-family: "Lucida Grande";
    font-size: 25px;
    font-weight: 500;
    margin-top: -10px;
    margin-left: 20px; 
}
}

@media (max-width: 358px) {
    .navbar {
	min-height: 75px;
    }
    
    .navbar-default .navbar-brand {
	margin-top: 5%;
    }
    
    .navbar-header {
	min-height: 75px;
    }
    
    .navbar-brand h5 {
	font-size: 10px;
	margin-left: 0;
	margin-bottom: 5px;
    }
    
    .navbar-brand h3 {
	font-size: 17px;
	margin-top: 0;
	margin-left: 0;
    }
    
    .main-content .pic p {
	font-size: 12px;
    }
    
    .main-content .txt p {
	font-size: 16px;
    }
    
    .pic {
	width: 100%;
    }
    
    .pic img {
	width: 150px;
	margin-left: auto;
	margin-right: auto;
    }
    
    .txt {
	width: 100%;
    }

    h1 { font-size: 18px;}
    h2 { font-size: 16px;}
    h3 { font-size: 14px;}
    #myCarousel {
        margin-left: -2.5%;
        width: 105%;
    }
.laktsto {
    color: white;
    font-family: "Lucida Grande";
    font-size: 13px;
    font-weight: 500;
    margin-top: 10px;
}
.headtitle {
    color: white;
    font-family: "Lucida Grande";
    font-size: 20px;
    font-weight: 500;
    margin-top: -10px;
    margin-left: 10px; 
}
}