:root {
	--musta: #312334;
	--valkoinen: #FFFFFF;
	--sininen: #e2ecf1;
	--vihrea: #00584D;
	--vaaleanvihrea: #BEDFCD;
}

html, body {
	margin: 0;
	font-size: 20px;
	font-family: "Figtree", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	color: var(--musta);
}

a {
    transition: 0.25s color;
}

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

h1, h2, h3, h4, h5, h6 {
    font-weight: 300;
    margin-top: 3rem;
    margin-bottom: 2rem;
}

h1, h2.iso {
    font-size: 4rem;
}

h2 {
    font-size: 2.750rem;
}

h3 {
    font-size: 1.750rem;
}

p {
    line-height: 1.650em;
    margin: 2em 0;
}

h1, h2, h3, h4, h5, h6 {
    word-break: break-word;
    overflow-wrap: break-word;
    /*-webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;*/
}

.kehys {
	width: 1000px;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

.rivi {
	display: flex;
	flex-wrap: wrap;
	box-sizing: border-box;
}

.solu {
	display: block;
	box-sizing: border-box;
}

.solu12 {
	width: 100%;
}

.solu11 {
	width: calc(100% / 12 * 11);
}

.solu10 {
	width: calc(100% / 1.2);
}

.solu9 {
	width: 75%;
}

.solu8 {
	width: calc(100% / 1.5);
}

.solu7 {
	width: calc(100% / 12 * 7);
}

.solu6 {
	width: 50%;
}

.solu5 {
	width: calc(100% / 2.4);
}

.solu4 {
	width: calc(100% / 3);
}

.solu3 {
	width: 25%;
}

.solu2 {
	width: calc(100% / 6);
}

.solu1 {
	width: calc(100% / 12);
}

header.ylapalkki .rajoittaja {
    display: grid;
    grid-template-columns: 20% 0% 80%;
    width: 1875px;
}

span.sivunimi {
    display: none !important;
}

nav.paavalikko > ul {
    margin: 0;
    padding: 0;
    display: flex;
    list-style: none;
    height: 100%;
    align-items: center;
    justify-content: flex-end;
    gap: 2rem;
    box-sizing: border-box;
}

.rajoittaja {
    width: 1464px;
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
    box-sizing: border-box;
}

.rajoittaja > a.paalogo {
    display: block;
    margin-top: 2.250rem;
    margin-bottom: 1.850rem;
}

a.paalogo img {
    display: block;
    max-height: 58px;
}

nav.paavalikko a {
    font-size: 1rem;
    text-decoration: none;
    color: var(--musta);
    font-weight: 700;
    transition: 0.25s color;
}

section.etusivuhero {
    display: flex;
    align-items: center;
    padding-top: 10.350rem;
    padding-bottom: 10.650rem;
    background: url(images/headertausta.jpg);
    background-size: cover;
    background-position: center;
    min-height: calc(100vh - 140px);
    box-sizing: border-box;
    position: relative;
    font-size: 1.100rem;
}

.etusivuhero > .rajoittaja {
    padding-left: 3.200rem;
    padding-right: 700px;
    color: var(--valkoinen);
    position: relative;
    z-index: 2;
}

header.ylapalkki {
    min-height: 140px;
    position: relative;
}

section.etusivuhero::after {
    display: block;
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 960px;
    height: 585px;
    background: url('images/etusivu_hero_kuvio.svg');
    background-size: auto;
    background-position: bottom left;
}

.fullwidth_wrapper > *:first-child,
.ei_reuna_margin > *:first-child,
.rajoittaja > *:first-child {
    margin-top: 0;
}

.fullwidth_wrapper > *:last-child, 
.ei_reuna_margin > *:last-child,
.rajoittaja > *:last-child {
    margin-bottom: 0;
}

nav.paavalikko a:hover {
    color: var(--vihrea);
}

.nappula {
    display: inline-block;
    font-size: 1.1rem;
    text-decoration: none;
    font-weight: 700;
    background: var(--valkoinen);
    line-height: 1em;
    padding: 0.8em 1.8em;
    border-radius: 1.273em;
    color: var(--musta);
    transition: 0.25s border, 0.25s background, 0.25s color;
}

.nappula:hover {
    background: var(--musta);
    color: var(--valkoinen);
}

p+.nappula {
    margin-top: 1em;
}

.lisalaatikko {
    margin-top: 9.350rem;
    margin-bottom: 9.900rem;
    display: flex;
}

.lisalaatikko_kuva {
    width: 38.9%;
    background: url(images/etusivukuva.jpg);
    background-size: cover;
    background-position: center;
}

.lisalaatikko_teksti {
    display: block;
    width: 61.1%;
    padding: 5.350rem 4rem 6.650rem 6.600rem;
    box-sizing: border-box;
}

.lisalaatikko_teksti p {
    padding-right: 4rem;
}

.bg_vaaleanvihrea {
    background: var(--vaaleanvihrea);
    color: var(--vihrea);
}

.bg_vaaleanvihrea .nappula {
    background: var(--vihrea);
    color: var(--valkoinen);
}

.bg_vaaleanvihrea .nappula:hover {
    background: var(--musta);
    color: var(--valkoinen);
}

.bg_vihrea {
    background: var(--vihrea);
    color: var(--valkoinen);
}

.avustuskohteet {
    margin-left: -1.4rem;
    margin-right: -1.4rem;
    display: flex;
    flex-wrap: wrap;
    padding-top: 5.950rem;
    padding-bottom: 6.450rem;
    justify-content: center;
    box-sizing: border-box;
}

.avustuskohteet > h2 {
    display: block;
    width: 100%;
    text-align: center;
    margin-bottom: 4.250rem;
}

a.avustuskohde {
    width: calc(100% / 3 - 2.8rem);
    margin: 1.4rem;
    background: var(--valkoinen);
    text-decoration: none;
    padding-bottom: 6.700rem;
    color: var(--vihrea);
    transition: 0.25s background;
}

.fullwidth_wrapper {
    display: block;
    width: 100%;
}

.avustuskohde + .fullwidth_wrapper {
    text-align: center;
    margin-top: 5.200rem;
}

span.avustuskohde_kuva {
    display: block;
    padding-top: 62%;
    background-size: cover !important;
    background-position: center !important;
}

span.avustuskohde_logo > img {
    display: block;
    width: 102px;
    height: auto;
    margin: 0 auto;
}

span.avustuskohde_logo {
    display: block;
    margin-top: -51px;
    margin-bottom: 1.6rem;
}

.avustuskohde h3 {
    text-align: center;
    margin: 0;
    text-decoration: none;
    padding-left: 2rem;
    padding-right: 2rem;
    box-sizing: border-box;
}

a.avustuskohde:hover {
    background: var(--vaaleanvihrea);
}

.bg_vihrea .nappula {
    background: var(--valkoinen);
    color: var(--vihrea);
}

.bg_vihrea .nappula:hover {
    background: var(--musta);
    color: var(--valkoinen);
}

.ajankohtaista.taysilevea {
    padding-top: 7rem;
    padding-bottom: 0;
}

.ajankohtaista.taysilevea h2 {
    display: block;
    text-align: center;
    margin-bottom: 4.750rem;
}

article.ajankohtainen {
    border: 3px solid var(--vaaleanvihrea);
    padding: 3rem;
    box-sizing: border-box;
    display: flex;
    align-items: flex-start;
}

.ajankohtainen_data {
    display: block;
    width: 56%;
    box-sizing: border-box;
    padding-left: 3rem;
}

.ajankohtainen_kuva {
    width: 44%;
    background: url(images/uutinen-ilman-kuvaa.jpg);
    background-size: cover;
    background-position: center;
    box-sizing: border-box;
}

.ajankohtainen_kuva_aspectratio {
    display: block;
    padding-top: 57%;
}

.ajankohtainen_data h3 {
    line-height: 1.371em;
    margin: 1.4rem 0;
}

.ajankohtainen_data a {
    text-decoration: none;
    color: var(--vihrea);
}

.ajankohtaista a.nappula {
    background: var(--vihrea);
    color: var(--valkoinen);
}

.ajankohtaista a.nappula:hover {
    background: var(--musta);
    color: var(--valkoinen);
}

.ajankohtaista .fullwidth_wrapper {
    text-align: center;
    margin-top: 5.750rem;
}

footer.alapalkki {
    display: block;
    background: var(--sininen);
    position: relative;
    margin-top: calc(8.85rem + 88px);
    padding-top: 0;
    padding-bottom: 1.600rem;
}

footer.alapalkki::before {
    position: absolute;
    top: -87px;
    left: 0;
    width: 100%;
    height: 88px;
    background: url(images/aaltopala.svg);
    content: '';
    display: block;
    background-size: auto 100%;
    background-repeat: repeat-x;
    background-position: top center;
}

.alapalkki_yla {
    display: grid;
    width: 1320px;
    padding: 0 2.5rem;
    max-width: 100%;
    margin: 0 auto;
    grid-template-columns: 26% 1fr 1fr 1fr;
    gap: 5rem;
    font-size: 1.1rem;
    margin-bottom: 3.250rem;
    align-items: flex-start;
    box-sizing: border-box;
}

.alapalkki_yla p {
    margin: 0;
}

a.alapalkki_logo img {
    width: 100%;
    display: block;
}

.alapalkki_yla a {
    color: inherit;
    text-decoration: none;
}

.alapalkki_yla a:hover {
    text-decoration: underline;
}

.some > a {
    display: inline-block;
    width: 62px;
    height: 62px;
    background-size: 100% 100% !important;
    text-indent: -9999px;
    margin-right: 0.8rem;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    position: relative;
}

a.some_fb {
    background: url(images/ikoni_fb.svg);
}

a.some_yt {
    background: url(images/ikoni_yt.svg);
}

.some > a::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: block;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    opacity: 0;
    transition: 0.25s opacity;
}

.some > a.some_fb::after {
    background: url(images/ikoni_fb_hover.svg);
}

.some > a.some_yt::after {
    background: url(images/ikoni_yt_hover.svg);
}

.some > a:hover::after {
    opacity: 1.0;
}

.alapalkki_ala {
    display: flex;
    justify-content: center;
    gap: 1.250rem;
    font-size: 0.900rem;
    padding-left: 2rem;
    padding-right: 2rem;
}

.alapalkki_ala p {
    margin: 0;
}

.alapalkki_ala a {
    color: inherit;
    text-decoration: none;
}

.alapalkki_ala a:hover {
    text-decoration: underline;
}

.ajankohtainen_data a:hover {
    color: var(--musta);
}

span.artikkelinotsikko {
    display: none !important;
}

@media screen and (max-width: 1800px) {
    html, body {
	    font-size: 18px;
    }

    header.ylapalkki {
        min-height: 132px;
    }

    section.etusivuhero {
        min-height: calc(100vh - 132px);
    }
}

@media screen and (max-width: 1600px) {
    html, body {
	    font-size: 16px;
    }

    section.etusivuhero::after {
        width: 50%;
        background-size: 120% auto;
        background-position: bottom left;
        background-repeat: no-repeat;
    }

    .etusivuhero > .rajoittaja {
        padding-right: 40%;
    }

    header.ylapalkki {
        min-height: 124px;
    }

    section.etusivuhero {
        min-height: calc(100vh - 124px);
    }

    .alapalkki_yla {
        grid-template-columns: 19% 1fr 1fr 1fr;
    }

    .lisalaatikko {
        margin-top: 6rem;
        margin-bottom: 6rem;
    }

    .lisalaatikko_teksti {
        padding: 4rem 3rem 4rem 4rem;
    }

    .avustuskohteet {
        padding-top: 4rem;
        padding-bottom: 4rem;
    }

    .avustuskohteet > h2 {
        margin-bottom: 3rem;
    }

    .ajankohtaista.taysilevea {
        padding-top: 5rem;
    }

    .ajankohtaista.taysilevea h2 {
        margin-bottom: 3rem;
    }

    article.ajankohtainen {
        padding: 2rem;
    }

    .ajankohtaista .fullwidth_wrapper {
        margin-top: 4rem;
    }

    footer.alapalkki {
        margin-top: calc(4rem + 88px);
    }
}

@media screen and (max-width: 1300px) {
    header.ylapalkki .rajoittaja {
        display: flex;
        flex-wrap: wrap;
    }

    nav.paavalikko {
        width: 100%;
        padding-bottom: 2rem;
    }

    nav.paavalikko > ul {
        justify-content: flex-start;
    }

    header.ylapalkki {
        min-height: 175px;
    }

    section.etusivuhero {
        min-height: calc(100vh - 175px);
        padding-top: 2rem;
        padding-bottom: 2rem;
    }
}

@media screen and (max-width: 1000px) {
    h1, h2.iso {
        font-size: 2rem;
    }

    h2 {
        font-size: 1.6rem;
    }

    h3 {
        font-size: 1.20rem;
    }

    nav.paavalikko {
        position: absolute;
        top: 100%;
        left: 0;
        z-index: 9999;
        background: var(--valkoinen);
        padding-left: 1rem;
        padding-right: 1rem;
        box-sizing: border-box;
        padding-bottom: 1rem;
        display: none;
    }

    header.ylapalkki {
        min-height: 122px;
    }

    section.etusivuhero {
        min-height: calc(100vh - 124px);
    }

    html, body {
        font-size: 20px;
    }

    nav.paavalikko > ul {
        display: block;
    }

    .rajoittaja {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .etusivuhero > .rajoittaja {
        padding-right: 2rem;
        text-align: center;
        padding-left: 2rem;
    }

    nav.paavalikko a {
        font-size: 1.25rem;
        margin: 0.5rem 0;
        display: block;
        text-align: right;
    }

    .mobile_nav_toggle {
        display: block;
        width: 29px;
        box-sizing: border-box;
        cursor: pointer;
        padding: 0;
    }

    .viiva1, .viiva2, .viiva3 {
        width: 29px;
        height: 5px;
        background-color: var(--vihrea);
        margin: 6px 0;
        transition: 0.4s;
    }

    .avattu .viiva1 {
        -webkit-transform: rotate(-45deg) translate(-9px, 6px);
        transform: rotate(-45deg) translate(-8px, 7px);
    }

    .avattu .viiva2 {
        opacity: 0;
    }

    .avattu .viiva3 {
        -webkit-transfom: rotate(45deg) translate(-8px, -8px);
        transform: rotate(45deg) translate(-8px, -8px);
    }
        
    header.ylapalkki .rajoittaja {
        align-items: center;
        justify-content: space-between;
    }

    .rajoittaja > a.paalogo {
        width: 200px;
        margin-top: 2rem;
        margin-bottom: 2rem;
    }

    .lisalaatikko {
        display: block;
    }

    .lisalaatikko_kuva {
        width: 100%;
        padding-top: 40%;
    }

    .lisalaatikko_teksti {
        width: 100%;
        padding: 3rem 3rem 3rem 3rem;
    }

    a.avustuskohde {
        width: calc(100% / 2 - 2rem);
        margin: 1rem;
        padding-bottom: 4rem;
    }

    .avustuskohteet {
        margin-left: 0;
        margin-right: 0;
    }

    article.ajankohtainen {
        display: block;
        width: 600px;
        margin: 2rem auto;
        max-width: 100%;
    }

    .ajankohtainen_data {
        width: 100%;
        padding-left: 0;
        padding-top: 2rem;
    }

    .ajankohtainen_kuva {
        display: block;
        width: 100%;
    }

    .alapalkki_yla {
        display: block;
    }

    a.alapalkki_logo {
        display: block;
        width: 190px;
        margin: 0 auto;
    }

    .alapalkki_yla > div {
        text-align: center;
        margin: 2rem 0;
    }

    .alapalkki_ala {
        display: block;
        text-align: center;
    }

    .alapalkki_ala > div {
        margin: 1rem 0;
    }

    .lisalaatikko_teksti p {
        padding-right: 0;
    }
}

@media screen and (max-width: 650px) {
    a.avustuskohde {
        width: calc(100% - 2rem);
    }

    .lisalaatikko_teksti {
        padding: 2rem;
    }
}