body, html {
    padding: 0;
    margin: 0;
    font-family: CoreSansDS35Regular, sans-serif;
    color: #2e2e2e;
}

.CoreSansDS35Regular { font-family: CoreSansDS35Regular, sans-serif; }

.CoreSansDS35RegularItalic { font-family: CoreSansDS35RegularItalic, sans-serif; }

.CoreSansDS55Bold { font-family: CoreSansDS55Bold, sans-serif; }

.CoreSansDS75Black { font-family: CoreSansDS75Black, sans-serif; }

body {
    background-color: #ffffff;
}

body a { color: #0ea3e4; }

body a:hover { color: #0ea3e4; }

/* staattinen ylävalikko: */
.wrap {
    /*padding-top: 87px;*/
    margin-top: 87px;
    /*padding-top: 50px;*/
    /*   box-shadow: inset 2px 7px 10px -3px #dcdcdc;*/
}

body.home.page .wrap {
    padding-top: 50px;
}

/* HUOM, sama breakpoint kuin backendissä */
@media (max-width: 1200px ) {
    .wrap {
        padding-top: 0;
        margin-top: 0;
        -webkit-box-shadow: none;
        box-shadow: none;
    }
}

h1, h2, h3, h4, h5, h6 { margin: 0; padding: 0; color: #0ea3e4; }

h1 {
    font-size: 48px;
    line-height: 1.2em;
    margin-bottom: 0.4em;
    text-transform: uppercase;
}

h2 {
    font-size: 30px;
    margin: 0.4em 0;
    line-height: 1.2em;
    text-transform: uppercase;
    font-weight: normal;
    font-family: CoreSansDS35Regular, sans-serif;
}

h3 {
    font-size: 24px;
    line-height: 1.2em;
    margin-bottom: 0.4em;
    text-transform: uppercase;
    color: #000000;
    font-weight: bold;
    font-family: CoreSansDS55Bold, sans-serif;
}

h4 {
    font-size: 24px;
    line-height: 1.2em;
    font-weight: bold;
    font-family: CoreSansDS55Bold, sans-serif;
    text-transform: uppercase;
    color: #000000;
    margin: 1em 0;
}

h5 { }

h6 { }

/* sivukohtaiasia poikkeuksia */
/* 22.1. */
body.kavijoille .valkoinenTausta h3,
body.medialle .valkoinenTausta h3,
body.medialle .valkoinenTausta h4,
.turun-messukeskus.mediapankki h4 {
    font-weight: normal;
    font-family: CoreSansDS35Regular, sans-serif;
}

body.medialle .valkoinenTausta h4,
.turun-messukeskus.mediapankki h4 { font-size: 20px; }

/* 22.1.*/
h3, h2 { /* width:100%; float: left;*/ }

@media (min-width: 480px) and (max-width: 767px) {

    body h1 {
        font-size: 30px; /* 40px;*/
    }

    body h2 {
        font-size: 26px;
    }

}

@media (max-width: 480px) {
    h1 {
        font-size: 35px;
    }

    body h2 {
        font-size: 26px;
    }

}

@media (max-width: 430px) {
    h1 {
        font-size: 22px;
    }

    body h2 {
        font-size: 20px;
    }

}

p {
    font-size: 16px;
    margin: 0 0 20px 0;
}

/* 22.1. */
ul li { font-size: 16px; }

.korkeus-0 {
    height: 0;
    overflow: visible;
}

.otsikkopiste {
    position: relative;
    z-index: 90;
    display: block;
    float: left;
    height: 1px;
    width: 1px;
    overflow: visible;
}

.pystyotsikko {
    font-weight: bold;
    font-family: CoreSansDS55Bold, sans-serif;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-transform: uppercase;
    display: block;
    float: left;
    width: auto;
    background-color: #009ee2;
    color: #ffffff;
    font-size: 30px;
    line-height: 1em;
    padding: 16px 24px;
    margin: 0;
    position: absolute;
    bottom: 0;
    right: 0;
    -webkit-transform-origin: right bottom; /* muut selaimet! */
    transform-origin: right bottom; /* muut selaimet! */
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    white-space: nowrap;
}

@media (max-width: 1300px) and (min-width: 1200px) {
    .otsikkopiste { height: auto; width: auto; }

    .pystyotsikko {
        -webkit-transform: none; position: relative;
        transform: none; position: relative;
    }
}

@media (max-width: 1110px) and (min-width: 992px) {
    .otsikkopiste { height: auto; width: auto; }

    .pystyotsikko {
        -webkit-transform: none; position: relative;
        transform: none; position: relative;
    }
}

@media (max-width: 892px) {
    .otsikkopiste { height: auto; width: auto; }

    .pystyotsikko {
        -webkit-transform: none; position: relative;
        transform: none; position: relative;
    }
}

/* tapahtuma-gridin breakpoint */
@media (max-width: 600px) {
    .otsikkopiste { margin-left: 0; }
}

@media (max-width: 480px) {
    .pystyotsikko {
        white-space: normal;
    }
}

/*  deskari */
@media (min-width: 1001px) {
    .otsikkopiste { }

    .pystyotsikko { }
}

/* tabletti */
@media (min-width: 600px) and (max-width: 1000px) {
    .otsikkopiste { }

    .pystyotsikko { }
}

/* mobi */
@media (max-width: 600px) {

}

.varjostusAlas { -webkit-box-shadow: inset 2px -7px 10px -3px #dcdcdc; box-shadow: inset 2px -7px 10px -3px #dcdcdc; }

.varjostusYlos { -webkit-box-shadow: inset 2px 7px 10px -3px #dcdcdc; box-shadow: inset 2px 7px 10px -3px #dcdcdc; }

.sininenLiuku {
    background: #0d94ce; /* Old browsers */ /* FF3.6-15 */ /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(45deg, #0d94ce 0%, #24abe5 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0d94ce', endColorstr='#24abe5', GradientType=1); /* IE6-9 fallback on horizontal gradient */
}

/* ETUSIVU */

#ylaSisaltoWrapper {
    background-color: #ffffff;
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
    /*  padding-bottom: 70px;*/
}

#headerKuva {
    padding: 0;
    overflow: hidden;
}
/*@media (min-width: 1200px) {
	#headerKuva {
	margin-top: -87px;
	}

}*/

#headerKuva > .row { margin: 0; }

#headKuva {
    padding-left: 0;
    padding-right: 0;
}

/* HUOM, sama breakpoint kuin backendissä */
@media (max-width: 1100px ) {
}

#headerKuva img {
    width: 100%;
    height: auto;
    display: block;
    float: left;
    background-color: transparent;
}

.sininenLinkkiNappi,
.valkoinenLinkkiNappi {
    clear: both;
    float: left;
    width: auto;
    display: block;
    margin: 20px auto 20px auto;
    padding: 20px 65px;
    color: #ffffff;
    text-transform: uppercase;
    background-color: #009ee2;
    font-size: 16px;
    font-weight: bold;
    font-family: CoreSansDS55Bold, sans-serif;
    line-height: 1em;
}

a.sininenLinkkiNappi:focus,
a.sininenLinkkiNappi:active,
a.sininenLinkkiNappi:hover,
a.sininenLinkkiNappi {
    color: #ffffff;
    text-decoration: none;
}

.sininenLinkkiButton,
.valkoinenLinkkiButton {
    clear: both;
    width: auto;
    display: inline-block;
    /*  margin: 20px auto 20px auto;*/
    padding: 20px 65px;
    color: #ffffff;
    text-transform: uppercase;
    background-color: #009ee2;
    font-size: 16px;
    font-weight: bold;
    font-family: CoreSansDS55Bold, sans-serif;
    line-height: 1em;
}

a.sininenLinkkiButton:focus,
a.sininenLinkkiButton:active,
a.sininenLinkkiButton:hover,
a.sininenLinkkiButton {
    color: #ffffff;
    text-decoration: none;
}

.valkoinenLinkkiNappi {
    background-color: #ffffff;
    color: #009ee2;
}

a.valkoinenLinkkiNappi:focus,
a.valkoinenLinkkiNappi:active,
a.valkoinenLinkkiNappi:hover,
a.valkoinenLinkkiNappi {
    color: #009ee2;
    text-decoration: none;
}

.jattinappi,
.sininenLinkkiNappi.jattinappi {
    width: 100%;
    max-width: 100%;
    padding: 1em 0;
    font-size: 24px;
    line-height: 1.2em;
    text-align: center;
}

.keskitaNappi {
    text-align: center;
    width: 100%;
    height: auto;
    float: left;
    clear: both;
}

.keskitaNappi > .sininenLinkkiNappi,
.keskitaNappi > .valkoinenLinkkiNappi {
    display: inline-block;
    float: none;
}

/* etusivun ingressi */

#etusivu-ingres {
    text-align: center;
    background-color: #ffffff;
    padding-top: 60px;
    padding-bottom: 60px;
    font-size: 18px;
    font-weight: bold;
    font-family: CoreSansDS55Bold, sans-serif;
}

#etusivu-ingres h3 {
    text-transform: uppercase;
    font-size: 2.5em;
    margin-bottom: 0.5em;
    font-weight: bold;
    font-family: CoreSansDS55Bold, sans-serif;
}

#etusivu-ingres p {
    font-size: 1em;
    margin: 0 0 0.5em 0;

    /*  text-transform: uppercase;*/
}

@media (max-width: 480px) {
    #etusivu-ingres {
        font-size: 13px;
    }
}

/* uutiset ja ajankohtiaset */

#ajankohtaisetUutiset {
    font-size: 14px;
    padding-top: 100px;
    padding-bottom: 10px;
}

#uutistenRivi {
    margin-bottom: 30px;
}

@media screen and (max-width: 576px) {
    #uutistenRivi {
        margin-bottom: 30px;
        margin-top: 20px;
    }

    .wall-outer .dcsns-toolbar { margin-top: 20px; }

    .dcwss.dc-wall .stream li {
        width: 100% !important;
    }
}

.uutinen {
    font-size: 1em;
    margin-bottom: 35px;
}

@media (min-width: 892px ) {
    .uutinen:first-of-type { padding-left: 25px; }
}

.uutinen-pvm { }

.uutinen-tag { }

.uutinen-otsikko {
    font-size: 1.3em;
    margin: 0.3em 0 0.8em 0;
    line-height: 1em;
}

.uutinen a {
    color: #0ea3e4;
}

.uutinen a.lueLisaa {
    font-weight: bold;
    font-family: CoreSansDS55Bold, sans-serif;
    font-size: 1.1em;
}

/* SOSIAALINEN MEDIA */

#someWrapper {
    padding: 0;
    background-color: #efefef;
}

#someWrapper::before { }

#sosiaalinenMedia {
    background-color: transparent;
    position: relative;
    padding-top: 40px;
    padding-bottom: 40px;
    z-index: 10;
}

#someKaato {
    position: relative;
    z-index: 11;
}

#someLinkit {
    padding-top: 30px;
}

#someLinkit .col-xs-12 p {
    text-align: center;
    font-size: 14px;
    font-weight: bold;
    font-family: CoreSansDS55Bold, sans-serif;
    text-transform: uppercase;
}

/* SISÄSIVU(T) */

#sisasivu-sisaltoWrapper {
    background-size: 100% auto;
    background-position: center top;
    background-repeat: no-repeat;
    background-color: #ffffff;
    padding-top: 50px;
    padding-bottom: 20px; /* 80px;*/
}

@media (max-width: 600px) {
    #sisasivu-sisaltoWrapper { padding-top: 0; }
}

#sisaltoVasenPalsta {
    background-color: transparent;
    padding-left: 0;
    overflow: visible;
    position: relative;
    z-index: 10;
}

@media (max-width: 992px) {
    #sisaltoVasenPalsta { padding-left: 50px; }
}

@media (max-width: 600px) {
    #sisaltoVasenPalsta {
        padding-left: 15px;
        padding-top: 15px;
    }
}

#sisaltoKeskus {
}

#sisaltoKeskiPalsta {
    background-color: transparent;
    position: relative;
    z-index: 11;
}

#sisaltoOikeaPalsta {
    background-color: transparent;
    position: relative;
    z-index: 10;
}

#sisaltoKeskiPalsta {
    width: calc(100% - 170px);
    max-width: 800px;
    height: auto;
    float: left;
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 15px 0 0;
    overflow: hidden; /* fonttien koot tabletilla & mobissa */
}

#sisaltoOikeaPalsta {
    width: 170px;
    display: block;
    float: left;
    height: auto;
}
#sisaltoKeskiPalsta img.alignleft {float: left; margin: 1em 1em 1em 0em;}#sisaltoKeskiPalsta img.alignright {float: right; margin: 1em 0em 1em 1em;}

#sivuvalikko {
    margin: 0;
    padding: 0;
    list-style: none;
}

#sivuvalikko li {
    display: block;
    float: left;
    width: auto;
    height: auto;
    margin-bottom: 10px;
    clear: both;
}

#sivuvalikko li a {
    display: block;
    float: left;
    height: auto;
    width: auto;
    max-width: 100%;
    font-weight: bold;
    font-family: CoreSansDS55Bold, sans-serif;
    font-size: 18px;
    line-height: 1em;
    padding: 1.1em;
    color: #ffffff;
    text-transform: uppercase;
    background-color: #0ea3e4;
}

#sivuvalikko li a:hover { text-decoration: none; }

#sivuvalikko li.active a { background-color: #2b669a; }

/* 22.1 */
#sivuvalikko li a.green,
#sivuvalikko li.last { margin-top: 20px; }

#sivuvalikko li.last a { background-color: #40a435; }

.showLomake { cursor: pointer; }

/* sivuvalikon mediat */

@media (max-width: 1500px) {
    #sivuvalikko li a { font-size: 16px; }
}

@media (max-width: 1320px) {
    #sivuvalikko li a { font-size: 14px; }
}

@media (max-width: 1100px) {
    #sivuvalikko li a { font-size: 12px; padding: 0.8em; }
}

@media (max-width: 992px) {

    #sivuvalikko li {
        clear: none;
        margin-right: 1em;
    }

    /* 22.1 */
    #sivuvalikko li a.green,
    #sivuvalikko li.last { margin-top: 0; }
}

#sisaltoKeskiPalsta img {
    /* vaikuttaa myös gallerian pikkukuviin */
    max-width: 100%;
    height: auto;
}

.valkoinenTausta {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    float: left;
    width: 100%;
    padding: 35px 35px 0px 35px;
    height: auto;
    background-color: #ffffff;
}

@media (max-width: 600px) {
    /*.valkoinenTausta { padding: 35px 0 35px 0; }*/
    .valkoinenTausta { padding: 35px 15px 35px 15px; }

}

.valkoinenTausta > p:first-of-type,
p.ingressi,
.ingressi {
    font-weight: bold;
    font-family: CoreSansDS55Bold, sans-serif;
    /*  text-transform: uppercase;*/
    font-size: 18px;
}

.kuvateksti {
    display: block;
    float: left;
    width: 100%;
    height: auto;
    font-size: 14px;
    text-align: center;
    font-style: italic;
    font-family: CoreSansDS35RegularItalic, sans-serif;
}

.youtubeUpotus {
    position: relative;
    display: block;
    float: left;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    background-color: transparent;
    height: auto;
    margin: 20px 0;
    z-index: 10;
}

.youtubeUpotus > .entry-content-asset {
    position: relative;
    display: block;
    float: left;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    padding-bottom: 56.3%;
    background-color: transparent;
    height: auto;
}

.youtubeUpotus > .entry-content-asset > iframe {
    position: absolute;
    z-index: 20;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
}

#nostoLinkit {
    display: block;
    float: left;
    width: 100%;
    height: auto;
    margin-bottom: 40px;
}

#nostoLinkit .sininenLinkkiNappi.sininenLiuku {
    padding-left: 0;
    padding-right: 0;
    width: 48%; /*49 */
    text-align: center;
    clear: none;
    float: left;
    margin-left: 1%;
    margin-right: 1%;
}

@media (max-width: 1000px) {
    #nostoLinkit .sininenLinkkiNappi.sininenLiuku {
        float: left;
        clear: both;
        width: 100%;
        max-width: 100%;
        margin: 10px auto 10px auto;
    }

    #nostoLinkit .sininenLinkkiNappi.sininenLiuku:nth-of-type(odd) { float: left; }
}

#tapahtumanLiputJaAuki {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    float: left;
    width: 100%;
    padding: 0px 35px 35px;
    height: auto;
    background-color: #ffffff;
}

@media (max-width: 992px) {
    #tapahtumanLiputJaAuki { padding: 20px 10px; }
}

@media (max-width: 600px) {
    #tapahtumanLiputJaAuki { padding: 20px 0; }
}

#tapahtumanLiputTeksti {
    padding-bottom: 30px;
}

#tapahtumanLiputTeksti h4 { font-size: 18px; }

#tapahtumanLiputTeksti p,
#tapahtumanLiputTeksti p.ingressi {
    font-weight: bold;
    font-family: CoreSansDS55Bold, sans-serif;
    text-transform: uppercase;
    font-size: 18px;
}

#tapahtumanAukioloajat { margin-bottom: 30px; }

/*#tapahtumanAukioloajat p {
    margin-top: 20px;
    float: left;
}*/

#tapahtumanAukioloajat p.tapahtumanAukioloaika,
p.tapahtumanAukioloaika,
.tapahtumanAukioloaika {
    display: block;
    float: left;
    width: 100%;
    height: auto;
    clear: both;
    font-weight: bold;
    font-family: CoreSansDS55Bold, sans-serif;
    font-size: 18px;
    line-height: 2em;
    color: #343434;
    padding: 0;
    margin: 0;
}

/*#tapahtumanAukioloajat ul { clear: left; }*/
#tapahtumanAukioloajat ul {
    margin: 10px 0px 0px 0px;
    padding: 0;
    list-style: none;
}

#tapahtumanLiput ul {
    margin: 0; padding: 0;
    list-style: none;
}

#tapahtumanLiput p {
    margin: 0 0 10px 0;
}

#tapahtumanAukioloajat strong { font-size: 16px; }

#tapahtumanLiput { }

/*#tapahtumanHuom { margin-top: 25px; }*/
#tapahtumanHuom .sininenLinkkiNappi {
    margin: 0px auto 20px auto;
    padding: 20px 20px 15px 20px;
}

#tapahtumanHuom strong {
    color: #0ea3e4;
}

#tapahtumanHuom p { font-size: 14px; }

/* oikean palstan säädöt */
#aikataulu-yhteys,
#aikataulu-osta {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    float: left;
    width: 100%;
    max-width: 170px;
    height: auto;
}

#aikataulu-yhteys-vasen { display: none; }

#sisaltoOikeaPalsta {
}

.aikataulu {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    float: left;
    width: 100%;
    padding: 40px 15px;
    max-width: 170px;
    height: auto;
    background-color: #0e648a;
    color: #ffffff;
    font-weight: bold;
    font-family: CoreSansDS55Bold, sans-serif;
    text-align: center;
}

.aikataulu-pv,
.aikataulu-kk,
.aikataulu-vuosi {
    display: block;
    float: left;
    clear: both;
    width: 100%;
    height: auto;
    line-height: 1.1em;
}

.aikataulu-pv { font-size: 35px; }

.aikataulu-kk { font-size: 24px; }

.aikataulu-vuosi {
    font-size: 35px;
    line-height: 1.0em;
    padding-top: 0.3em;
    margin-top: 0.3em;
    border-top: 4px solid #ffffff;
}

#aikataulu-osta .sininenLinkkiNappi.sininenLiuku {
    width: 100%;
    text-align: center;
    max-width: 100%;
    padding: 20px 0;
}

.soitaMyyntiin {
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    float: left;
    width: 100%;
    padding: 20px;
    max-width: 170px;
    height: auto;
    background-color: #0e648a;
    color: #ffffff;
    font-weight: bold;
    font-family: CoreSansDS55Bold, sans-serif;
    text-align: center;
    margin-bottom: 20px;
}

.soitaMyyntiin p {
    margin-top: 20px;
    margin-bottom: 0;
    font-size: 16px;
    line-height: 1.4em;
    text-transform: uppercase;
}

.soitaMyyntiin a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}

.yhteys {
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    float: left;
    width: 100%;
    max-width: 170px;
    height: auto;
    background-color: #ffffff;
    color: #009ee2;
    text-align: center;
    margin-bottom: 30px;
}

/* tel-linkki */
.yhteys-puhelin {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}

.no-touch .yhteys-puhelin {
    display: none;
}

.yhteys-otsikko {
    display: block;
    float: left;
    width: 100%;
    height: auto;
    font-size: 18px;
    font-weight: bold;
    font-family: CoreSansDS55Bold, sans-serif;
    color: #009ee2;
    text-transform: uppercase;
    padding: 16px 0;
}

.yhteys-kuva {
    display: block;
    float: left;
    width: 100%;
    height: auto;
}

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

.yhteys-yhteys {
    display: block;
    float: left;
    width: 100%;
    height: auto;
    padding: 16px 0;
    font-size: 14px;
    color: #000000;
}

.yhteys-yhteys a {
    font-weight: normal;
    font-family: CoreSansDS35Regular, sans-serif;
    color: #000;
    text-decoration: none;
}

/*  tapahtuman sisällön breakpointit */
@media (max-width: 600px) {
    #sisaltoKeskiPalsta {
        width: 100%;
        max-width: 100%;
        padding: 0;
    }

    #sisaltoOikeaPalsta {
        width: 100%;
        clear: both;
        margin-top: 30px;
        text-align: center;
        float: left;
        margin-bottom: 30px;
    }

    #aikataulu-yhteys { display: none; }

    #aikataulu-yhteys-vasen {
        float: right;
        display: block;
        font-size: 12px;
    }

    #aikataulu-yhteys-vasen .aikataulu-pv,
    #aikataulu-yhteys-vasen .aikataulu-kk,
    #aikataulu-yhteys-vasen .aikataulu-vuosi { font-size: 16px }

    #aikataulu-yhteys-vasen .aikataulu-vuosi { border-width: 2px; }

    #aikataulu-yhteys-vasen .aikataulu { padding: 10px; }

    #aikataulu-yhteys-vasen .aikataulu br { display: none; }

    #sivuvalikko {
        display: block;
        float: left;
        width: calc(100% - 130px);
    }

    /*
        .yhteys {
            margin: 0 10px;
            display: inline-block;
            float: none;
        }
    */
    #aikataulu-osta {
        display: inline-block;
        float: none;
        margin: 0 10px;
    }

}

/* SISÄNOSTOT */

/* näyteilleasettajille: infografiikka laatikko */

#isoFiilisnostoWrapper {
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
    background-color: #0ea3e4;
    padding-top: 60px;
    padding-bottom: 60px;
    text-align: center;
}

.nostoFakta {
    display: inline-block;
    float: none;
    width: 40%;
    overflow: hidden;
    height: auto;
    color: #ffffff;
    background-color: transparent;
    font-family: CoreSansDS55Bold, sans-serif;
    font-size: 24px;
}

.nostoFakta h1,
.nostoFakta h2,
.nostoFakta h3 {
    color: #ffffff;
    font-size: 1.5em;
}

.nostoFakta p {
    font-size: 1em;
    font-weight: normal;
    font-family: CoreSansDS35Regular, sans-serif;
}

.nostoFakta-arvo,
.nostoFakta-muuttuja {
    display: block;
    float: left;
    width: 100%;
    margin-bottom: 10px;
    line-height: 1;
}

.nostoFakta-arvo {
    font-size: 72px;
}

.nostoFakta-muuttuja {
    font-size: 30px;
}

@media (max-width: 767px) {

    .nostoFakta {
        clear: both;
        width: 100%;
        margin-bottom: 20px;
    }

    .nostoFakta:last-of-type { margin-bottom: 0; }
}

#sisasivu-nostojenWrapper {
    position: relative;
    margin-top: 30px;
}

#sisasivu-nostojenRivi { }

@media (max-width: 992px) and (min-width: 767px) {

    #sisasivu-nostojenWrapper .sisaNostoKortti .tapahtumakortti-teksti { font-size: 12px; }

}

@media (max-width: 767px) {

    #sisasivu-nostojenRivi { text-align: center; }

    #sisasivu-nostojenWrapper .sisaNostoKortti {
        display: inline-block;
        float: none;
        width: 46%;
        margin: 1%;
    }

    #sisasivu-nostojenWrapper .sisaNostoKortti .tapahtumakortti-teksti { width: 100%; text-align: left; }

}

@media (max-width: 600px) {

    #sisasivu-nostojenWrapper .sisaNostoKortti {
        clear: both;
        width: 100%;
        margin: 0 0 10px 0;
    }

    #sisasivu-nostojenWrapper .sisaNostoKortti .tapahtumakortti-teksti { width: 80%; text-align: left; }
}

@media (max-width: 480px) {

    #sisasivu-nostojenWrapper .sisaNostoKortti .tapahtumakortti-teksti { font-size: 11px; }
}

.sisaNostoKortti {
    position: relative;
    display: block;
    float: left;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 32%;
    height: auto;
}

.sisaNostoKortti:nth-of-type(2) {
    margin: 0 2%;
}

/* ohjelma-alasivuilla käytettävät muokkaukset nostolaatikoihin  */
/* HUOM BODY:N LUOKKA JULKKARISTA */
body.views-template-ohjelma .sisaNostoKortti,
body.ohjelma-templaten-luokka .sisaNostoKortti { width: 46%; }

/* HUOM BODY:N LUOKKA JULKKARISTA */
body.views-template-ohjelma .sisaNostoKortti:nth-of-type(2),
body.ohjelma-templaten-luokka .sisaNostoKortti:nth-of-type(2) { margin: 0; float: right; }

.sisaNostoKorttiSisus {
    display: block;
    float: left;
    width: 100%;
    padding-bottom: 100%;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    background-color: transparent;
}

#nostoLogoRivi {
    padding-top: 25px;
    padding-bottom: 15px;
    text-align: center;
}

.nostoLogo {
    position: relative;
    display: inline-block;
    float: none;
    width: 200px;
    height: 100px;
    margin: 15px 15px 0 0;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    background-color: transparent;
}

.nostoLogo { }

.nostoLogo a {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}

/* SISÄSIVU(T) PÄÄTTYY */

/*  PERUSSIVU ALKAA */
/* HUOM BODY:N LUOKKA JULKKARISTA */
body.perussivun-templaten-luokka { }

/* HUOM BODY:N LUOKKA JULKKARISTA */
/* lisää säätöjä mm. tabletti & mobi leveyksiin  */
body.views-template-yhteystiedot #sisaltoKeskiPalsta,
body.views-template-perussivu #sisaltoKeskiPalsta,
body.perussivun-templaten-luokka #sisaltoKeskiPalsta {
    top: -180px;
}

@media (max-width: 992px) {
    /* HUOM BODY:N LUOKKA JULKKARISTA */
    body.views-template-yhteystiedot #sisaltoKeskiPalsta,
    body.views-template-perussivu #sisaltoKeskiPalsta,
    body.perussivun-templaten-luokka #sisaltoKeskiPalsta {
        top: 0;
    }

}

/*  PERUSSIVU PÄÄTTYY */

/* ohjelma-sivu  */

.valkoinenTausta .sisaNostoKortti { width: 48%; }

@media (max-width: 1100px) {
    .valkoinenTausta .sisaNostoKortti { width: 100%; margin: 0 0 20px 0; }
}

#ohjelmaAsettajaListaus {
}

#naytteilleAsettajaListaus,
.ohjelmanumerolistaus {
    display: block;
    float: left;
    width: 100%;
    height: auto;
    margin-top: 30px;
}

#hakuJaJarjestys + #naytteilleAsettajaListaus { margin-top: 0; }

.avattavaKortti {
    font-size: 16px;
    background-color: #f1f1f1;
    display: block;
    float: left;
    height: auto;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 10px;
    margin-bottom: 16px;
}

.avattavaKortti.piilossa { display: none; }

.otsikkoRivi {
}

.logonPaikka {
	position: relative;
}
.logonPaikka a {position: absolute; top: 0; left: 0; width: 100%; height: 100%;}

.aikaPaikkaOtsikko { }

.aikaJaPaikka {
    font-size: 1em;
    text-transform: capitalize;
}

.aikaJaPaikka::after {
    content: '';
    display: table;
    clear: both;
    width: 100%;
}

.otsikko {
    font-size: 1.5em;
    font-weight: bold;
    /*   font-family: CoreSansDS55Bold, sans-serif;*/
    line-height: 1;
}

.kortinAvaaja {
}

.otsikkoRivi {
    display: table;
    float: left;
    width: 100%;
}

.logonPaikka {
    /*display: none;*/
	display: table-cell;
    float: none;
    background-size: contain;
    background-position: left center;
    background-repeat: no-repeat;
    width: 110px;
    padding-bottom: 100px;
}

/*.logonPaikka[data-tausta$=".png"],
.logonPaikka[data-tausta$=".jpg"],
.logonPaikka[data-tausta$=".gif"] {
    display: table-cell;
}

.logonPaikka[data-tausta$=".png"] + .aikaPaikkaOtsikko,
.logonPaikka[data-tausta$=".jpg"] + .aikaPaikkaOtsikko,
.logonPaikka[data-tausta$=".gif"] + .aikaPaikkaOtsikko {
    padding-left: 10px;
}*/

#ohjelmaAsettajaListaus .otsikkoRivi img,
#ohjelmaAsettajaListaus .otsikkoRivi > .logonPaikka img {
    display: inline-block;
    float: left;
    width: auto;
    height: auto;
    max-width: 200px;
}

.aikaPaikkaOtsikko {
    display: table-cell;
    float: none;
    vertical-align: middle;
    text-align: left;
	padding-left: 10px;
}

.kortinAvaaja {
    display: table-cell;
    float: none;
    text-align: right;
    vertical-align: top;
    width: 70px;
    padding-right: 50px;
    cursor: pointer;
    font-size: 1em;
    background-size: 30px auto;
    background-position: right 3px;
    background-repeat: no-repeat;
    background-image: url("../kuvat/ikonit-yms/korttiAuki.png");
}

.kortinAvaajaDummy {
    display: table-cell;
    float: none;
    text-align: right;
    vertical-align: top;
    width: 70px;
    padding-right: 50px;
}

.kortinAvaaja::before {
    content: 'lisätietoja';
}

html[lang="en-US"] .kortinAvaaja::before { content: 'more information'; }

.avattavaKortti.auki { }

.avattavaKortti.auki .kortinAvaaja::before {
    content: 'sulje';
}

html[lang="en-US"] .avattavaKortti.auki .kortinAvaaja::before { content: 'close'; }

.avattavaKortti.auki .kortinAvaaja { background-image: url("../kuvat/ikonit-yms/korttiKiinni.png") }

.avattavaKortti.tyhja .kortinAvaaja { display: none; }

.avattavaKortti.auki .kortinTekstiSisalto {
    padding-top: 10px;
    max-height: 500px;
}
.avattavaKortti.auki .kortinTekstiSisalto p {
   /* width: 70%; */
}

.kortinTekstiSisalto {
    display: block;
    float: left;
    width: 100%;
    height: auto;
    max-height: 0;
    font-size: 1em;
    overflow: hidden;
}

@media print {
    .kortinTekstiSisalto {
        max-height: 100000000px;
    }

    .collapse.navbar-collapse, #shiftnav-toggle-main {
        display: none;
    }
}

.kuvaus {
    display: block;
    float: left;
    height: auto;
    font-size: 1em;
}

.kuvaus-paikka {
    font-weight: bold;
    clear: both;
    margin-top: 1em;
}

.osoitteet {
    position: relative;
    display: block;
    float: right;
    width: 30%;
    font-size: 0.9em;
    height: auto;
    max-height: 1000px;
    padding-left: 10px;
}

.oletusSisalto {
    clear:both;
    padding-top: 10px;
}
.oletusSisalto p {
    margin: 0 0 10px 0;
}

.osoitteet-fullwidth {
    position: relative;
    display: block;
   /* font-size: 0.9em;*/
    height: auto;
    max-height: 1000px;
    margin-top: -10px;
}
.osoitteet-fullwidth p {
    padding: 0;
    margin: 0;
}

.osoitteet p {
    padding: 0;
    margin: 0;
    line-height: 1.4em;
    font-size: inherit;
}

@media (max-width: 600px) {
    .osoitteet { width: 100%; clear: both; padding-left: 0; }

    .kortinTekstiSisalto > p {
        float: left;
        margin-top: 10px;
    }

}

.k-katuosoite { }

.k-postinroKaupunki { }

.k-puh { }

.k-www { }

.k-email { }

.sisaltoRivi { }

/* ohjelma-sivu päättuu */

/* NÄYTTEILLEASETTAJAT-LISTAUS -SIVU */

.aakkonen { }

h4.aakkonen {
    float: left;
    display: block;
    width: 100%;
    height: auto;
    margin: 30px 0 15px 0;
}

h4.aakkonen.piilossa { display: none; }

/* YHTEYSTIEDOT */

body.yhteystiedot h3 { margin-top: 30px; }

.yhteystietoKortti {
    overflow: hidden;
    margin-bottom: 30px;
}

.yhteystietoKortti .nimi,
.yhteystietoKortti .titteli,
.yhteystietoKortti .puh,
.yhteystietoKortti .email {
    display: block;
    float: left;
    width: 100%;
    height: auto;
    line-height: 1.2em;
    margin: 8px 0 0 0;
    font-size: 1em;
    text-align: center;
}

.yhteystietoKortti .nimi { font-weight: bold; }

.yhteystietoKortti .titteli { }

.yhteystietoKortti .puh { }

.yhteystietoKortti .email { white-space: normal; }

@media (min-width: 1200px) {

    .yhteystietoKortti:nth-of-type(4n+1) { clear: left; }

}

@media (min-width: 767px) and (max-width: 1200px) {

    .yhteystietoKortti:nth-of-type(3n+1) { clear: left; }

}

/* /YHTEYSTIEDOT */

/* footer */
#footer {
    background-color: #ffffff;
    font-size: 16px;
    margin-bottom: 30px;
    padding-top: 60px;
}

.footer-logo {
    margin: 0 auto 30px auto;
}

.footer-keski {
    display: block;
}

.footer-keski-nostolinkit {
    /*   display: table;*/
    display: block;
    float: left;
    height: auto;
    width: 100%;
    margin-bottom: 30px;
}

.footer-keski-nostolinkit > div {
    /*display: table-cell;
    float: none;
    */
    display: block;
    float: left;
    margin-right: 1em;
    width: auto;
    height: auto;
    vertical-align: middle;
    text-align: center;
    padding-top: 0;
    padding-bottom: 0.4em;
}

.footer-keski-nostolinkit > div:first-of-type { text-align: left; }

.footer-keski-nostolinkit > div a {
    display: block;
    float: left;
    height: auto;
    width: 100%;
    text-transform: uppercase;
    font-weight: bold;
    font-family: CoreSansDS55Bold, sans-serif;
}

@media (max-width: 1100px) {

    .footer-keski-nostolinkit {
        display: block;
    }

    .footer-keski-nostolinkit > div {
        display: block;
        float: left;
        /*  padding-right: 1em;*/
        margin-right: 1em;
    }

}

@media (max-width: 480px) {
    .footer-keski-nostolinkit > div {
        clear: both;
        width: 100%;
        text-align: center;
    }

    .footer-keski-nostolinkit > div:first-of-type { text-align: center; }
}

.footer-some {
    display: block;
    float: left;
    width: 100%;
    height: auto;
    text-align: center;
}

.footer-some a {
    display: inline-block;
    width: auto;
    height: auto;
    padding: 0 3px;
}

.footer-some a img {
    display: block;
    float: left;
    height: auto;
}

@media (min-width: 767px ) {
    #footer .footer-some a img {
        width: 30px;
    }
}

.footer-copy {
    font-size: 12px;
    text-align: center;
    padding-top: 30px;
}

/* LAAJENNUKSET */

.max-1170 {
    max-width: 1170px;
}

.col-xxs-12 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

@media (max-width: 480px) {
    .col-xxs-12 {
        width: 100%;
        padding-left: 15px;
        padding-right: 15px;
    }

}

/* ylävalikon logo */

/* logoa seuraava "etusivu"-teksti piiloon */

nav.ubermenu img[src$="logo.png"] + span { display: none !important; }

/*
ul.ubermenu-nav > li.ubermenu-item > a { margin-top: 16px !important; }
ul.ubermenu-nav > li.ubermenu-item:first-of-type > a { margin-top: 0 !important; }
*/

/* ylävalikkon asemointi muut elementit sekä */
ul.ubermenu-nav > li.ubermenu-item > a { padding-bottom: 30px !important; }

ul.ubermenu-nav > li.ubermenu-item:first-of-type > a { padding-bottom: 10px !important; }

.ubermenu-sub-indicators .ubermenu-has-submenu-drop > .ubermenu-target:after { top: 30% !important; }

ul.ubermenu-nav > li.ubermenu-item:focus,
ul.ubermenu-nav > li.ubermenu-item > a:focus { outline: none; }

ul.ubermenu-nav { z-index: 9000 !important; }

ul.ubermenu-nav li a {
    text-transform: uppercase !important;
    font-size: 14px !important;
    font-weight: bold;
}

/* alatasojen padding */
.ubermenu .ubermenu-target { line-height: 1em !important; padding: 0.7em 20px !important; }

/*ul.ubermenu-submenu.ubermenu-submenu-id-100.ubermenu-submenu-type-auto.ubermenu-submenu-type-mega.ubermenu-submenu-drop.ubermenu-submenu-align-full_width {*/
ul.ubermenu-submenu.ubermenu-submenu-type-auto.ubermenu-submenu-type-mega.ubermenu-submenu-drop.ubermenu-submenu-align-full_width {
    /* säädäd nämä backendistä */
    width: 70% !important;
    margin-left: 15% !important;
    border-color: #0ea3e4 !important;
}

/*extranet linkki  */

/*li.ubermenu.ubermenu-main .ubermenu-item-level-0 > .ubermenu-target.extranet a {*/
ul.ubermenu-nav li.extranet a {
    /*    background-color: #0d94ce !important;
        background: #0d94ce !important;*/
    position: relative !important;
    background: transparent !important;
    overflow: visible !important;
    color: #ffffff !important;
    padding-right: 10px !important;
}

ul.ubermenu-nav li.extranet a::before {
    display: block;
    position: absolute;
    top: -9px;
    left: 0;
    width: 100%;
    height: 50px;
    content: '';
    z-index: 1;
    color: #ffffff !important;
    background: #0d94ce; /* Old browsers */ /* FF3.6-15 */ /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(45deg, #0d94ce 0%, #24abe5 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0d94ce', endColorstr='#24abe5', GradientType=1); /* IE6-9 fallback on horizontal gradient */
}

ul.ubermenu-nav li.extranet a > span {
    position: relative !important;
    z-index: 10;
}

ul.ubermenu-nav li.extranet a > span::before {
    position: absolute;
    z-index: 10;
    top: -1px;
    left: -19px;
    width: 20px;
    height: 100%;
    content: '';
    background: transparent url("../kuvat/ikonit-yms/lukko.png") center center no-repeat;
    background-size: contain;
}

.lippukauppa {
    border-left: 3px solid #fff;
}

/*ul.ubermenu-submenu{z-index: 9001 !important;} *//* ubermenu-submenu-id-1782 ubermenu-submenu-type-block ubermenu-autoclear*/

/* sivuvalikko */

.shiftnav,
.shiftnav .sub-menu {
    /*background-color: #019EE3 !important;*/
    background-color: #ffffff !important;
}

.shiftnav .shiftnav-menu-title { color: #ffffff !important; }

.shiftnav li a {
    /* color: #ffffff !important;*/
    /*color: #019EE3 !important;*/
    color: #000000 !important;
    text-transform: uppercase !important;
    padding-right: 60px !important;
    /* line-height: 60px !important;*/
    /* min-height: 60px !important;*/
    /*  padding-bottom: 1em !important;*/
}

.shiftnav .shiftnav-submenu-activation {
    width: 60px !important;
    height: 46px !important; /* 60px !important;*/
    margin-top: 7px !important;
}

.shiftnav ul.shiftnav-menu li.menu-item > .shiftnav-target {
    line-height: 1.2em;
    padding: 20px 15px;
}

.shiftnav .fa.fa-chevron-right {
    /*color: #ffffff !important;*/
    color: #000000 !important;
    /* color: #019EE3 !important;*/
}

#menu-primary-navigation > li.shiftnav-sub-shift.shiftnav-active > span > i { color: #019EE3 !important; }

/*.shiftnav .shiftnav-active */
.shiftnav li.current-menu-item a.shiftnav-target + .shiftnav-submenu-activation > .fa.fa-chevron-right { color: #019EE3 !important; }

.shiftnav.shiftnav-skin-light ul.shiftnav-menu li.menu-item.shiftnav-active > .shiftnav-target,
.shiftnav.shiftnav-skin-light ul.shiftnav-menu > li.shiftnav-sub-shift.current-menu-ancestor > .shiftnav-target,
.shiftnav .shiftnav-active .shiftnav-target li a {
    /*    background-color: #0e648a !important;*/
    background-color: transparent !important;
    color: #019EE3 !important;
}

.shiftnav.shiftnav-skin-light ul.shiftnav-menu li.menu-item.current-menu-item > .shiftnav-target {
    /*    background-color: #0e648a !important;*/
    background-color: transparent !important;
    color: #019EE3 !important;
}

/* "back" */
.shiftnav.shiftnav-skin-light ul.shiftnav-menu li.shiftnav-retract .shiftnav-target {
    line-height: 60px;
    padding: 0;
}

/*
.shiftnav .ubermenu-target-title.ubermenu-target-text { line-height: 1em;}
*/

/* Mobi messukeskuksemmaksi */
.shiftnav-main-toggle-content.shiftnav-toggle-main-block {
    /*background-color: #ffffff;*/
    -webkit-box-shadow: inset 2px -7px 10px -3px #dcdcdc;
    box-shadow: inset 2px -7px 10px -3px #dcdcdc;
    background: #ffffff url("../kuvat/ikonit-yms/logot/TurunMessuKeskusLogo-65.png") center center no-repeat;
    background-size: auto 42px;
}

.shiftnav-main-toggle-content.shiftnav-toggle-main-block a {
    /* color: #019EE3 !important;*/
    color: transparent !important;

    /* TurunMessuKeskusLogo-65.png */
}

.shiftnav-inner h3.shiftnav-site-title { display: none; }

.fa-navicon:before,
.fa-reorder:before,
.fa-bars:before { color: #019EE3; }

/* vesileimat kuvagallerioihin */

.mfp-close { z-index: 30; }

.mfp-content .mfp-figure figure { position: relative; }

.mfp-content .mfp-figure figure::before {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: transparent url("../kuvat/ikonit-yms/vesileimat/logotagi_pysty_yla_rgb.png") 8% top no-repeat;
    background-size: 10% auto;
    z-index: 20;
    content: '';
}

.mfp-content .mfp-figure figure img { position: relative; z-index: 10; }

body .img-thumbnail { background-color: transparent; }

form input,
form textarea { max-width: 100%; }

.addthis_sharing_toolbox { margin-right: 15px; }

/* KÄÄNNÖKSET*/

/*
#lang_sel_list {
    display: none;
}
*/
header.banner.navbar #lang_sel_list {
    display: none;
    position: absolute;
    z-index: 99;
    top: 85px; /*86px;*/
    left: -5px; /*0;*/
    width: calc(100% + 10px);
    /*height: 30px;*/
    overflow: hidden;
    text-align: center;
    /*-webkit-box-shadow: inset 0 7px 10px -3px #dcdcdc;
    box-shadow: inset 0 7px 10px -3px #dcdcdc;*/
    border: none;
}

body.home.page header.banner.navbar #lang_sel_list {
    /*   top: 87px;*/
}

#lang_sel_list ul {
    float: none; /*right;*/
    width: 100%;
    max-width: 1038px;
    display: inline-block;
}

html[lang="fi"] #lang_sel_list ul { max-width: 1038px; }

html[lang="sv-SE"] #lang_sel_list ul { max-width: 1058px; }

html[lang="en-US"] #lang_sel_list ul { max-width: 866px; }

#lang_sel_list ul li {
    display: inline-block;
    float: right;
}

#lang_sel_list ul li.icl-fi { }

#lang_sel_list ul li.icl-en { }

#lang_sel_list ul li.icl-sv { }

#lang_sel_list ul li a {
    position: relative;
    width: 30px;
    height: 30px;
    overflow: hidden;
    z-index: 9001;
    margin: 0 0 0 10px !important;
    padding-right: 0 !important;
}

#lang_sel_list ul li a::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    line-height: 30px;
    font-size: 12px;
    color: #ffffff;
    background-color: #0096d6;
    z-index: 9002;
}

#lang_sel_list ul li.icl-fi a::before { content: 'fi'; }

#lang_sel_list ul li.icl-en a::before { content: 'en'; }

#lang_sel_list ul li.icl-sv a::before { content: 'sv'; }

html[lang="fi"] #lang_sel_list ul li.icl-fi a::before { background-color: #0e648a; }

html[lang="sv-SE"] #lang_sel_list ul li.icl-sv a::before { background-color: #0e648a; }

html[lang="en-US"] #lang_sel_list ul li.icl-en a::before { background-color: #0e648a; }

/* käännösten mobiili */

@media (min-width: 1150px) {
    header.banner.navbar nav {
        position: relative;
    }

    header.banner.navbar #lang_sel_list {
        display: block;
    }

}

#shiftnav-main #lang_sel_list {
    position: absolute;
    top: 0;
    right: 0;
    width: auto;
}

/* Uutta 2022 */

.fts-mashup {

  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 4rem;
  padding: 2rem;
}

.fts-mashup img {

  display: block;
  width: 100%;
  height: auto;
}

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

  .fts-mashup {

    grid-template-columns: 1fr 1fr;
  }
}

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

  .fts-mashup {

    grid-template-columns: 1fr;
  }
}
