/** Generated: Tuesday, 1st of July 2025, 06:40:11 AM // Powered by AIOM+ (All In One Minify) created by FlipZoom Media Inc. - David Karich (flipzoom.de) **/
/*
@font-face { 
	font-family: 'Assistant'; 
	src:  url('/files/fonts/Assistant-Regular.woff2') format('woff2'), url('/files/fonts/Assistant-Regular.woff') format('woff'); 
	font-weight: 400;
	font-style: normal;
	font-display: swap
}
@font-face { font-family: 'Assistant Bold'; src:  url('/files/fonts/Assistant-Bold.woff2') format('woff2'), url('/files/fonts/Assistant-Bold.woff') format('woff'); }
@font-face { font-family: 'Assistant Light'; src:  url('/files/fonts/Assistant-Light.woff2') format('woff2'), url('/files/fonts/Assistant-Light.woff') format('woff'); }
@font-face { font-family: 'Assistant ExtraBold'; src:  url('/files/fonts/Assistant-ExtraBold.woff2') format('woff2'), url('/files/fonts/Assistant-ExtraBold.woff') format('woff'); }
@font-face { font-family: 'Kanit Black'; src:  url('/files/fonts/Kanit-Black.woff2') format('woff2'), url('/files/fonts/Kanit-Black.woff') format('woff'); }
@font-face { font-family: 'MrDafoe'; src:  url('/files/fonts/MrDafoe-Regular.woff2') format('woff2'), url('/files/fonts/MrDafoe-Regular.woff') format('woff'); }
*/



@import url('https://fonts.googleapis.com/css2?family=Assistant:wght@300;400;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Kanit:wght@900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Mr+Dafoe&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@300;400;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Kanit&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Kanit:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&display=swap');
* {
    vertical-align: top;
    text-decoration: none;
    margin: 0;
    padding: 0;
}

*,
:after,
:before { box-sizing: border-box }

textarea,
select,
input:not([type=checkbox]):not([type=radio]),
button {
    -webkit-appearance: none;
    outline: none;
}

a:hover { transition: all .6s ease }

body {
    width: 100vw;
    overflow-x: hidden;
}

.rr { flex-direction: row-reverse }

.up { text-transform: uppercase }

img {
    max-width: 100%;
    height: auto
}

#hero,
.rel,
.video { position: relative }

.abs,
.video iframe { position: absolute }

.btn,
.tc { text-align: center }

.tr { text-align: right }

.tl,
th,
td {
    text-align: left
}

td,
th { padding: 8px 10px }

.text-white { color: #fff }

.text-black { color: #000 }

.text-dark { color: #222 }

.text-success { color: #28a745 }

.text-danger { color: #dc3545 }

.text-warning,
sup { color: red }

html { -ms-overflow-style: scrollbar }

.container { max-width: 1200px }

.container,
.container-fluid {
    width: 90%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
    position: relative    
}

#menu-toggler,
.hidden,
.tab-content,
[hidden],
input.hidden:not([type=checkbox]):not([type=radio]),
.sub-toggle { display: none }

#logo,
.block,
.nav-link,
.submenu li,
header a,
input:not([type=checkbox]):not([type=radio]),
label,
main,
select,
textarea,
.panel.show { display: block }

.inl,
.nav-item,
header li {
    display: inline-block;
    position: relative
}

.cell {
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    -o-flex-direction: column;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}
strong { font-weight: bolder }
.vh-100 { min-height: 100vh }
.h-100 { height: 100% }
.vw-100 { width: 100vw }

h1,
h2 { line-height: 1.15em }

#details .item,
h1,
h2,
h3,
main ul,
ol,
p,
table { margin-bottom: 15px }

header .ui-title,
header ul,
main ul:last-child,
ol:last-child,
p:last-child,
.mb-0 { margin-bottom: 0 }

main ul,
ol { margin-left: 18px }

#hero img,
.w-100,
figure img,
header,
table { width: 100% }

.w-50 { width: 50% }

#menu-toggler {
    width: 45px;
    height: 45px;
    background: 0 0;
    border: none;
    z-index: 1500
}

.fixed-top {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    min-height: 45px;
    z-index: 900
}

.adminbar-loaded .fixed-top { top: 40px }

.left {
    float: left
}

.right {
    float: right
}

.clear {
    clear: both
}

.mid {
    vertical-align: middle
}

.bot {
    vertical-align: bottom
}

.btn,
.table td { vertical-align: middle }

.bg-white { background-color: #fff }

.bg-light { background-color: #f2f2f2 }

.btn {
    padding: 7px 15px;
    display: inline-block;
    border-radius: 4px;
    font-size: 1rem;
    border: 1px solid #999;
    color: #000
}

#menu-toggler,
.accordion,
.btn,
a,
ul.tabs li,
button { cursor: pointer }

select.custom {
    background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20fill%3D%22%23555555%22%20%0A%09%20width%3D%2224px%22%20height%3D%2224px%22%20viewBox%3D%22-261%20145.2%2024%2024%22%20style%3D%22enable-background%3Anew%20-261%20145.2%2024%2024%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cpath%20d%3D%22M-245.3%2C156.1l-3.6-6.5l-3.7%2C6.5%20M-252.7%2C159l3.7%2C6.5l3.6-6.5%22%2F%3E%0A%3C%2Fsvg%3E);
    padding-right: 25px;
    background-repeat: no-repeat;
    background-position: right center;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

input:not([type=checkbox]):not([type=radio]),
select,
textarea {
    width: 100%;
    font-size: 1rem;
    padding: .375rem .75rem;
    color: #495057;
    background-color: #fff;
    border: 1px solid #ced4da;
    border-radius: 5px;
    line-height: 1.4rem
}

.pt-2,
.pt-3,
.py-2,
.py-3 { padding-top: 1rem }

label { margin-bottom: 4px }

input[type=submit].btn-block,
input[type=reset].btn-block,
input[type=button].btn-block { width: 100% }

.flex,
.cell,
.row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.jr { justify-content: flex-end }

.pr-2,
.pr-3,
.px-2,
.px-3 {
    padding-right: 1rem
}

.pl-2,
.pl-3,
.px-2,
.px-3 {
    padding-left: 1rem
}

.row {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px
}

.col,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9,
.col-10 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
    -webkit-box-flex: 0
}

.col {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%;
}

.col-10 {
    -ms-flex: 0 0 83.333333%;
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
}

.col-9 {
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%
}

.col-8 {
    -ms-flex: 0 0 66.6666%;
    flex: 0 0 66.6666%;
    max-width: 66.6666%
}

.col-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%
}

.col-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%
}

.col-5 {
    -ms-flex: 0 0 41.6666666667%;
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%
}

.col-4 {
    -ms-flex: 0 0 33.3333%;
    flex: 0 0 33.3333%;
    max-width: 33.3333%
}

.col-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%
}

.col-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%
}

.video {
    padding-bottom: 56.25%;
    max-width: 100%
}

.video iframe {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none
}

.p-2,
.p-3 {
    padding: 1rem
}

.pb-2,
.pb-3,
.py-2,
.py-3 {
    padding-bottom: 1rem
}

.m-0 { margin: 0 }

.m-2 { margin: .5rem }

.mt-2,
.my-2 { margin-top: .5rem }

.mr-2,
.mx-2 {
    margin-right: .5rem
}

.mb-2,
.my-2 {
    margin-bottom: .5rem
}

.ml-2,
.mx-2 {
    margin-left: .5rem
}

.m-3 {
    margin: 1rem
}

.mt-3,
.my-3 {
    margin-top: 1rem
}

.mr-3,
.mx-3 {
    margin-right: 1rem
}

.mb-3,
.my-3 {
    margin-bottom: 1rem
}

.ml-3,
.mx-3 {
    margin-left: 1rem
}

.m-4 {
    margin: 1.5rem
}

.mt-4,
.my-4 {
    margin-top: 1.5rem
}

.mr-4,
.mx-4 {
    margin-right: 1.5rem
}

.mb-4,
.my-4 {
    margin-bottom: 1.5rem
}

.ml-4,
.mx-4 {
    margin-left: 1.5rem
}

.m-5 {
    margin: 3rem
}

.mt-5,
.my-5 {
    margin-top: 3rem
}

.mr-5,
.mx-5 {
    margin-right: 3rem
}

.mb-5,
.my-5 {
    margin-bottom: 3rem
}

.ml-5,
.mx-5 {
    margin-left: 3rem
}

.p-1 { padding: .3rem }

.pt-1,
.py-1 { padding-top: .3rem }

.pr-1,
.px-1 { padding-right: .3rem }

.pb-1,
.py-1 { padding-bottom: .3rem }

.pl-1,
.px-1 { padding-left: .3rem }

.p-2 { padding: .6rem }

.pt-2,
.py-2 { padding-top: .6rem }

.pr-2,
.px-2 { padding-right: .6rem }

.pb-2,
.py-2 { padding-bottom: .6rem }

.pl-2,
.px-2 { padding-left: .6rem }

.p-3 { padding: 1rem }

.pt-3,
.py-3 { padding-top: 1rem }

.pr-3,
.px-3 { padding-right: 1rem }

.pb-3,
.py-3 { padding-bottom: 1rem }

.pl-3,
.px-3 { padding-left: 1rem }

.p-4 { padding: 1.5rem }

.pt-4,
.py-4 { padding-top: 1.5rem }

.pr-4,
.px-4 { padding-right: 1.5rem }

.pb-4,
.py-4 { padding-bottom: 1.5rem }

.pl-4,
.px-4 { padding-left: 1.5rem }

.p-5 {
    padding: 3rem
}

.pt-5,
.py-5 {
    padding-top: 3rem
}

.pr-5,
.px-5 {
    padding-right: 3rem
}

.pb-5,
.py-5 {
    padding-bottom: 3rem
}

.pl-5,
.px-5 {
    padding-left: 3rem
}

.mx-auto {
    margin-left: auto;
    margin-right: auto
}

.my-0 {
    margin-top: 0;
    margin-bottom: 0
}

.mx-0,
main ul.carousel {
    margin-left: 0;
    margin-right: 0
}

.py-0 {
    padding-top: 0;
    padding-bottom: 0
}

.px-0 {
    padding-left: 0;
    padding-right: 0
}

.p-0 { padding: 0 }

.m-0 { margin: 0 }

.py-54 {
    padding-top: 3rem;
    padding-bottom: 1.5rem
}

.form-control,
.form-control-file,
.form-control-range {
    display: block;
    width: 100%
}

.form-control {
    background-clip: padding-box;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out
}

.form-control::-ms-expand {
    background-color: transparent;
    border: 0
}

.form-control:focus {
    color: #495057;
    background-color: #fff;
    border-color: #80bdff;
    outline: 0;
    box-shadow: 0 0 0 .2rem rgba(0, 123, 255, .25)
}

.border-bottom,
.table tr {
    border-bottom: 1px solid #ccc
}

.form-control::placeholder {
    color: #6c757d;
    opacity: 1
}

.form-control:disabled,
.form-control[readonly] {
    background-color: #e9ecef;
    opacity: 1
}

select.form-control:focus::-ms-value {
    color: #495057;
    background-color: #fff
}

@media screen and (max-width:1200px) {
    .r2 {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%
    }
    .r22 {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%
    }
    .r23 {
        -ms-flex: 0 0 33.3333%;
        flex: 0 0 33.3333%;
        max-width: 33.3333%
    }
    .rh2 { display: none }
}

@media screen and (max-width:1000px) {
    .r1 {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%
    }
    .r12 {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%
    }
    .r13 {
        -ms-flex: 0 0 33.3333%;
        flex: 0 0 33.3333%;
        max-width: 33.3333%
    }
    .rh1 { display: none }
}

@media screen and (max-width:750px) {
    .r7 {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%
    }
    .r72 {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%
    }
    .rh7 {
        display: none
    }
}

@media screen and (max-width:550px) {
    .r5 {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%
    }
    .r52 {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%
    }
    .rh5 {
        display: none
    }
}

@media screen and (max-width:400px) {
    .r4 {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%
    }
}

@media screen and (max-width:360px) {
    .r3 {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%
    }
}

#makers,
#makers a {
    color: #aaa;
    text-align: center;
    font-size: 14px
}

table { border-collapse: collapse }

.bg-dark,
.btn.bg-cancel,
.bg-danger,
.bg-dark,
.bg-success,
.bg-black { color: #fff }

.bg-success {
    background-color: #28a745;
    border-color: #28a745
}

.btn.bg-success:hover { background-color: #006400 }

.bg-warning {
    color: #212529;
    background-color: #ffc107;
    border-color: #ffc107
}

.bg-danger {
    background-color: #dc3545;
    border-color: #dc3545
}

.btn.bg-cancel,
.bg-dark {
    background-color: #343a40;
    border-color: #343a40
}

.bg-black,
.btn.bg-cancel:hover {
    background-color: #000;
    border-color: #000
}

.breadcrumb {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 1rem;
    list-style: none
}

.breadcrumb-item+.breadcrumb-item::before {
    display: inline-block;
    padding-right: .5rem;
    padding-left: .5rem;
    color: #6c757d;
    content: "/"
}

.config th,
.plain { padding: 5px }

.breadcrumb-item.active { color: #6c757d }

#pbCaption .title {
    font-size: 1.2rem;
    margin: 0
}

#cart { max-width: 300px }

.plain {
    border: none;
    background: 0 0
}

.config td.img {
    padding: 0 10px 0 0;
    width: 70px;
    height: 60px
}

.config td.name a { font-size: 1.1rem }

.config td.quantity {
    padding: 0 0 0 50px;
    width: 120px
}

.config td.min { width: 100px }

.config #action .btn {
    font-size: 1.4rem;
    padding: 10px 40px;
    height: 55px
}

.rounded-top,
#tabs li {
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    overflow: hidden;
}

#tabs li {
    color: #495057;
    background-color: #fff;
    border: 1px solid #dee2e6;
    border-bottom: none;
    display: inline-block;
    padding: 10px 15px;
    margin-right: 2px;
    height: 40px;
}

#tabs li.current {
    color: #000;
    min-height: 41px;
    margin-bottom: -1px;
}

#tabs {
    border-bottom: 1px solid #dee2e6;
    list-style: none
}

.tab-content.current { display: inherit }

.form-check {
    position: relative;
    display: block;
    padding-left: 1.25rem;
}

.form-check-input {
    position: absolute;
    margin-top: 0.3rem;
    margin-left: -1.25rem;
}

.form-check-input:disabled ~ .form-check-label { color: #6c757d }

.form-check-label {  margin-bottom: 0 }

.accordion {
    cursor: pointer;
    padding: 15px;
    width: 100%;
    text-align: left;
    border: none;
    outline: none;
    transition: 0.4s;
    margin-bottom: 5px;
}

.panel {
    padding: 10px 15px 15px;
    display: none;
    overflow: hidden;
}

.FormBuilderViewport { max-width: 400px }
@-ms-viewport{ width: device-width }
@font-face {
  font-family: 'fontello';
  src: url('/files/fonts/fontello.eot?33391367');
  src: url('/files/fonts/fontello.eot?33391367#iefix') format('embedded-opentype'),
       url('/files/fonts/fontello.woff2?33391367') format('woff2'),
       url('/files/fonts/fontello.woff?33391367') format('woff'),
       url('/files/fonts/fontello.ttf?33391367') format('truetype'),
       url('/files/fonts/fontello.svg?33391367#fontello') format('svg');
  font-weight: normal;
  font-style: normal;
}
 [class^="icon-"]:before, [class*=" icon-"]:before,.slick-prev:before,.slick-next:before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: .2em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
  margin-left: .2em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-mail:before { content: '\e800'; } /* '' */
.icon-left-open:before,
.slick-prev:before { content: '\e801'; } /* '' */
.icon-right-open:before,
.slick-next:before { content: '\e802'; } /* '' */
.icon-phone:before { content: '\e803'; } /* '' */
.icon-music:before { content: '\e804'; } /* '' */
.icon-search:before { content: '\e805'; } /* '' */
.icon-ok:before { content: '\e806'; } /* '' */
.icon-check:before { content: '\e807'; } /* '' */
.icon-cancel:before { content: '\e808'; } /* '' */
.icon-twitter:before { content: '\f099'; } /* '' */
.icon-facebook:before { content: '\f09a'; } /* '' */
.icon-left-circled:before { content: '\f0a8'; } /* '' */
.icon-right-circled:before { content: '\f0a9'; } /* '' */
.icon-menu:before { content: '\f0c9'; } /* '' */
.icon-mail-alt:before { content: '\f0e0'; } /* '' */
.icon-linkedin:before { content: '\f0e1'; } /* '' */
.icon-mobile:before { content: '\f10b'; } /* '' */
.icon-youtube:before { content: '\f167'; } /* '' */
.icon-youtube-play:before { content: '\f16a'; } /* '' */
.icon-instagram:before { content: '\f16d'; } /* '' */
.icon-spotify:before { content: '\f1bc'; } /* '' */
.icon-pinterest:before { content: '\f231'; } /* '' */
.icon-linkedin-squared:before { content: '\f30c'; } /* '' */
body {
        font-size: 16px
}

body,
main,
footer {
        max-width: 100vw;
        overflow-x: hidden;
}

body,
input {
        font: 400 16px 'Source Sans Pro';

}

.privacywire{
        z-index: 90000 !important;
}

/*footer alas */
html,body{
        height: 100%;
}

main{
        flex-grow: 1;
        flex-shrink: 0;
}

footer{
        flex-shrink: 0;
}

.info strong {
        font-weight: 300;
        font-family: 'Source Sans Pro'
}

h1,h2{
        font-weight: 900;
        font-family: 'Kanit';
}

h2.smaller{
        font-size: 18px;
}

.adminbar-loaded header{
        margin-top:50px;
}



.info_button {
        font-family: 'Kanit';
        font-weight: 400;
        font-size: 16px;
}

#menu a{
        font-family: 'Montserrat';
        font-size: 14px;
        padding: 10px;
        color:#4e4e4e;
        font-weight: 700;
}

.home #menu a{
        color:#fff;
}

.home header.small #menu a{
        color:#4e4e4e;
}

.home header #logo_dark{
        display: none;
}

.home header.small #logo_dark{
        display: block;
}

.home header.small #logo{
        display: none;
}



/*Ennen 800*/
h3,
#toplinks a,
#cities,
#nappula button{
        font-weight: 900;
        font-family: 'Source Sans Pro'
}


strong{
        font-weight: 700;
        font-family: 'Source Sans Pro'
}



#hero h3 {
        font-weight: 400;
        font-family: 'Mr Dafoe', cursive;
}

#hero .nappi{
        width: max-content;
        margin: 0 auto;
        margin-top:15px;
        font-weight: 700;
        font-size: 1.3rem;
        border: 3px solid #fff;
}
#hero .nappi:hover{
        color:var(--white);
}

a,
.blue,
h1,
h2,
h3,
#menu a:hover,
.info strong {
        color: #02225d
}

section:nth-child(even),
.lomake,
.uutiset,
#info li {
        background: #fff;
}

header,
.home section:nth-child(odd),
#residence li {
        background: #fff
}

#search{
        background: #fff !important;
}

.bgb,
.bgb:nth-child(n),
.home section:nth-child(odd),.cities {
        background: #02225d
}

.cities{
        padding: 45px 0px;
}

#toplinks .inl,.nappi{
        background: #02225d;
        padding: 16px 11px;
        border-radius: 25rem;
}

body,
#info li:first-child,
#info li a,
.news,
#hero li a,
#residence a,.cities li a {
        color: #000
}

#hero h1,
#hero p,
.bgb h2,
.nappi,
.pubdate,
#toplinks a {
        color: #fff
}

#hero h1{
        color:#fff;
}

#hero img,.dark img{
        filter:brightness(80%);
}

.container {
        max-width: 1200px;
        width: 90%;
        margin: 0 auto;
        position: relative;
}

h1,
h2{
        text-transform: uppercase
}

h1,
.title{
        font-size: 1.8em
}

.citytitle{
        font-size: 2.3rem;
}

#hero section:nth-child(1n){
        background: none
}

/* Header */

header {
        width: 100%;
        position: fixed;
        z-index: 250;
        top: 0;
        left: 0;
        background-color:#fff;

}

.home header{
        background-color: transparent;
        color:#fff;
}

.home header.small{
        background-color: #fff;
        color:#000000;
}

header .container_fluid.first{
        padding: 25px 15px;
        display:grid;
        align-items: center;
        justify-content: space-between;
        grid-template-columns: 135px 1fr 120px;
        position: relative;
}

header .content {
        padding: 0 2%;
        width: 96%;
}

#logo,#logo_dark {
        width: 135px;
        margin-right: 30px
}
/*
header .inl:last-child { width: 425px }
*/
header h2,
header h3,
header p,
#hero h1,
.story h2,
.story h3 {
        margin: 0
}

header .inl {
        vertical-align: middle
}

header h3 {
        line-height: 1em
}

#menu {
        width:100%;
        text-align: center;
}




.submenu,.open_menu{
        display: none;
}

.submenu {
        position: absolute;
        z-index: 600;
        background: #000000;
        padding: 1rem;
        left: 10px;
        text-align: left;
        border:1px solid #000;

}

.nav-item:hover .submenu{
        display: block;
}

#menu li li a {
        padding: 5px 15px 5px 15px;
        color: #494948;
        font-weight: 400;
        font-family: 'Montserrat';
        font-size: 14px;
}

.home #menu li li a{
        color:#4d4d4d;
}

ul.slimmenu li > ul {
        background: #fff;
        width: 200px;
}
/*
#menu li li {
    margin-left: 15px;
    background: url("/site/templates/img/nuoli.png") no-repeat left center;
}*/
/*
#toplinks {
    position: absolute;
    right: 0;
    top: 0;
    z-index: 300;
    width: 100%;
    text-align: center;
}
*/
/*
#toplinks .inl {
                
    -webkit-clip-path: polygon(0 0, 80% 0%, 100% 100%, 21% 100%);
    clip-path: polygon(0 0, 80% 0%, 100% 100%, 21% 100%);
 
    width: 165px;
    height: 25px;
    padding: 6px 30px;
    margin: 0 -33px 0 0;
    overflow: hidden;
}
� */

.info_button{
        display: inline-block;
        border: 1px solid #494948;
        padding: 10px 10px;
        color: #494948;
        border-radius: 2px;
        margin-top:15px;
        text-shadow:none;
}

.nappi, button {
        display: inline-block;
        padding: 8px 20px;
        cursor: pointer;
}

.nappi.center{
        width: max-content;
        margin:0 auto;
        left:0;
        right:0;
}

.price{
        font-weight: 700;
        font-size: 18px;
}

.space_border{
        padding-top:30px;
        padding-bottom: 30px;
        border-bottom:1px solid #eee;
}

.small_img img{
        max-width: 100px;
}

.serviceinfo{
        position: absolute;
        bottom:50px;
        left: 0px;
        padding-left: 10px;
        max-width: 400px;
        color:#fff;
        text-shadow: 1px 1px 1px #000000;
        font-size: 14px;
}

.serviceinfo h2{
        color:#fff;
}
/*
.serviceinfo h2:after {
        content: '';
        border-bottom: 5px solid #494948;
        padding-top: 10px;
        width: 50px;
        display: block;
}*/
/*
#toplinks .inl:last-child {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 26% 100%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 26% 100%);
    margin-right: 0;
    width: 165px;
   
}

#toplinks .inl:first-child {

    -webkit-clip-path: polygon(0 0, 86% 0%, 100% 100%, 21% 100%);
    clip-path: polygon(0 0, 86% 0%, 100% 100%, 21% 100%);
 
    width: 200px;
    padding: 6px 50px 6px 60px;
}
*/

#toplinks input {
        padding: 0;
        border: none;
        background: none;
}
.search{
        width: 120px;
}

#find {
        border: none;
        padding: 10px;
        width: 22px;
        height: 20px;
        background: url("/site/templates/img/etsi.png") no-repeat center center / cover;
        margin-left: 5px;
}

header #cities a {
        display: inline-block;
        vertical-align: middle;
        font-size: 1.2em;
}

#cities a:first-child {
        border-right: 1px solid #02225d;
        padding-right: 5px;
        margin-right: 5px;
        line-height: 1em;
}

/*.yhteystiedot #hero li:nth-child(2){ width: 200px */

/* Content */

.home main {
        margin-top:0px;
}

main{
        margin-top:101px;
}

#hero h1 {
        font-size: 4em
}
#hero h3 {
        font-size: 3.6em;
        margin-top: -15px;
}

#hero .caption {
        width: 500px;
        margin: 0;
        position: absolute;
        bottom: 35%;
        left: 5%;
        text-align: left;
}

#hero a,
#info li a,
#residence a,
.two img {
        display: block
}

.two img {
        margin-bottom: 20px
}

section,
#hero.bgb {
        padding: 45px 0
}

#hero section {
        padding: 0
}

#hero li,
#residence li,.cities li {
        background: #fff
}

#info li,
#hero li,
#residence li,.rent li {
        margin: 5px 5px;
        display: inline-block;
        padding: 10px;
        text-align: center;
        border-radius: 25rem;

}
/*
#info{
        color:#fff;
}*/

.home #info{
        color:#fff;
}

#info li,
#hero li,.rent li {
        width: 210px
}
/*
#info li:first-child,
#hero li:first-child,
#residence li:first-child {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 35% 100%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 35% 100%);
    padding-left: 60px;
}
*/
/*
#hero a,
#info li:last-child,
#hero li:last-child,
#residence li:last-child,
.nappi {
    -webkit-clip-path: polygon(0 0, 100% 0, 75% 100%, 0% 100%);
    clip-path: polygon(0 0, 100% 0, 75% 100%, 0% 100%);
    padding-right: 60px;
}
*/
#residence li:first-child {
        padding-left: 75px
}
#residence li:last-child {
        padding-right: 75px
}
/*
.pubdate {
    -webkit-clip-path: polygon(0 0, 100% 0, 93% 100%, 0% 100%);
    clip-path: polygon(0 0, 100% 0, 93% 100%, 0% 100%);
    padding-right: 60px;
}
*/
#hero li a {
        padding: 0
}

.story .img {
        width: 125px;
        margin-right: 25px;
}

#story h1, .team h3 {
        margin-bottom: 0
}
#story .info {
        margin-bottom: 15px
}
#story .txt {
        width: 850px
}
#stories .txt {
        width: 425px
}
.title {
        margin-bottom: 40px
}
#images .three {
        margin-bottom: 0
}
.info {
        font-size: .9em
}

.story h3 {
        font-size: 1.4em
}

.story .txt {
        background: url("/site/templates/img/lainaus.png") no-repeat top left;
        padding-top: 26px;
}

#hero.bgb h1 {
        font-size: 1.8em
}

div.more {
        border-top: 2px solid #eee;
        margin-top: 20px;
        padding-top: 15px;
}

div.more a {
        display: inline-block;
        padding-right: 20px;
        background: url("/site/templates/img/arrowdown.png") no-repeat right center;
}

.result {
        padding: 20px 0;
        border-bottom: 2px solid #eee;
}

main #hero ul,
main #info ul {
        margin: 0
}

#imageLinks {
        position: absolute;
        top: 325px;
        left: 45px;
        width: 200px;
        z-index: 100
}

#imageLinks a {
        vertical-align: middle;
        display: inline-block
}

#imageLinks .img + .img {
        margin-top: 10px
}

/* Services */

.service:nth-child(odd) .img,
.service:nth-child(even) .content {
        float: left
}

.service:nth-child(odd) .content,
.service:nth-child(even) .img {
        float: right
}

.service .img {
        width: 35%
}

.service .content {
        width: 60%
}

.service .cell {
        height: 253px;
        vertical-align: middle;
        display: table-cell;
}

#hero {
        position: relative;
        z-index: 55
}

#joensuu {
        z-index: 50
}

#lieksa {
        z-index: 45;
        /*background: #fff;*/
}

#laskutusosoitteet {
        z-index: 40;
}

#links ul {
        margin: 0 0 30px
}

/* News */

.news h2 {
        font-size: 1.2em;
        margin-bottom: 10px;
}

.red {
        background: #b41518
}
.green {
        background: #3f9030
}

.pubdate {
        margin-bottom: 10px;
        padding: 10px 4%;
        width: 92%;
}

/* Footer */

footer {
        padding: 25px 0 15px;
        border-top: 1px solid #fff;
        /*margin-top: 45px;*/
        background-color: #02225d;
        color:#fff;
        border-top:2px solid #000;
}

.home footer {
        margin-top: 0
}



footer a,footer h3{
        color:#fff;
}

.footer_logos img{
        max-width: 180px;
        max-height: 180px;
}
#second-popup{
        position: fixed;
        right: 15px;
        bottom: 15px;
        max-width: 250px;
        z-index: 500;

        button{
                position: absolute;
                top: 4px;
                left: 0px;
                border-radius:50%;
                width: 40px;
                height: 40px;
                border:unset;
                font-weight: 700;
                font-size: 16px;
                background-color: #02225d;
                color: #fff;
        }



}







/*footer img { margin-right: 20px }*/

/* Contact */

header #contact{
        position: absolute;
        top:0;
        right: 25px;
}

.yhteystiedot section .left {
        width: 40%
}

.yhteystiedot section .right {
        width: 57%;
        margin-left: 3%
}

.map{
        border:0;
}

section.city,section.other{
        padding-top:25px;
        padding-bottom:25px;
}

section iframe {
        width: 100%;
        height: 300px;
}

#map {
        width: 100%;
}

.MarkupGoogleMap {
        margin-bottom: 25px
}

.team {
        padding-top: 40px
}

.team .img {
        width: 45%;
        margin-right: 5%;
        max-width: 170px
}
.team .txt {
        width: 50%
}

.yhteystiedot #hero.bgb h1 {
        margin-bottom: 20px
}

.jump:before {
        content: "";
        display: block;
        padding-top: 105px;
}

.city {
        /* margin-top: -80px;*/
        position: relative;
        z-index: 41;
}

#wrap {
        min-height: 100%;
        display: flex;
        flex-direction: column;
        align-items: stretch;
}

header #contact a {
        display: inline-block;
        color:#000;
}

.home header #contact a{
        color:#fff;
}

.home header.small #contact a{
        color:#000;
}

/* Residence */

#residence .label {
        margin-right: 10px
}
#residence .label:last-child {
        margin-right: 0
}

#rs {
        max-width: 600px;
        margin: 20px auto 0;
}

#residence .options {
        border: none;
        margin: 0 auto 20px;
}

#residence .two input,
#residence .three input {
        width: 94%;
        padding: 5px 3%;
}

#residence .check {
        margin: 5px 6px 0 0
}
#residence .select {
        padding: 2px 0
}

#residence .two,
#residence .three {
        margin-bottom: 0
}

#residence button {
        padding: 6px 20px;
        font-size: 13px;
        color: #fff;
        border: 1px solid #fff;
        text-transform: uppercase;
}

#residence .op {
        margin: 0 1%
}

#renting .content {
        padding: 20px;
        background: #fff;
        height: 270px;
        position: relative;
}

#renting .three {
        text-align: left;
}

#renting img {
        width: 100%
}

#extra {
        margin: 20px 0
}

#renting p:last-child {
        position: absolute;
        bottom: 20px;
        left: 20px;
}



#rent .left {
        width: 37%
}

#rent .right {
        width: 60%
}

#mini {
        margin-top: 10px
}

#mini .two {
        margin-bottom: 18px
}

#map {
        margin-bottom: 40px
}

.asunto td:first-child {
        width: 120px
}

.asunto footer {
        margin-top: 45px
}

.asunto h1 {
        margin-bottom: 5px
}

.uutinen footer {
        margin-top: 45px
}

/*Nappien hover-efekti */


#info a:hover,#residence a:hover,#hero a:hover,.cities a:hover,.info_button:hover{
        color: #02225d;
}

#toplinks a:hover,.nappi:hover{
        background: #005e1f;
}

.center{
        display: flex;
        justify-content: center;
        align-items: center;
}


.houses tr:nth-child(even) {
        background-color: #dddddd;
}

td, th {
        border: 1px solid #494948;
        text-align: left;
        padding: 8px;
        text-align: center;
}

.sup{
        color: #000000;
}
/*
.location,.clock{
        display: grid;
        grid-template-columns: 1fr 1fr;
        align-items: center;
        grid-gap:5px;
}
*/

.open_hidden {
        background: #eeeeee;
        font-size: 20px;
        font-weight: 700;
        cursor: pointer;
}

.open_hidden:hover{
        color: #02225d;
}

.open_hidden::after {
        content: "+";
        position: absolute;
        right: 10px;
}

.open_hidden.open::after {
        content: "-";
        position: absolute;
        right: 10px;
}

.hidden_info {
        display: none;
}

.hidden_info.show{
        display: block;
        border:2px solid #494948;
        border-top:2px solid transparent;
        border-radius: 5px;
}

.subcaption{
        bottom:55px;
}

#hero .subcaption h1{
        color:#fff;
        max-width: 800px;
        margin: 0 auto;
        left:0;
        right: 0;
        background:rgba(72,72,71,0.7);
        border-radius: 2px;
        font-size: 3rem;
}

.three {
        position: relative
}

#message {
        padding: 1rem 1.5rem;
        background: #fff;
        color:  #02225d;
        display: flex;
        justify-content: center;
        align-items: center;
}

#toplinks,.search{
        display: flex;
        justify-content: center;
        align-items: center;
}

.inl.tc.search {
        padding: 8px 0px !important;
}

button.hide{
        border: 2px solid #fff;
        font-size: 20px;
        padding: 0px 7px;
        border-radius: 50%;
        background:#009832;
        color: #fff;
        margin-left: 15px;
}

button:hover{
        background: #000;
}



/* LOMAKE */

.grid,
.checkGrid {
        display: grid
}

.grid.g2,
.grid.g3 {
        grid-gap: 2rem
}

.grid.g2,
.grid.g3,
form textarea,
label.mb {
        margin-bottom: 2rem
}

form span,
form label,
form input,
form textarea {
        display: block;
        max-width: 100%;
        box-sizing: border-box;
        text-align: left
}

form input,
form textarea,
details {
        width: 100%;
        padding: .5rem !important
}

form h3 {
        font-size: 1.6rem
}

form span {
        margin-bottom: 5px
}

.grid.g2 {
        grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr))
}

.grid.g3 {
        grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr))
}

.grid-two{
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-gap:0rem;
}


.grid-two.reverse{
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-gap:0rem;
}



.grid-two .cell{
        display: grid;
        place-content:center flex-start;
}

.grid-two.reverse .image{
        display: grid;
        grid-column-start: 1;
        grid-row-start: 1;

}
/*
.grid-two.clip2{
        grid-template-columns: 1fr 650px;
}

.grid-two.clip3{
        grid-template-columns: 650px 1fr;
}*/






.checkGrid {
        grid-template-columns: 20px 1fr;
        grid-gap: .8rem
}

#submitButton:disabled{
        background-color:#ccc
}

#hakemus {
        margin: 0 auto;
        max-width: 700px;
        width: 90%
}

details {
        margin-bottom: .5rem
}

details summary {
        cursor: pointer;
        padding: 10px 0;
        margin-bottom: 1.5rem;
        text-align: left;
        border-bottom: 1px solid #999
}

#nappula button {
        font-size: 1.2rem;
        margin-top: 2rem;
        text-transform: uppercase;
        color: #fff
}

sup {
        color: #000000;
}





/* Responsive */

@media screen and (max-width: 1340px){
        #stories .txt {
                width: 290px
        }
        #story .txt {
                width: 770px
        }
}

@media screen and (max-width: 1410px){

        header #contact{
                right: 20px;
        }

        .home header #logo{
                display: none;
        }

        .home header #logo_dark{
                display: block;
        }


        header #contact,header #contact a{
                color:#000 !important;
        }



        header .container_fluid.first{
                display: block;
                padding-left: 10px;
                padding-right: 10px;
                padding-top:50px;
                padding-bottom: 20px;
        }
        header,
        .adminbar-loaded header {
                top: 0;
                position: relative;

        }

        .nav-item:hover .submenu {
                display: none;
        }

        #menu{
                display:none;
                width:100%;
                top:0px;
                position:relative;
                background: #000000;
                text-align: left;
                background: #fff;
                margin-top:20px;

        }

        #menu .open_menu {
                position: absolute;
                top: 0px;
                right: 0;
                font-size: 1.4rem;
                height: 42px;
                width: 42px;
                z-index: 60;
                border: 0;
                background: transparent;
        }


        .submenu, .second_submenu{
                left:0px;
                width:100% !important;
                position: relative;
                padding: 0rem;
                top:0px;
        }

        #menu-toggler.message_show{
                top:100px !important;
        }

        #menu-toggler{
                width:48px;
                height: 48px;
                background: transparent;
                position: absolute;
                top:45px;
                right: 25px;
                z-index: 200;
                display: block;
                padding: 0px 0px;
        }

        #menu-toggler svg {
                fill: #494948;
                margin:0 auto;
        }

        header .container, #menu.show, #menu li,.nav-item .submenu.show, #logo img, #menu .open_menu,.sub .second_submenu.show,#logo_dark img{
                display: block
        }

        .open_menu{
                display:block;
                color: #494948;
        }

        .open_menu::after {
                content: "+";
        }

        .open_menu.open::after {
                content: "-";
        }

        #menu a,#menu .submenu a,.home #menu a{
                border-top: 1px solid #494948;
                padding: 10px 15px;
                color:#494948;
        }

        #menu .submenu a{
                color :#494948;
                padding:10px 35px;
        }

        main {
                margin-top:0px;
                display: block;
                width: 100%;
                clear: both
        }

        main.message_show{
                margin-top:0px;
        }

        #toplinks {
                position: absolute;
                top: 42px;
                left: 0;
                text-align: center;
                width: max-content;
                margin: 0 auto;
                left: 0;
                right: 0;
        }

        header .container-fluid.first {
                justify-content: flex-start;
        }



        #toplinks input {
                width: 60%;
                text-align: center
        }

        #menu ~ #menu-toggler .close_menu{
                display: none;
        }

        #menu.show ~ #menu-toggler .open_menu{
                display: none;
        }

        #menu.show ~ #menu-toggler .close_menu{
                display: block;
        }
}

@media screen and (max-width: 990px){

        .menu-collapser {
                top: 50px;
                z-index: 300;
        }
        .collapse-button:hover,
        .collapse-button:focus {
                background: none
        }
        .collapse-button .icon-bar {
                background-color: #000
        }

        #menu li,
        ul.slimmenu.collapsed li .sub-toggle {
                display: block;
                background: none
        }


        header .left {
                position: relative;
                z-index: 600;
                text-align: center;
        }
        ul.slimmenu li .sub-toggle > button {
                color: #fff
        }
        ul.slimmenu.collapsed li > ul {
                position: relative;
                width: 100%;
                background: none;
                left: 0;
        }
        #menu li li {
                margin: 0;
                background: none
        }
        #menu li li a {
                padding: 10px 15px 10px 40px
        }
        #menu li li li a {
                padding-left: 80px
        }
        #hero .caption {
                bottom: 20px
        }
        .news {
                width: 48%;
                margin-bottom: 25px
        }
        .news:nth-child(odd){
                margin-right: 4%
        }
        .news:nth-child(even){
                margin-right: 0
        }
        .jump:before {
                display: none
        }
        .city {
                margin: 0
        }


        .menu-collapser {
                top: 0;
                background: #02225d;
        }
        .collapse-button {
                top: 48%
        }
        .three:nth-child(1n) {
                margin-bottom: 30px
        }
        header .content {
                width: 100%;
                margin: 0 auto;
                display: block;
                padding: 0;
                float: none;
        }

        .grid-two,.grid-two.reverse{
                display: grid;
                grid-template-columns: minmax(0,1fr);
                grid-gap:1rem;
        }



        .grid-two .cell{
                display: grid;
                place-content:center flex-start;
                padding: 15px 0px;
        }

        .grid-two.reverse .image{
                display: grid;
                grid-column-start: unset;
                grid-row-start: unset;
        }

        #second-popup{
                max-width: 200px;
        }




}

@media screen and (max-width: 990px){
        .three:nth-child(1n),
        .left,
        .right,
        header .content,
        .yhteystiedot section .left,
        .yhteystiedot section .right,
        .service:nth-child(1n) .img,
        .service:nth-child(1n) .content,
        #stories .two,
        .story .img,
        #story .txt,
        #rent .left,
        #rent .right,
        .two {
                width: 100%;
                margin: 0 auto;
                display: block;
                padding: 0;
                float: none;
        }
        .yhteystiedot section .right {
                margin-top: 40px
        }
        .service .cell {
                display: block;
                height: auto;
        }
        .cell h2 {
                margin: 15px 0 10px
        }
        #stories .two,.awesome .three {
                padding: 20px 0;
                text-align: center;
        }
        #stories .title,.awesome .title{
                text-align: center;
        }

        #stories .img,
        #stories .txt,
        .story .txt {
                width: auto;
                padding: 0;
                background: none;
        }
        #story {
                text-align: center
        }
        #stories .img,
        #story .img {
                margin: 0 auto 15px
        }
        #rent .left {
                text-align: center;
        }
        #rent .two:nth-child(n) {
                margin: 0 1% 2%;
                width: 214px;
        }
        #rent .left {
                margin-top: 40px
        }
        #rent #mini {
                text-align: left
        }
        #rent .two:nth-child(n){
                display: inline-block;
                vertical-align: top;
                width: 32%;
                margin: 0 2% 20px 0;
        }
        #rent .two:nth-child(3n){
                margin-right: 0
        }
        #rent .two img {
                width: 100%
        }

        header .left {
                width: 90%;
                padding: 0 5%;
        }
}

@media screen and (max-width: 750px){

        #info li:nth-child(1n),
        #hero li:nth-child(1n){
                max-width: 300px;
                width: 90%;
                /*
                padding: 10px 5%;
                margin: 0 auto 5px;
                height: 25px;
                overflow: hidden;
                */
                margin-top:10px;
        }
        .team .img,
        .team .txt {
                width: 100%;
                text-align: center;
                margin: 0 0 15px;
                max-width: none;
        }
        h1, .title {
                font-size: 1.5em;
                word-wrap: break-word;
        }
        h2 {
                font-size: 1.2em
        }
        .city {
                text-align: center
        }
        #hero section.caption {
                position: relative;
                top: 0;
                left: 0;
                width: 100%;
                padding: 20px 5%;
                text-align: center;
        }
        #hero h1 {
                font-size: 2em
        }
        #hero .subcaption h1{
                font-size: 2rem;
        }
        .home #hero h1,
        .home #hero p {
                color: #000
        }

        .home #hero .nappi:hover{
                color:#fff;
        }


        #hero h3 {
                font-size: 2.4em;
                margin: 0;
        }
        #residence li:nth-child(n){
                padding: 15px 5%;
                width: 90%;
                margin: 0 0 6px;
        }
        #imageLinks {
                position: relative;
                top: 0;
                left: inherit;
                margin: 2rem auto;
                width: 100%;
                max-width: 100%;
                text-align: center
        }
        #imageLinks a {
                margin: 0 10px
        }

}

@media screen and (max-width: 710px){

        #contact,header .container.first{
                display: block;
        }
        /*
        header{
                min-height: 280px;
        }

        #toplinks{
                top:200px;
                margin: 0 auto;
                left:0;
                right:0;
        }*/

        /*#toplinks,#toplinks a, .search {
                display: block;
        }*/

        .search{
                display: flex;
                justify-content: flex-start;
                align-items: center;
        }
        .search{
                width:100%;
        }
        /*
        #toplinks a{
                margin-top:3px;
                width: 100%;
        }*/
        /*
        header {
                min-height: 445px;
        }*/
}


@media screen and (max-width: 650px){
        #rent .two:nth-child(n) {
                width: 48%;
                margin: 0 4% 15px 0;
        }

        #logo,#logo_dark{
                margin-bottom: 10px;
        }

        #rent .two:nth-child(even){
                margin-right: 0
        }

        #popup {
                width: 90%;
                padding: 20px 5%;
                left: 0;
                bottom: 0;
        }

}


@media screen and (max-width: 570px){

        #toplinks{
                top:90px;
        }
        /*
        #toplinks,#toplinks a, .search {
                display: block;
        }
        /*
        .search{
                display: flex;
                justify-content: center;
                align-items: center;
        }*/

        #toplinks a{
                margin-top:3px;
        }

        header {
                min-height: 155px;
        }

        #menu{
                padding-top:70px;
        }
}

