﻿@font-face {
    font-family: 'Source Sans 3';
    font-style: italic;
    src: url(/Static/Fonts/Source_Sans_3/static/SourceSans3-Italic.ttf);
    font-weight: 400;
}

@font-face {
    font-family: 'Source Sans 3';
    font-style: normal;
    src: url(/Static/Fonts/Source_Sans_3/static/SourceSans3-Regular.ttf);
    font-weight: 400;
}

@font-face {
    font-family: 'Source Sans 3';
    font-style: normal;
    src: url(/Static/Fonts/Source_Sans_3/static/SourceSans3-SemiBold.ttf);
    font-weight: 600;
}

@font-face {
    font-family: 'Source Sans 3';
    font-style: normal;
    src: url(/Static/Fonts/Source_Sans_3/static/SourceSans3-Bold.ttf);
    font-weight: 700;
}

@import url(/Static/Css/cookieconsent.css);

html {
    overflow-x: hidden;
}

body {
    font-family: 'Source Sans 3', sans-serif;
    color: #1D1D1D;
    background-color: #FFF;
    font-size: 1em;
}

.clearfix::after {
    content: "";
    clear: both;
    display: table;
}

a {
    color: #005A97;
    position: relative;
    text-decoration: underline;
}

    a:hover, a:focus {
        color: #7F5895;
    }


    a.external::after, a[target="_blank"]::after {
        display: inline-block;
        content: "";
        background-image: url(../icons/externallink.svg);
        background-repeat: no-repeat;
        background-size: 20px 20px;
        height: 20px;
        width: 20px;
    }

    a.external:hover::after, a[target="_blank"]:hover::after {
        background-image: url(../icons/externallinkPurple.svg);
    }

    #epi-quickNavigator {
        z-index: 10000000000000000 !important;
    }

/* Titles, also style versions for accessibility reasons */
h1, .h1 {
    font-size: 3rem;
    font-weight: 400;
    line-height: 60px;
    margin: 24px 0 32px;
}

h2, .h2 {
    font-size: 2rem;
    font-weight: 600;
    line-height: 40px;
    margin: 16px 0 24px;
}

h3, .h3 {
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 32px;
    margin-bottom: 1rem;
    margin: 8px 0 16px;
}

h4, .h4, .application-title {
    font-size: 1.3125rem;
    font-weight: 600;
    line-height: 27px;
}

h5, .h5 {
    font-size: 1.3125rem;
    font-weight: 600;
    line-height: 27px;
}

.ingress {
    font-size: 1.3125rem;
    font-weight: 400;
    line-height: 27px;
}

.citation {
    display: block;
    color: #5473AF;
    font-size: 1.325rem;
    line-height: 27px;
    border-left: 8px solid #5473AF;
    padding-left: 16px;
    margin: 40px 0;
}


p {
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 29px;
}

    p .small {
        font-size: 0.875rem;
        font-weight: 400;
        line-height: 25px;
    }

img {
    max-width: 100%;
}

ul {
    padding-left: 24px;
}

li {
    font-size: 1.125rem;
}

.w ul, .sidebar .list ul {
    list-style: none;
}

.sidebar .list ul {
    padding-left: 0;
}

    .w ul.bulleted, .sidebar .list ul.bulleted {
        list-style: disc;
        padding-left: 40px;
    }

.block {
    margin: 32px 0;
}

#main-content {
    margin-bottom: 64px;
}

iframe {
    max-width: 100%;
    border: 0;
}

.video-container {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 */
    padding-top: 25px;
    height: 0;
}

    .video-container iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

.btn {
    display: inline-block;
    font-size: 1.125rem !important;
    font-weight: 600 !important;
    color: #005A97 !important;
    border-radius: 0 !important;
    min-width: 120px;
    padding: 8px 32px;
    margin-bottom: 10px;
    transition: 0.2s;
    text-decoration: none;
}

.event-sign .btn[target="_blank"]::after {
    background-image: inherit;
    background-position: inherit;
    right: inherit;
    top: inherit;
}

.btn1 {
    background-color: #005A97;
    color: #FFF !important;
    min-height: 48px;
}

    .btn1:hover, .btn1:focus {
        background-color: #7F5895;
    }

.btn:hover:after {
    content: "▸";
    position: absolute;
    margin-left: 4px;
}

.btn1:disabled {
    background-color: #CFCFCF;
    color: #5B5B5B;
    cursor: not-allowed;
}

.btn2 {
    min-height: 48px;
    background-color: #FFF;
    border: 2px solid #005A97;
}

    .btn2:hover, .btn2:focus {
        background-color: #F0E5EE;
    }

    .btn2:disabled {
        border-color: #ABABAB;
        color: #595959 !important;
        cursor: not-allowed;
    }

header .btn1, .hero .btn1 {
    background-color: #FFF;
    color: #005A9C !important;
    padding: 15px 20px;
}

    header .btn1:hover, .hero .btn1:hover,
    header .btn1:focus, .hero .btn1:focus {
        background-color: #BCD1E3;
    }

    header .btn1:disabled, .hero .btn1:disabled {
        background-color: #CFCFCF;
        color: #6F6F6F;
        cursor: not-allowed;
    }

header .btn2, .hero .btn2 {
    background-color: #005A9C;
    border: 1px solid #80ACCD;
    color: #FFF !important;
}

    header .btn2:hover, .hero .btn2:hover,
    header .btn2:focus, .hero .btn2:focus {
        background-color: rgba(255,255,255,0.16);
    }

    header .btn2:disabled, .hero .btn2:disabled {
        color: #CFCFCF !important;
        cursor: not-allowed;
    }

@media (max-width: 767px) {
    h1 {
        font-size: 2rem;
        line-height: 40px;
    }
}

/* Header */

header.main-header {
    position: sticky;
    top: 0;
    height: 100px;
    background: linear-gradient(270deg, #E8EF68, #FFF);
    color: #FFF;
    z-index: 9999998;
}

header a {
    color: #005A9C;
    font-weight: 600;
    border-bottom: 2px solid transparent;
}

    header a:hover, header a:focus {
        color: #005A9C;
        transition: 0.2s;
        border-color: #005A9C;
    }

header .navbar-brand {
    margin: 0 30px;
}

    header .navbar-brand a {
        border: none;
    }

header a.skip-main {
    left: -999px;
    position: absolute;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
    z-index: -999;
}

a.skip-main:focus, a.skip-main:active {
    color: #fff;
    background-color: #005A97;
    left: 50%;
    margin-right: -50%;
    transform: translate(-50%);
    top: 20px;
    width: 30%;
    height: auto;
    overflow: auto;
    padding: 5px;
    border-radius: 15px;
    border: 4px solid #e5aa2a;
    text-align: center;
    text-decoration: none;
    font-size: 1.2em;
    z-index: 9999;
}

/* Main menu */

/*
header .navbar-collapse {
    height: 100px;
}

header .navbar-collapse {
    position: relative;
}

header .dropdown-toggle[aria-expanded="true"] {
    border-color: #FFF;
}

header .nav-item.dropdown {
    margin-right: 30px;
}

header .dropdown-menu {
    width: 100vw;
    left: 0;
    background-color: #E3EDF4;
    font-size: 0.875rem;
    font-weight: 600;
}

header .dropdown-menu a {
    border: none;
}

header .dropdown {
    position: static;
}

header .dropdown-menu.show {
    transform: translate3d(0px, 100px, 0px) !important;
    border-radius: 0;
}

header .dropdown-menu .row {
    margin: 0 5%;
}

header .dropdown-menu ul {
    list-style: none;
}

header .dropdown-menu ul ul {
    padding-left: 0;
}

header .dropdown-menu ul ul a {
    font-weight: 400;
}

header .dropdown-menu .nav-list a {
    color: #1D1D1D;
}

header .dropdown-menu .nav-list ul a {
    color:  #005A97;
}

header .dropdown-menu .nav-list ul a:hover {
    color:  #7F5895;
}
    */

/*@mixin short-transition ($properties: all) {
	 transition: .5s $properties ease-in-out;
}
 @mixin text-shadow($x: .05em,$y: .05em,$blur: .1em,$color: $bof-dark-bg) {
	 text-shadow: $x $y $blur $color;
}
*/
.menu-container {
    position: relative;
    width: 100%;
    margin: 0 auto;
    font-family: 'Source Sans 3', sans-serif;
    font-weight: 400;
    border-bottom: 1px solid #FFF;
    height: 100px;
}

.menu-mobile, .submenu-mobile {
    display: none;
    transition: 0.5s ease-in-out;
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition: 0.5s ease-in-out;
    -o-transition: 0.5s ease-in-out;
    width: 29px;
    height: 29px;
    border: 0px white solid;
    position: absolute;
    top: 15px;
    right: 15px;
    z-index: 100000000000000;
    /* -moz-transition: all 0.2s linear;
	 -webkit-transition: all 0.2s linear;
	 transition: all 0.2s linear;
	 */
}

.mobile-header {
    display: none;
    background: linear-gradient(270deg, #E8EF68, #FFF);
    height: 60px;
    border-bottom: 2px solid #FFF;
}


.submenu-mobile {
    top: 10px;
}

.menu-mobile-open {
    background: transparent url('/static/academy/img/topmenu-button-mob-open.png') no-repeat top left !important;
}

.menu-frame {
    display: flex;
    height: 100px;
    align-items: center;
}

    .menu-frame .left-content {
        display: flex;
        align-items: center;
        flex-grow: 1;
    }

    .menu-frame .right-content {
        display: flex;
        align-items: center;
        list-style: none;
    }

    .menu .languages .selection {
        display: flex;
    }

    .menu .quick-search-query {
        position: relative;
        border-radius: 0.25rem !important;
        background-color: #EEF4FA;
        min-width: 200px;
        transition: 0.2s;
    }

        .menu .quick-search-query:focus,
        .menu .quick-search-query:hover {
            background-color: #FFF;
        }

    .menu .input-group .input-group-btn {
        background: url(../icons/searchBlue.svg) no-repeat center;
        padding: 0 8px;
    }

        .menu .input-group .input-group-btn button {
            height: 40px;
            margin: 0;
            padding: 8px 16px;
            min-width: inherit;
        }

        .menu .input-group .input-group-btn button:hover::after {
            content: "";
            background-image: none;
        }

    .menu ul {
        list-style: none;
    }

    .menu > ul {
        padding: 0;
        position: relative;
        box-sizing: border-box;
        text-align: left;
        margin-bottom: 0;
    }

        .menu-frame ul .right {
            margin-right: 30px;
        }

        .menu > ul a {
            border-bottom: none;
        }

            .menu-frame .menu > ul a.btn {
                border: 1px solid;
                padding-right: 25px;
                padding-left: 25px;
                margin: 0;
            }

                .menu-frame .menu > ul a.btn:after {
                    content: "▸";
                    position: absolute;
                    margin-left: 4px;
                }

        .menu-frame .menu > ul:before, .menu-frame .menu > ul:after {
            content: "";
            display: table;
        }

        .menu-frame .menu > ul:after {
            clear: both;
        }

        .menu-frame .menu > ul li strong span {
            color: #1D1D1D;
        }

        .menu-frame  .menu > ul > li {
            float: left;
            padding: 0;
            margin: 0;
        }

            .menu-frame > .menu > ul > li > a {
                text-decoration: none;
            }



                .menu-frame > .menu > ul > li > a.btn:hover {
                    border-bottom: 1px solid #FFF;
                    background-color: #7F5895;
                }

            .menu > ul > li a {
                /*text-decoration: none;
	*/
                padding: 8px 16px 8px 16px;
                display: block;
            }

            .menu > ul > li > ul {
                display: none;
                width: 100vw;
                padding: 20px;
                position: absolute;
                z-index: 99;
                left: 0;
                margin: 0;
                list-style: none;
                box-sizing: border-box;
            }

                .menu > ul > li > ul:before, .menu > ul > li > ul:after {
                    content: "";
                    display: table;
                }

                .menu > ul > li > ul:after {
                    clear: both;
                }

                .menu > ul > li > ul > li {
                    margin: 0;
                    padding-bottom: 0;
                    list-style: none;
                    width: 25%;
                    background: none;
                    float: left;
                }

                    .menu > ul > li > ul > li a {
                        color: #777;
                        width: 95%;
                        display: inline;
                    }

                    .menu > ul > li > ul > li > ul {
                        display: block;
                        padding: 0;
                        margin: 0px 0 0;
                        list-style: none;
                        box-sizing: border-box;
                    }

                        .menu > ul > li > ul > li > ul:before, .menu > ul > li > ul > li > ul:after {
                            content: "";
                            display: table;
                        }

                        .menu > ul > li > ul > li > ul:after {
                            clear: both;
                        }

                        .menu > ul > li > ul > li > ul > li {
                            float: left;
                            width: 100%;
                            margin: 0;
                        }

                            .menu > ul > li > ul > li > ul > li a {
                                border: 0;
                            }

.mobileopenbox {
    display: none;
    width: 40px;
    height: 40px;
    /*background: url('/static/academy/img/topmenu-mob-arrow-down.png') no-repeat 50% 50%;*/
    position: absolute;
    top: -6px;
    right: 0px;
    cursor: pointer;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transition: 0.5s ease-in-out;
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition: 0.5s ease-in-out;
    -o-transition: 0.5s ease-in-out;
}

.togled > .mobileopenbox {
    /*background: url('/static/academy/img/topmenu-mob-arrow-upp.png') no-repeat 50% 50%;*/
}

.topnav-home-icon {
    max-height: 18px !important;
    height: auto;
}
/* desktop specific */
@media only screen and (min-width: 1100px) {
    /*megamenu taustavari*/
    /*megamenu linkin vari*/
    /*homeicon*/
    /*1level graaf elem*/
    /*iefix*/
    /*this is temp for column affectives*/
    /*level2 a */
    /*level3 a */
    /*level3 a */

        body .menu > ul > li > a {
            padding-top: 13px;
            padding-bottom: 13px;
        }

    .menu-container {
        /*background: #005A9C;*/
    }

    #topmenu {
        background: linear-gradient(270deg, #E8EF68, #FFF);
        text-align: center !important;
        margin: 0px auto;
        min-height: 100px;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }

        #topmenu > .menu {
            margin: 0px auto;
        }

    .sticky {
        position: fixed;
        top: 0;
        width: 100%;
        z-index: 100000000000000001 !important;
    }

    .menu-frame {
        justify-content: space-between;
        flex-grow: 1;
    }


    .menu .mobile-bottom {
        display: none;
    }

    .menu .children a {
        position: relative;
    }

        .menu .children a::after {
            /*content: " ▼";*/
            content: "";
            position: absolute;
            background: url(../icons/downBlue.svg) no-repeat center;
            height: 16px;
            width: 16px;
            font-size: 15px;
            margin-left: 5px;
            top: 19px;
            right: 0;
            transition: 0.2s;
        }

        .menu .desktopboxmenu a.togled::after {
            background-image: url(../icons/upBlue.svg);
        }

    .menu .children.desktopboxmenu {
        cursor: pointer;
        margin-right: 32px;
    }

    .menu li.children.desktopboxmenu ul {
        cursor: default;
    }

    .menu > ul > li > a {
        border-bottom: 2px solid rgba(0, 0, 0, 0);
        padding: 8px 24px 8px 8px;
    }

    .menu > ul > li:hover > a {
        border-color: #005A9C;
    }

    .menu .children ul a::after {
        content: "";
        background: none;
    }

    .menu .children ul a[target="_blank"]::after {
        background: url(../icons/externallink.svg) no-repeat;
        background-size: 15px;
        top: 0;
        right: -18px;
    }

    .menu .children ul a[target="_blank"]:hover::after {
        background: url(../icons/externallinkPurple.svg) no-repeat;
        background-size: 15px;
        top: 0;
        right: -18px;
    }

    .menu .children ul a:hover::after {
        background: none;
    }

    .menu li {
        list-style: none;
    }

    .menu > ul > li.right:hover {
        border-color: #005A9C;
    }


    .menu > ul > li > a {
        color: #005A9C;
        font-size: 1.125rem;
        font-weight: 600;
        letter-spacing: -0.5px;
    }

    #topmenu > .menu-frame .menu > ul > li > ul {
        background-color: #F6F9BD;
        width: 100vw;
        z-index: 9999;
        background-image: url(../img/kolmiot_vasemmalla.svg), url(../img/kolmiot_oikealla.svg);
        background-size: 300px 300px, 300px 300px;
        background-repeat: no-repeat;
        background-position: 0 0, 100% 100%;
        position: fixed;
        left: 0;
    }

        #topmenu > .menu-frame .menu > ul > li > ul > li span {
            color: #1D1D1D;
            padding-left: 0;
            font-size: 0.875rem;
        }

        #topmenu > .menu-frame .menu > ul > li > ul > li > a {
            color: #005A9C;
        }

        #topmenu > .menu-frame .menu > ul > li > ul > li a:hover {
            color: #7F5895;
        }

        #topmenu > .menu-frame .menu > ul > li > ul > li > ul > li a {
            color: #005A9C;
            display: inline;
        }

            #topmenu > .menu-frame .menu > ul > li > ul > li > ul > li a:hover {
                color: #7F5895;
                font-weight: 600 !important;
            }

    .topnav-home-icon {
        margin-top: -5px;
    }

    .topnav-home-container {
        padding-left: 36px;
        margin-right: 32px;
        width: 340px;
    }

    .topnav-home-container a {
        padding-bottom: 20px;
        border: 0;
    }

        .topnav-home-container:hover a {
            border-color: transparent !important;
        }

    .topnav-home-container .aka-logo {
        height: 50px;
        max-width: 220px;
    }

    body .menu > ul > li:nth-child(7) > a {
        margin-right: 0px !important;
    }

    .menu > ul > li > ul > li {
        width: 350px;
        margin-bottom: 13px;
        margin-top: 10px;
        float: left;
    }

    .menu > ul > li > ul > li {
        border-left: 0px #fff solid !important;
        padding-left: 18px;
    }

        .menu > ul > li > ul > li > a {
            font-size: 0.875rem;
            font-weight: 600 !important;
            padding: 0px;
            line-height: 23px;
            padding-bottom: 3px !important;
            letter-spacing: 0px;
        }

        .menu > ul > li > ul > li > ul > li a {
            font-size: 0.875rem !important;
            padding: 0px;
            font-weight: 400 !important;
            line-height: 18px;
            letter-spacing: 0px;
            letter-spacing: -0.5px;
            padding: 3px 0px;
        }

    /*Purpose? */
    /*
        .menu > ul > li > ul > li > ul > li > ul {
            display: none !important;
            padding: 0px;
            background: maroon;
        }
            */

    .menu > ul > li:nth-child(1n+8) {
        display: none !important;
    }

    .menu > ul > li a.current {
        font-weight: 600 !important;
    }

    .menu > ul > li.xActive > a {
        font-weight: 600 !important;
    }

    .menu > ul > li > ul {
        background-color: #E3EDF4;
        box-shadow: rgba(0, 0, 0, 0.36) 0px 10px 18px 0px;
    }

        .menu > ul > li > ul.bg30 {
            background: #006eb8;
        }

        .menu > ul > li > ul.bg50 {
            background: #006eb8;
        }

    .menuingress {
        text-align: center;
        display: block;
        clear: both;
        background: #006eb8;
        margin: 0px -15px 0px -15px;
        padding: 25px 45px 25px 45px;
        border: 0px red solid;
        color: #fff;
        font-size: 23px;
        letter-spacing: 0px;
        line-height: 29px;
    }

    .menu > ul > li > ul {
        padding: 20px 15% !important;
        margin-top: 20px;
    }

    li.dark-bg-menusection {
        margin-bottom: -20px !important;
        background: #004c92 !important;
        clear: both !important;
        width: 100% !important;
        border-top: 30px #006eb8 solid !important;
        border-bottom: 20px #006eb8 solid !important;
    }

        li.dark-bg-menusection > a {
            margin: 22px 0px -10px 0px !important;
        }

        li.dark-bg-menusection > ul {
            background: transparent url('/static/academy/img/mega-bg-dark-section.png') repeat-y 0px 0px !important;
            margin: 20px 0px 22px 0px !important;
        }

            li.dark-bg-menusection > ul > li {
                width: 33.33333333% !important;
            }
}

@media screen and (min-width: 1025px) {
    /* padding-top: 11.04165rem;
	*/
}
/*mobile combined (tablet + smartphone) spesific*/
@media only screen and (max-width: 1099px) {

    .main-header {
        height: 60px;
        position: sticky;
        top: 0;
    }

    .mobile-header {
        position: relative;
        display: block;
        width: 100%;
        top: 0;
    }

    .menu-mobile {
        position: absolute;
        display: block;
        background: url(../icons/mobile_menuBlue.svg) no-repeat center;
        right: 10px;
    }

        .menu-mobile.selected {
            background-image: url(../icons/mobile_menuCloseBlue.svg);
        }

    .menu .input-group .input-group-btn {
        background: url(../icons/search.svg) no-repeat center;
    }

    .mobile-header .mobile-logo {
        position: absolute;
        top: 15px;
        left: 15px;
    }

    .mobile-header .mobile-logo a {
        border-color: transparent;
    }

        .mobile-header .mobile-logo img {
            width: 130px;
        }

    .topnav-home-container {
        display: none;
    }

    .menu-frame {
        display: none;
        flex-direction: column;
        height: inherit;
        background-color: #005A97;
        left: 0;
        width: 100vw;
        z-index: 1000000000000000000000;
        overflow-y: auto;
    }

    .menu-frame.show-on-mobile {
        display: block;
    }

    header.main-header {
        height: inherit;
    }

    .menu {
        display: block;
        height: inherit;
        background-color: #005A97;
        left: 0;
        width: 100vw;
        z-index: 1000000000000000000000;
    }

        .menu-frame .left-content, .menu-frame .right-content {
            display: flex;
            flex-direction: column;
            width: 100%;
        }

        .menu-frame .show-on-mobile.left-content {
            height: 100%;
            overflow-y: scroll;
        }

        .menu-frame .mobile-bottom {
            /*position: absolute !important;
        bottom: 0;
            */
        }

            .menu .mobile-bottom .btn {
                margin: auto 20px 0;
            }

            .menu .mobile-bottom ul {
                display: flex;
                /* No button in main menu for STN */
                margin: auto 20px 0;
            }

            .menu .mobile-bottom .mobileopenbox {
                display: none !important;
            }

            .menu .mobile-bottom .languages, .menu .mobile-bottom .search_form {
                flex-direction: row;
            }

            .menu .mobile-bottom .languages {
                justify-content: flex-start;
                color: #FFF;
            }

                .menu .mobile-bottom .languages a {
                    color: #FFF;
                }

            .menu .mobile-bottom .search_form {
                justify-content: flex-end;
            }

    .menu-container {
        width: 100%;
        height: inherit;
    }

    .topnav-home-container {
        display: none;
    }

    .menu-frame .desktopboxmenu, .menu-frame .right-content {
        display: none;
    }

    .menu .show-on-mobile .desktopboxmenu {
        position: relative;
        display: flex;
        flex-direction: column;
        width: 100%;
    }

        .menu .show-on-mobile .desktopboxmenu.mobile-bottom {
            flex-grow: 1;
            padding-top: 8px;
        }

    .menu > ul > li {
        float: none;
    }

        .menu > ul > li > ul.has-children {
            display: none !important;
        }

    .menu .children a::after {
        position: relative;
        background: none;
        content: "";
    }

    .menu .show-on-mobile .mobileopenbox {
        border: 0;
        display: block;
        background: url(../icons/down.svg) no-repeat center;
        transition: 0.1s;
    }

    .menu .show-on-mobile .togled .mobileopenbox {
        background-image: url(../icons/up.svg);
    }

    .menu .show-on-mobile .togled .has-children {
        display: block !important;
        background-color: #F6F9BD;
        z-index: 5000;
    }

    .menu .show-on-mobile .has-children .mobileopenbox {
        background-image: url(../icons/downBlue.svg);
    }

    .menu .show-on-mobile .has-children .togled .mobileopenbox {
        background-image: url(../icons/upBlue.svg);
    }

    .menu > ul > li > ul {
        position: static;
        width: auto;
        max-width: 100%;
    }

    .menu > ul li .mobileopen {
        display: block;
        font-weight: 600;
        margin-bottom: 20px;
        color: #005A97;
    }

    .menu .desktopboxmenu > a {
        background: url(../icons/down.svg) no-repeat 95%;
    }

    .menu .desktopboxmenu > a.togled {
        background: url(../icons/up.svg) no-repeat 95%;
    }

    .menu > ul li > a {
        display: block;
        padding-top: 6px;
        color: #FFF;
    }

    .menu > ul > li > ul > li > a {
        display: block;
        max-width: 250px;
        margin-bottom: 20px;
        padding: 0;
    }

    .menu > ul > li > ul > li a {
        color: #005A97;
    }

    .menu > ul > li > ul > li {
        position: relative;
        float: none;
        width: 100%;
    }

        .menu > ul > li > ul > li > ul > li {
            display: none;
        }

            .menu > ul > li > ul > li > ul > li a {
                font-weight: 400;
                display: block;
            }

        .menu > ul > li > ul > li.togled > ul > li {
            display: block;
        }



    /* */
    /* */
    /*
    .menu {
        display: block;
    }

    .menu li {
        margin: 0px !important;
    }

        .menu li > a {
            font-size: 20px !important;
            font-weight: 400 !important;
            line-height: 100%;
            color: #006fb9;
        }

    .menu > ul > li a {
        font-size: 20px !important;
        padding: 12px 50px 12px 12px;
        color: #006fb9;
    }

    .menu > ul > li > ul > li a {
        font-size: 20px !important;
        padding: 12px 50px 12px 32px;
        color: #006fb9;
    }

    .menu > ul > li > ul > li > ul > li a {
        font-size: 20px !important;
        padding: 9px 50px 9px 52px;
        color: #006fb9;
    }

    .menu > ul > li > ul > li > ul > li > ul > li a {
        font-size: 20px !important;
        padding: 9px 50px 9px 72px;
        color: #006fb9;
    }

    .menu a:hover, .menu a:hover {
        text-decoration: underline !important;
        color: #006fb9;
    }

    .menu-container {
        width: 100%;
        font-weight: 400;
    }

    .menu-mobile, .submenu-mobile {
        display: block;
    }

    .menu {
        background: #fff;
    }

        .menu > ul {
            display: none;
        }

        .menu ul {
            margin: 0px !important;
            padding: 0px !important;
        }

        .menu > ul li {
            position: relative;
        }

        .menu > ul > li {
            width: 100%;
            float: none;
            display: block;
        }

            .menu > ul > li a {
                width: 100%;
                display: block;
            }

            .menu > ul > li > ul {
                position: relative;
                padding: 0px;
            }

                .menu > ul > li > ul > li > ul {
                    padding: 0px 0px 0px 0px;
                }

                    .menu > ul > li > ul > li > ul > li {
                        padding: 0px;
                        position: relative;
                    }

                .menu > ul > li > ul > li {
                    float: none;
                    width: 100%;
                    margin-top: 0px;
                }

                    .menu > ul > li > ul > li:first-child {
                        margin: 0;
                    }

                    .menu > ul > li > ul > li > ul {
                        position: relative;
                    }

                        .menu > ul > li > ul > li > ul > li {
                            float: none;
                        }

        .menu .show-on-mobile {
            display: block !important;
        }

        .menu > ul ul {
            display: none !important;
        }

        .menu > ul li.togled > ul {
            display: block !important;
        }

    .mobileopenbox {
        display: inline-block;
        border-left: solid 2px #006fb9;
    }

    .menu li > a.current {
        font-weight: 600 !important;
    }

    .menu > ul > li a.current {
        font-weight: 600 !important;
    }

    .menu > ul > li > ul > li a.current {
        font-weight: 600 !important;
    }

    .menu > ul > li > ul > li > ul > li a.current {
        font-weight: 600 !important;
    }

    .menu > ul > li > ul > li > ul > li > ul > li a.current {
        font-weight: 600 !important;
    }

    .menuingress {
        display: none !important;
    }

    li.dark-bg-menusection {
        border: 1px #004c92 solid !important;
    }
        */

}

/*tablet spesific*/
@media only screen and (max-width: 1099px) and (min-width: 690px) {

    body .menu > ul > li a {
        padding-left: 22px;
    }

    body .menu > ul > li > ul > li a {
        padding-left: 42px;
    }

    body .menu > ul > li > ul > li > ul > li a {
        padding-left: 62px;
    }

    body .menu > ul > li > ul > li > ul > li > ul > li a {
        padding-left: 82px;
    }
}
/*LeftNavi CSS*/
.LeftNaviContainer {
    padding-left: 0px !important;
}

#LeftNavi > div, #sideNaviMobile > div {
    padding-top: 10px;
    margin-right: 40px;
    font-size: 19px;
    line-height: 22px;
    letter-spacing: -0.5px;
    font-weight: 400;
    padding-bottom: 50px;
}

    #LeftNavi > div a, #LeftNavi > div a:visited, #LeftNavi > div a:hover, #LeftNavi > div a:active, #sideNaviMobile > div a, #sideNaviMobile > div a:visited, #sideNaviMobile > div a:hover, #sideNaviMobile > div a:active {
        color: #006fb9;
    }

        #LeftNavi > div a.active, #LeftNavi > div a.active:visited, #LeftNavi > div a.active:hover, #LeftNavi > div a.active:active, #sideNaviMobile > div a.active, #sideNaviMobile > div a.active:visited, #sideNaviMobile > div a.active:hover, #sideNaviMobile > div a.active:active {
            font-weight: 700;
        }

span.active {
    display: block;
    font-weight: 700;
    color: #006fb9;
}

#LeftNavi > div ul, #LeftNavi > div ul li, #sideNaviMobile > div ul, #sideNaviMobile > div ul li {
    margin-left: 0px;
    padding-left: 0px;
    padding-bottom: 0px;
    margin-bottom: 0px;
    padding-top: 0px;
    margin-top: 0px;
    list-style-type: none !important;
}

#LeftNavi > div > ul > li, #sideNaviMobile > div > ul > li {
    padding-left: 20px !important;
    margin-top: 14px;
}

    #LeftNavi > div > ul > li > ul li, #sideNaviMobile > div > ul > li > ul li {
        padding-left: 20px !important;
        margin-top: 11px;
    }

#LeftNavi ul {
    /*background:red;
	 */
    list-style: none;
}

    #LeftNavi ul ul {
        /* background:green;
	*/
        list-style: none;
    }

        #LeftNavi ul ul ul {
            /* background:maroon;
	 */
            list-style: none;
        }

            #LeftNavi ul ul ul ul {
                /* background:pink;
	*/
                list-style: none;
            }
/*mobile combined (tablet + smartphone) spesific*/
@media only screen and (max-width: 1099px) {
    .menu {
        position: fixed;
        top: 60px;
        bottom: 0;
    }

    .menu.show-on-mobile {
        bottom: 0;
    }

    .LeftNaviContainer {
        display: none !important;
    }

    .regulationpage-sidemenu {
        margin-bottom: 30px !important;
    }
}

.icon-up {
    border: 1px #0389e3 solid;
    display: none;
    width: 45px;
    height: 45px;
    right: 20px;
    bottom: 60px;
    position: fixed;
    z-index: 1000000000000204;
    opacity: 0.5;
    background: transparent url('/static/academy/img/upp-arrow.png') no-repeat;
}

/*smartphone specific*/
@media only screen and (max-width: 575px) {
    .menu .mobile-bottom ul {
        flex-direction: column;
    }

    menu > ul li .mobileopen {
        max-width: 250px;
    }
}

@media only screen and (min-width: 1100px) {
    .mobileNaviContainer {
        display: none !important;
    }
}

.mobileNaviContainer {
    margin-bottom: 30px;
}

    .mobileNaviContainer .btn-primary#mobileNaviBtn {
        position: relative;
        font-size: 18px;
        font-weight: 700;
        background: #006fb9 !important;
        color: #fff !important;
        width: 100%;
        padding: 10px 0 10px;
    }

        .mobileNaviContainer .btn-primary#mobileNaviBtn .chevron {
            position: absolute;
            fill: #fff;
            top: 50%;
            transform: translate(0, -50%);
            right: 20px;
            height: 24px;
            width: 24px;
        }

            .mobileNaviContainer .btn-primary#mobileNaviBtn .chevron.invert {
                transform: rotate(180deg) translate(0, 50%);
            }

    .mobileNaviContainer #sideNaviMobile div {
        margin-left: 20px;
    }

/* Submenu */
.submenu {
    position: fixed;
    top: 100px;
    width: 100%;
    height: 40px;
    background-color: #FFF;
    color: #1D1D1D;
    z-index: 9998;
    -webkit-box-shadow: 0 5px 6px -6px rgba(0,0,0,0.75);
    -moz-box-shadow: 0 5px 6px -6px rgba(0,0,0,0.75);
    box-shadow: 0 5px 6px -6px rgba(0,0,0,0.75);
    font-size: 0.875rem;
}

    .submenu .container {
        height: 40px;
    }

    .submenu a {
        color: #005A97;
        border-color: #FFF;
        margin: 0 20px;
    }

        .submenu a:hover {
            color: #7F5895;
        }

    .submenu ul {
        list-style: none;
        display: flex;
        flex-direction: row;
        margin: 0;
        padding-left: 0;
    }

        .submenu ul li {
            display: flex;
            align-items: center;
            height: 38px;
        }

        .submenu ul .title {
            font-weight: 600;
            margin-right: 50px;
        }

        .submenu ul .current a {
            border-color: #005A97;
            color: #1D1D1D;
        }


/* Contact us */
.EPiServerForms .Form__Element .Form__Element__ValidationError {
    color: #e60000 !important;
}

.peoplesearchblock form, .formblock form {
    margin-bottom: 40px;
}

.formblock {
    margin: 30px 0;
}

form .editor-label {
    margin-bottom: 24px;
}

form .editor-label .error {
    color: #e60000;
}

.peoplesearchblock input.text, .peoplesearchblock select,
.formblock input.text, .formblock select {
    max-width: 100%;
    height: 40px;
    border: 1px solid #7FACCD;
    padding: 0 16px;
}

.contact {
    background: url(../img/Footer_otayhteytta_2x.png) center no-repeat;
    background-size: cover;
    padding: 20px 0;
}

    .contact .row {
        align-items: center;
    }

@media (max-width: 767px) {
    .contact a.btn.btn2 {
        width: 100%;
    }
}

/* Footer */

footer {
    position: relative;
    background-color: #005A97;
    background-image: url(../img/variviiva.svg), url(../img/kolmiot_vasemalla.svg), url(../img/kolmiot_oikealla.svg);
    background-size: 100% auto, auto, auto;
    background-position: bottom, left, right;
    background-repeat: no-repeat;
    color: #FFF;
    padding: 50px 0;
    min-height: 440px;
}

    footer .row {
        margin-bottom: 40px;
    }

    footer a {
        color: #FFF;
        font-weight: 600;
    }

        footer a:after {
            content: "▸";
        }

    footer a:hover, footer a:focus {
        text-decoration: none;
        color: #FFF !important;
    }

    footer .social-media a {
        display: inline-block;
        margin-right: 30px;
    }

        footer .social-media a:after {
            content: "";
        }


@media (max-width: 1099px) {
    footer .row {
        margin: 0 auto 40px;
    }
}

@media (max-width: 575px) {
    footer .social-media a {
        margin-right: 0;
    }
}

/* Disturbance message */

#disturbanceMessageContainer {
    display: none;
}

#disturbanceMessage {
    display: none;
    Z-INDEX: 1000000000000000000000 !IMPORTANT;
    clear: both;
    margin: 0px 0px 0px 0px !important;
    padding: 0px;
    text-align: center;
    color: #FFF;
    background-color: #e5aa2a;
    font-weight: 500;
    text-decoration: NONE;
    position: relative;
    width: 100%;
}

    #disturbanceMessage.isvisibleElem {
        display: inline-block !important;
    }

    #disturbanceMessage > div {
        max-width: 900px;
        margin-left: auto;
        margin-right: auto;
        padding: 20px 50px 1px 30px;
        position: relative;
    }

.closeXBox {
    display: inline-block;
    position: absolute;
    top: 15px;
    right: 3px;
    border: 2px #fff solid;
    cursor: pointer;
    font-weight: bold;
    box-sizing: content-box;
    padding: 0 10px;
    font-size: 1.3rem;
}

    .closeXBox > p {
        color: #fff !important;
        font-size: 1.4rem !important;
        display: block;
        padding-top: 2px;
    }

#disturbanceMessage > div a:hover, #disturbanceMessage > div a:link, #disturbanceMessage > div a:active, #disturbanceMessage > div a:visited {
    color: #fff;
}

/* Start page */

/* hero area */

.hero {
    position: relative;
    background: url(../img/STNtausta.png);
    background-position: bottom, left, right, center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    min-height: 500px;
    border-bottom: 2px solid #FFF;
}

.hero-content {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-right: -50%;
    transform: translate(-50%, -50%);
    max-width: 1140px;
}

.hero h1 {
    font-size: 4rem;
    font-weight: 600;
    line-height: 80px;
    text-align: center;
    margin: 0 auto 16px;
    color: #0C2545;
}

.hero .ingress {
    text-align: center;
    color: #0C2545;
}

.hero .buttons {
    margin-top: 4%;
}

.hero .btn {
    display: block;
    background-clip: padding-box;
    border: 1px solid #005A9C;
    padding: 16px 40px;
    margin-bottom: 10px;
}

    .hero .btn:after {
        content: " ‣";
        position: absolute;
        margin-left: 4px;
    }

@media (max-width: 1200px) {
    .hero .hero-content {
        position: static;
        top: inherit;
        left: inherit;
        transform: inherit;
        max-width: 992px;
        margin: auto;
        padding: 100px 0;
    }

        .hero .hero-content .row {
            max-width: 100%;
            margin: auto;
        }
}

@media (max-width: 992px) {

    .hero .hero-content {
    }

        .hero .hero-content h1 {
            font-size: 2rem;
            line-height: 38px;
        }

        .hero .hero-content .ingress {
            font-size: 1rem;
        }
}

/* Top content */
.top-content {
    background-color: #F6F7E1;
    padding: 60px 0;
}

.top-content.second-top-content {
    background-color: #FFF;
    padding: 60px 0; 
}


.top-content.second-top-content::after {
    position: absolute;
    content: "";
    height: 200px;
    width: 225px;
    background: url(../img/uutisia.svg) no-repeat 70px, 50%;
    right: 0;
}


.second-top-content .container {
    display: flex;
    flex-direction: row;
}

    .second-top-content .container .row:first-child {
        display: block;
    }

    .second-top-content .container .row:last-child {
        flex-grow: 1;
        justify-content: center;
        align-items: flex-end;
    }

    .second-top-content .container .row p {
        margin-bottom: 0;
    }

@media (max-width: 1099px) {
    .top-content .row {
        margin: 0 20px;
    }
}

@media (max-width: 575px) {
    .second-top-content .container {
        display: block;
    }

    .second-top-content .container .row:first-child {
        display: flex;
        margin-bottom: 20px;
    }
}

/* Applications */

.application {
    position: relative;
    padding: 60px 0;
    background-color: #F0E5EE;
    /*background-image: url(../img/haut_ylhaalla.svg);*/
    background-repeat: no-repeat;
    background-position: 85% 5%;
}

    .application::after {
        content: "";
        position: absolute;
        height: 295px;
        width: 200px;
        left: 0;
        bottom: -140px;
        /*background-image: url(../img/haut_alhaalla.svg);*/
        background-repeat: no-repeat;
        background-position: -80px 100%;
    }

    .application h4 {
        margin-bottom: 30px;
    }

    .application .application-box {
        border: none;
        height: 200px !important;
    }

        .application .application-box:hover {
            border: none;
        }

.application-box {
    position: relative;
    height: 180px;
    padding: 25px;
    margin-bottom: 25px;
    background-color: #FFF;
    border: 2px solid #9FC1DA;
}


    .application-box:hover {
        transition: 0.2s;
        border-color: #BEABC8;
        box-shadow: 0px 0px 8px rgba(127,100,141,0.24);
    }

    .application-box .app-start {
        /*position: absolute;*/
        bottom: 20px;
    }

    .application-box .app-end {
        position: relative;
        bottom: 20px;
        left: 155px;
    }

        .application-box .app-end::before {
            position: absolute;
            display: block;
            content: "";
            width: 24px;
            height: 48px;
            background: url(../icons/huom.svg) no-repeat;
            
            left: -6px;
        }

        .application-box .app-end.noicon::before {
            display: none;
        }

        .application-box .app-start strong, .application-box .app-end strong {
            display: block;
        }

@media (max-width: 1199px) {
    .application .application-box {
        height: 235px !important;
    }
}


@media (max-width: 991px) {
    .application-box {
        height: inherit !important;
        padding-bottom: 100px;
    }

    .application .application-box {
        height: 300px !important;
    }
}

@media (max-width: 767px) {
    .application .application-box {
        height: inherit !important;
        padding-bottom: 80px;
    }
}

/* Back to academy */

.container-fluid.academy {
    background-color: #005A97;
    padding-top: 24px; 
    padding-bottom: 24px;
}

.container-fluid.academy p, 
.container-fluid.academy a {
    color: #FFF;
    margin-bottom: 0;
}

.container-fluid.academy a {
    font-weight: 600;
}

.container-fluid.academy .article-block-img {
    display: flex; 
    align-items: center;
}

/* Article blocks */

.article-content {
    position: relative;
    padding-top: 60px;
}

    .article-content::after {
        position: absolute;
        content: "";
        width: 175px;
        height: 300px;
        bottom: -90px;
        right: 0;
        background-image: url(../icons/some.svg);
        background-repeat: no-repeat;
        background-position: 0 100%;
    }

    .article-content .col-md-6 {
        display: flex;
        justify-content: center;
        align-items: center;
        margin-bottom: 56px;
    }

    .article-content .article-block-text {
        padding: 30px;
    }

        .article-content .article-block-text h2 {
            font-size: 48px; 
            font-weight: 400;
            line-height: 60px;
        }

        .article-content .article-block-text .read-more {
            display: block;
            font-weight: 600;
        }

    .article-content .article-block-img img {
        display: flex;
        flex-shrink: 0;
        max-width: 100%;
    }

#twocolumn .article-block-row {
    margin-top: 30px;
    margin-bottom: 30px;
}

@media (max-width: 991px) {
    .article-content .article-block-text {
        padding: 0;
    }

    .article-content .article-block-text h2 {
        font-size: 32px;
        line-height: 40px;
    }
}

/* News list */

.two-column {
    padding-top: 60px;
    padding-bottom: 60px;
    padding-bottom: 60px;
}

    .two-column.news {
        position: relative;
        background-color: #FFF;
    }

/*
    .two-column.news::after {
        position: absolute;
        content: "";
        height: 200px;
        width: 225px;
        background: url(../img/uutisia.svg) no-repeat 70px, 50%;
        right: 0;
    }*/

    .StartNewsList .news > div {
        display: flex;
        justify-content:space-between;
        align-items: center;
    }

    .news .StartNewsList h2 {
        float: left;
        margin: 16px 0;
    }
    .news .StartNewsList span.rss {
        float: right;
        margin: 0;
    }

    .news .StartNewsList .newsframe .newsframe-content {
        height: 120px;
        overflow: hidden;
        text-overflow: ellipsis;
    }


    .news .StartNewsList .newsframe .newsframe-content a {
        text-overflow: ellipsis;
        display: block;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;  
    }

.StartNewsList {
    display: flex;
    flex-direction: column;
    font-size: 1.125rem;
    height: 100%;
    margin-right: 20px;
}

    .StartNewsList > a {
        display: block;
        margin-top: auto;
    }

    .StartNewsList hr {
        width: 100%;
    }

    .StartNewsList h4 {
        float: left;
    }

    .StartNewsList .rss {
        float: right;
        font-weight: 600;
    }

    .StartNewsList .created {
        font-weight: 600;
        margin-bottom: 12px;
    }

    .StartNewsList hr:last-of-type {
        visibility: hidden;
    }

.newsframe {
    display: flex;
    font-size: 1.125rem;
    margin: 1rem 0;
}

    .newsframe {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    .newsframe hr {
        width: 100%;
        visibility: hidden;
    }

    .newsframe.has-hr hr {
        width: 100%;
        visibility: visible;
    }

    .newsframe .liftimage {
        display: flex;
        width: 120px;
        height: 120px;
        align-items: flex-start;
    }

        .newsframe .liftimage img {
            max-height: 100%;
            margin-top: 8px;
        }

    .newsframe .created, .bloglist .created {
        display: flex;
        flex-direction: row;
    }

    @media only screen and (max-width: 767px) {
        .news .StartNewsList .newsframe .newsframe-content {
            height: inherit;
        }

        .two-column .col-md-6 {
            margin-bottom: 30px;
        }
    }


@media(max-width: 1099px) {
    .two-column.news::after {
        background-image: none;
    }
}

/* Events list */
.container-fluid.events {
    padding-top: 60px;
    padding-bottom: 60px;
    font-size: 1.125rem;
    background-color: #FFF;
}

.container-fluid.two-column.events {
    background-color: #F6F7E1;
}

.container-fluid.two-column.events::after {
    position: absolute;
    content: "";
    width: 120px;
    height: 168px;
    background: url(../icons/tapahtumat.svg) no-repeat -82px, 100%;
    left: 0;
}

.container-fluid.events .col-lg-3 {
    border-right: 1px solid #979797;
}

.container-fluid.events .col-lg-3:last-child {
    border: none;
}

    .container-fluid.events .col-sm-12 + .col-lg-3 .event-content {
        padding-left: 0;
    }

    .container-fluid.events .col-lg-3 .event-content {
        padding-left: 24px;
    }

    .container-fluid.events .created {
        font-weight: 600;
        margin-bottom: 12px;
    }

.container-fluid.events .col-md-6 {
    display: flex; 
    flex-direction: column;
}

.container-fluid.events .col-md-6 .event-content {
    margin-bottom: 24px;
}

.container-fluid.events hr {
    border-top: 0;
    border-bottom: 1px solid rgba(0,0,0,.1);
    margin: auto 0 1rem 0;
    flex-grow:1;

}

.container-fluid.events a.more {
    display: inline-block;
    font-weight: 600;
    margin-top: 24px;
}

/* Twitter content */
.twitter-content {
    background-color: #E3EDF4;
}

.twitter-content {
    padding: 60px 50px;
}

    .twitter-content h3 {
        display: inline-block;
        float: left;
    }

    .twitter-content .twitter-link {
        display: inline-block;
        float: right;
    }

    .twitter-content .feed-text {
        background-color: #FFF;
        padding: 15px;
        margin-bottom: 20px;
    }

    .twitter-content header {
        margin-bottom: 15px;
    }

    .twitter-content .feed-text .when, .twitter-content .feed-text .author {
        display: block;
        font-size: 0.875rem;
        font-weight: 600;
    }

@media only screen and (max-width: 1099px) {
    .article-content::after, .application::after {
        display: none;
    }

    .container-fluid.two-column.events::after {
        display: none;
    }

    .two-column.news::after {
        display: none;
    }
}

/* Social media */

.container-fluid.social-media {
    background-color: #EAF2EA;
    padding-top: 60px;
    padding-bottom: 60px;
}

    .container-fluid.social-media .stn-logo-frame {
        background: url(../icons/stn_logopallo.svg) no-repeat 56% 28%;
        background-color: #FFF;
        border-radius: 50%;
        width: 180px;
        height: 180px;

    }
    .container-fluid.social-media .some-content {
        margin-left: 24px;
    }


    .container-fluid.social-media .some {
        margin-top: 48px;
    }

    .container-fluid.social-media .some img {
        width: 60px;
        padding-right: 16px;
    }

    .container-fluid.social-media .some a[target=_blank]::after {
        background-image: none;
        height: 0;
        width: 0;
    }

    @media (max-width: 1199px) {
        .container-fluid.social-media .stn-logo-frame {
            width: 160px;
            height: 160px;
        }
    }

/* Infobox */

.infoboxrow {
    margin-top: 32px;
    margin-bottom: 64px;
}

.infoframe {
    margin-bottom: 16px;
}

    .infoframe:hover {
        padding: 0 8px !important;
        transition: 0.2s ease;
    }

        .infoframe:hover .infobox {
            background-color: #F6EFF5 !important;
            height: 100%;
        }

    .infoframe .infobox p,
    .infoframe .infobox ul {
        max-width: 286px;
    }

/* No icons on stn */

.infobox {
    position: relative;
    height: 95%;
    padding: 32px ;
}

.widebox.infobox {
    padding: 24px;
    margin-bottom: 24px;
}

    .widebox.infobox .boxtitle {
        position: relative;
        display: inline-block;
        padding-right: 24px;
    }

    .widebox.infobox .boxtitle::after {
        position: absolute;
        content: "";
        background: url(../icons/chevron_heading.svg) no-repeat center;
        background-size: contain;
        width: 24px;
        height: 30px;
        right: 0;
            
    }

    .widebox.infobox a:hover .boxtitle::after {
        background-image: url(../icons/chevron_heading_purple.svg);
    }

    .infobox.boxblue {
        background-color: #F0F5FA;
    }

    .infobox.boxgreen {
        background-color: #F8F9EC;
    }

    .infobox.boxred {
        background-color: #ff0000;
    }

    .infobox.boxlila {
        background-color: #F0E5EE;
    }

    .infobox.boxyellow {
        background-color: #F1F5A5;
    }

    
    .infobox .infobox-link {
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
    }

    .infobox ul {
        padding-left: 24px;
    }


/* Newsletter block */
.newsletter-block {
    background-color: #F8FAD2;
    padding: 36px 0;
    margin: 0;
}

.newsletter-block .icon {
    display: flex;
    justify-content: center;
    align-items: center;
}

.newsletter-block .h3 {
    margin-top: 0;
    margin-bottom: 24px;
}

.newsletter-block .col-md-4 .btn {
    width: 100%;
}

.newsletter-block .col-md-4 .btn::after {
    content: "▸";
    position: absolute;
    margin-left: 4px;
}

.newsletter-block .col-md-4:nth-child(even) .btn {
    background-color: #FFF;
    color: #005A97 !important;
    border-color: #005A97 !important;
}

    .newsletter-block .col-md-4:nth-child(even) .btn:hover,
    .newsletter-block .col-md-4:nth-child(even) .btn:focus {
        background-color: #F0E5EE;
    }


/* Breadcrumbs */

#breadcrumb {
    margin-top: 50px;
}

    #breadcrumb ul {
        padding-left: 0;
    }

        #breadcrumb ul li {
            display: inline-block;
        }

            #breadcrumb ul li::after {
                content: "/ ";
                margin: 0 5px;
            }

            #breadcrumb ul li:last-of-type::after {
                content: "";
            }

/* Article page */
article header {
    color: #1D1D1D;
    background-color: #FFF;
}

.results li {
    border-bottom: 1px solid rgba(0,0,0,.1);
    padding: 16px 0;
}

.results .created {
    font-weight: 600;
}

    .results .created span {
        display: block;
        margin-right: 16px;
    }

.results .title {
}

.rssreaderblocklist ul {
    padding-left: 0;
}

    .rssreaderblocklist ul li {
        border-bottom: 1px solid rgba(0,0,0,.1);
        padding: 8px 0;
    }

.rssreaderblocklist .date, .rssreaderblocklist .channelname {
    font-weight: 600;
}

@media (max-width: 767px) {
    .results .created {
    }

        .results .created span {
            display: inline;
        }

    .results .title {
    }
}

/* Funding page / Article page */
.fundingcallinfo, .readmorebox > div {
    position: relative;
    display: block;
    background-color: #EEF4FA;
    padding: 24px 24px 64px;
    background-image: url(../img/laatikossa_luelisaa.svg);
    background-size: auto;
    background-repeat: no-repeat;
    background-position: 95% bottom;
    margin: 24px 0;
}

.readmorebox .boxgreen {
    background-color: #E7F2F2;
    background-image: url(../img/laatikossa_kysyylisaa.svg);
}

.fundingcallinfo div {
    display: inline-block;
    padding: 0 30px 10px 0;
}

.fundingcallinfo label {
    font-weight: 600;
}

.coloredtextbox {
    position: relative;
    display: block;
    background-color: #EEF4FA;
    padding: 16px;
    margin: 24px 0;
}

@media (max-width: 575px) {
    #main-content {
        margin: 0 16px;
    }
}

/* Event calendar */

.event-calendar .event-tabs.nav-tabs {
    border: none;
    margin-bottom: 40px;
}

.event-calendar .event-tabs .nav-link {
    border-width: 0 0 2px 0;
    border-color: transparent;
    border-style: solid;
    color: #005A97;
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 28px;
    padding: 4px;
    margin-right: 24px;
    text-decoration: none;
}

.event-calendar .event-tabs .nav-link.active {
    border-color: #005A97;
    color: #1D1D1D;
    font-weight: 400;
}


.event-calendar .event {
    border-bottom: 1px solid #CACACA;
    padding: 30px 0;
    font-size: 1.125rem;
}

    .event-calendar .event .event-period, .event-calendar .event .event-title {
        display: inline-block;
    }

        .event-calendar .event .event-period div {
            display: block;
        }

    .event-calendar .event .event-period {
        width: 200px;
        font-weight: 600;
    }

        .event-calendar .event .event-period .event-time {
            font-weight: 400;
        }

@media (max-width: 767px) {
    .event-calendar .event .event-period, .event-calendar .event .event-title {
        display: block;
    }

    .event-calendar .event .event-period {
        display: block;
        margin-bottom: 8px;
    }
}


/* Event page */

.event .event-sign {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 50px;
}

    .event .event-sign div {
        margin-right: 30px;
        margin-bottom: 8px;
    }

    .event .event-sign .sign-time {
        flex-grow: 1;
    }

    .event .event-sign strong {
        display: block;
    }

.event-sign .btn {
    position: relative;
    padding: 10px 15px;
    margin-bottom: 0;
    min-width: 172px;
}

    .event-sign .btn:after {
        content: "▸";
        position: absolute;
        right: 0 !important;
        top: 50% !important;
        transform: translate(0, -50%);
    }

@media (max-width: 991px) {
    .event .event-sign {
        display: block;
    }

        .event .event-sign div {
            margin-bottom: 24px;
        }
}

/* Collapse / Accordion */

.accordion-btn {
    position: relative;
    display: block;
    font-weight: 600;
    font-size: 1.125rem;
    line-height: 23px;
    padding: 8px 0;
}

    .accordion-btn::after {
        position: absolute;
        content: "";
        background: url(../icons/haitari_avaakaikki.svg) no-repeat left;
        background-size: cover;
        width: 50px;
        height: 20px;
        bottom: 8px;
        margin-left: 4px;
    }

    .accordion-btn.expanded::after {
        background-image: url(../icons/haitari_suljekaikki.svg);
        height: 26px;
    }

.collapse-header {
    width: 100%;
    text-align: left;
}

.collapsed .collapse-header .collapse-title {
    position: relative;
    display: block;
    font-size: 1.125rem;
    color: #005A97;
    background-color: #F0E5EE;
    background-image: url();
    background-repeat: no-repeat;
    padding: 10px 40px 10px 24px;
    margin: 0;
    cursor: pointer;
}

article .collapsed {
    border: 2px solid transparent;
}


    article .collapsed .content {
        padding: 0 30px;
        display: none;
    }

    article .collapsed.open {
        border: 2px solid #F0E5EE;
        background: #FFF;
        margin-bottom: 15px;
    }

        article .collapsed.open .content {
            display: block;
        }

.collapsed.open .collapse-header .collapse-title {
    background-color: #FFF;
}


article .collapsed .collapse-header .collapse-title::after {
    content: "";
    width: 37px;
    height: 35px;
    position: absolute;
    right: 10px;
    top: 7px;
    background-image: url(../icons/haitari_kiinni.svg);
    background-repeat: no-repeat;
}

article .collapsed.open .collapse-header .collapse-title::after {
    background-image: url(../icons/haitari_auki.svg);
}

/* Sidebar */

.sidebar #printLink {
    display: block;
    margin: 40px 0;
}

.sidebar .social-media-buttons {
    margin-bottom: 30px;
}

    .sidebar .social-media-buttons h4 {
        font-size: 1.3125rem;
    }

    .sidebar .social-media-buttons img {
        height: 25px;
    }

    .sidebar .social-media-buttons .some-btns {
        display: flex;
    }

.social-media-buttons img {
    max-width: 25px;
}

a.some-btn {
    cursor: pointer;
    margin-right: 8px;
}

.sidebar h2 {
    font-size: 1.3125rem;
    line-height: 27px;
}

.sidebar a {
    font-weight: 600;
}

@media (max-width: 767px) {
    .sidebar .social-media-buttons, .mobile-sidebar .social-media-buttons {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .sidebar #printLink {
        display: none;
    }

    .mobile-sidebar {
        flex-direction: column;
        margin-bottom: 30px;
        width: 100%;
    }
}

/* Contact page */

.peoplesearchblock form, .formblock form {
    margin-bottom: 40px;
}

.formblock {
    margin: 30px 0;
}

    .peoplesearchblock input.text, .peoplesearchblock select,
    .formblock input.text, .formblock select {
        max-width: 100%;
        height: 40px;
        margin-bottom: 24px;
        border: 1px solid #7FACCD;
        padding: 0 16px;
    }

    .peoplesearchblock textarea,
    .formblock textarea {
        margin-bottom: 24px;
        padding: 8px 16px;
    }

    .peoplesearchblock select,
    .formblock select {
        color: #005A97;
    }

    .peoplesearchblock .btn img,
    .formblock .btn img {
        height: 25px;
        margin: 0 0 2px 5px;
    }

    .peoplesearchblock label,
    .formblock label {
        display: block;
    }

.peoplesearchblock .results {
    padding-left: 0;
}

.peoplesearchblock .result h4 a {
    color: #1D1D1D;
}

    .peoplesearchblock .result h4 a:hover {
        color: #7F5895;
    }

.peoplesearchblock .result div span {
    display: inline-block;
    width: 135px;
    float: left;
    margin-bottom: 8px;
}

.peoplesearchblock .result .result-content {
    margin-bottom: 8px;
}

@media (max-width: 576px) {
    .peoplesearchblock .result div span {
        float: none;
    }
}

/* Search page */
/* Search page */

.skip-main.skip-search {
    opacity: 0;
    color: #FFF;
}

    .skip-main.skip-search:focus {
        opacity: 1;
    }

.search-results fieldset > .input-group {
    margin-bottom: 40px;
    padding-bottom: 40px;
    border-bottom: 1px dotted #005A9C;
}

.search-results .input-group {
    position: relative;
}

.search-results .input-group-field {
    position: relative;
    display: flex;
    height: 48px;
    width: 100%;
    padding: 0 40px 0 24px;
    /*margin-bottom: 40px;*/
    border: 1px solid #005A9C;
    align-items: center;
}

    .search-results .input-group-field label {
        margin-bottom: 0;
    }


.search-results .search-input-frame {
    display: flex;
    align-items: flex-end;
}

#searchItems > .row {
    margin-left: 0;
    margin-right: 0;
}

.search-results .select-categories {
    position: relative;
    background: url(../icons/downBlue.svg) no-repeat 95%;
    cursor: pointer;
}

.left-side .category-frame {
    margin-top: 36px;
}

.left-side.search-results .select-categories {
    background: none;
    border: none;
    padding: 0;
    margin-bottom: 0;
    cursor: default;
}

.search-results .category-list {
    position: absolute;
    display: none;
    background: #FFF;
    border: 1px solid #005A9C;
    margin: 0 15px;
    padding: 12px 24px;
    top: 50px;
    left: 0;
    width: 100%;
    max-height: 500px;
    overflow-y: scroll;
    z-index: 10;
}

.left-side.search-results .category-list {
    display: block;
    position: relative;
    border: none;
    overflow-y: auto;
    max-height: none;
    margin: 0 0 24px 0;
    padding: 0;
    top: 0;
}

.left-side #categories {
    background: #005A97 url(../icons/down.svg) no-repeat 96% 50%;
    color: #FFF;
    padding: 4px 8px;
    animation: 0.2s;
    transition: 0.2S;
    cursor: pointer;
}

    .left-side #categories.open {
        background-image: url(../icons/up.svg);
    }

.left-side.search-results h2 {
    margin-top: 24px;
    margin-bottom: 4px;
}

.left-side #category-list .custom-radio {
    height: 20px !important;
    width: 20px !important;
    top: 2px !important;
}

    .left-side #category-list .custom-radio::after {
        top: 2px !important;
        left: 2px !important;
        width: 14px !important;
        height: 14px !important;
    }

.left-side .search-date {
    display: flex;
    flex-direction: column;
}

    .left-side .search-date .date-frame {
        display: flex;
        flex-grow: 1;
        align-items: flex-end;
    }

    .left-side .search-date input[type="date"] {
        margin-bottom: 0;
    }

.left-side .row.equal {
    margin-bottom: 30px;
}

.left-side .side-btns .btn {
    width: 100%;
}

.search-results .category-list.toggled {
    display: block;
    transition: 0.2s;
}

.search-results input[type="date"]::-webkit-calendar-picker-indicator {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: auto;
    height: auto;
    color: transparent;
    background: transparent;
    z-index: 1;
}



input[type="date"]::-webkit-inner-spin-button {
    visibility: hidden !important;
}

.search-results input[type="date"].input-group-field {
    padding: 0 8px;
}

    .search-results input[type="date"].input-group-field::after {
        position: absolute;
        content: "";
        width: 25px;
        height: 25px;
        background: url(../icons/calendar.svg) no-repeat center;
        right: 5px;
    }

/*
::-webkit-inner-spin-button,
::-webkit-calendar-picker-indicator {
    display: none;
    -webkit-appearance: none;
}*/

.search-results .search-btn {
    position: absolute;
    background: url(../icons/searchBlue.svg) no-repeat center;
    color: transparent;
    height: 40px;
    margin: 0;
    bottom: 4px;
    right: 24px;
    min-width: 40px;
    padding: 16px;
}

#cludo-search .search-results .search-btn {
    right: 8px;
}

#cludo-quick-search-form .search-results {
    position: relative;
}


#cludo-mobile-quick-search-form .search-results {
    position: relative;
    margin-right: 12px;
}

#cludo-quick-search-form .search_autocomplete,
#cludo-mobile-quick-search-form .search_autocomplete {
    display: none !important;
}

#cludo-mobile-quick-search-form .search-btn {
    margin: 0;
    right: 4px;
    top: 4px;
    bottom: inherit;
}


#cludo-mobile-quick-search-form .search-btn {
    margin: 0;
    right: 4px;
}

#cludo-search-results #cludo-categories {
    background: #005A97 url(../icons/down.svg) no-repeat 96% 50%;
    color: #FFF;
    padding: 4px 8px;
    animation: 0.2s;
    transition: 0.2S;
    cursor: pointer;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 32px;
    margin: 8px 0 16px;
    width: 100%;
    border: 0;
    text-align: left;
}

    #cludo-search-results #cludo-categories.open {
        background-image: url(../icons/up.svg);
    }

#cludo-search-results .search-filters .facet-list-item {
    display: block !important;
    position: relative;
    margin: 6px 24px 6px 0 !important;
    font-size: 1.125rem !important;
}

    #cludo-search-results .search-filters .facet-list-item.active a {
        text-decoration: underline !important;
        text-decoration-style: dotted !important;
        text-underline-offset: 3px;
    }

    #cludo-search-results .search-filters .facet-list-item a:focus,
    #cludo-search-results .search-filters .facet-list-item a:hover {
        text-decoration: dotted !important;
    }

#cludo-search .search-input-frame {
    display: flex;
    flex-direction: column;
    position: relative;
}

.search-results .listResult h2,
#cludo-search-results ul h2, .cludo-search-results ul ul h2, ul.search_autocomplete ul h2 {
    font-size: 1.125rem;
    line-height: 23px;
}

.search-results .listResult p, #cludo-search-results ul .search-results-item .path, .cludo-search-results ul .search-results-item .path {
    margin-bottom: 32px;
}

#cludo-search-results a p {
    color: #1D1D1D !important;
    margin-bottom: 0 !important;
}

#cludo-search-results a {
    text-decoration: none !important;
}

    #cludo-search-results a h2, #cludo-search-results a {
        text-decoration: underline;
    }

        #cludo-search-results a span {
            font-size: 14px;
        }


#cludo-search-results p b {
    font-weight: 400 !important;
}

#cludo-search-results ul .search-results-item, .cludo-search-results ul .search-results-item {
    border-bottom: 1px solid rgba(0,0,0,.1);
    padding-bottom: 1rem !important;
    margin-bottom: 1rem;
}


.search-results .radio-btns {
    display: flex;
}

.search-results .radio-label {
    display: block;
    position: relative;
    padding-left: 35px;
    margin: 12px 24px 12px 0;
    font-size: 1.125rem;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

    .search-results .radio-label.pdf-category {
        border-top: 1px dotted #005A9C;
        margin-top: 20px;
        padding-top: 12px;
    }

.search-results input[type="radio"] {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

.search-results .custom-radio {
    position: absolute;
    top: 0;
    left: 0;
    height: 25px;
    width: 25px;
    margin: 2px;
    background-color: #FFF;
    border: 1px solid #005A9C;
    border-radius: 50%;
}

.left-side #category-list .pdf-category .custom-radio {
    top: 13px !important;
}


/*
.search-results .radio-label:hover input ~ .custom-radio {
    background-color: #ccc;
}

.search-results .radio-label input:checked ~ .custom-radio {
    background-color: #2196F3;
}*/

.radio-label input[type="radio"]:checked ~ span {
    font-weight: 600;
}

.custom-radio:after {
    content: "";
    position: absolute;
    display: none;
}

.search-results .radio-label input:checked ~ .custom-radio:after {
    display: block;
}

.radio-label input[type="radio"]:focus ~ span {
    outline: 2px solid #A6C8FF;
    outline-offset: 2px;
}

.search-results .radio-label .custom-radio:after {
    top: 3px;
    left: 3px;
    width: 17px;
    height: 17px;
    border-radius: 50%;
    background: #005A9C;
}

.category input[type="checkbox"] {
    position: absolute;
    height: 1px;
    width: 1px;
    overflow: hidden;
    clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
    clip: rect(1px, 1px, 1px, 1px);
}

    .category input[type="checkbox"] + label {
        position: relative;
    }

        .category input[type="checkbox"] + label::before {
            content: "";
            position: relative;
            display: inline-block;
            margin-right: 10px;
            margin-bottom: -3px;
            width: 20px;
            height: 20px;
            border: 1px solid #005A9C;
            background: #FFF;
        }

    .category input[type="checkbox"]:checked + label::after {
        content: "";
        position: absolute;
        top: 6px;
        left: 4px;
        border-left: 2px solid #005A9C;
        border-bottom: 2px solid #005A9C;
        height: 6px;
        width: 13px;
        transform: rotate(-45deg);
    }

    .category input[type="checkbox"]:focus + label::before {
        outline: #5d9dd5 solid 1px;
    }

    .category input[type="checkbox"]:focus + label {
        outline: #5d9dd5 solid 1px;
        outline-offset: 2px;
    }

    .category input[type="checkbox"]:disabled + label {
        color: #585858;
    }

input[type="checkbox"]:disabled + label::before {
    background: #CFCFCF;
}

.search-results .listResult h2 {
    font-size: 1.125rem;
    line-height: 23px;
}

.search-results .listResult p {
    margin-bottom: 32px;
}

ul.results {
    margin-bottom: 64px;
}

.pagination li {
    display: block;
    border: 1px solid #7FACCD;
    padding: 4px 12px;
}

    .pagination li.current {
        border-color: #CACACA;
    }

        .pagination li.current a {
            color: #CACACA;
        }

@media (max-width: 991px) {
    #main-content#left-sidebar {
        margin: auto;
    }

    .category-frame {
        border: 1px solid #005A97;
        padding: 8px;
    }


    .left-side.search-results .category-list.site-list {
        display: block;
    }

    .left-side.search-results .category-list {
        display: none;
    }
}

@media (max-width: 767px) {
    .search-results .fieldset {
        /* margin-right: 24px;*/
    }

        .search-results .fieldset .row {
            margin-left: 0;
            margin-right: 0;
        }

    .search-results .input-group-field {
        margin-bottom: 24px;
    }

    .search-results .search-btn {
        bottom: 28px;
    }
}

@media (max-width: 575px) {
    .search-results .fieldset {
        margin-right: 0;
    }

        .search-results .fieldset .row {
            margin-left: 0;
            margin-right: 0;
        }
}

/* Forms */

.EPiServerForms label.Form__Element__Caption {
    width: 100%;
}

.EPiServerForms input[type="radio"] {
    margin-right: 8px;
}

.EPiServerForms .FormTextbox__Input {
    border: 1px solid #005A9C;
    padding: 12px;
    width: 100%;
}

.EPiServerForms select {
    background: url(../icons/downBlue.svg) no-repeat 95%;
    border: 1px solid #005A9C;
    height: 48px;
    padding-right: 32px;
    padding-left: 16px;
    -moz-appearance: none;
    -webkit-appearance: none;
}

.EPiServerForms input[type="reset"] {
    font-size: 1.125rem !important;
    min-height: 48px;
    background-color: #FFF;
    border: 2px solid #005A97;
    color: #005A97 !important;
    font-weight: 600;
    padding: 0 32px;
}

    .EPiServerForms input[type="reset"]:hover, .EPiServerForms input[type="reset"]:focus {
        background-color: #F0E5EE;
    }

        .EPiServerForms input[type="reset"]:hover::after {
            content: "▸";
            position: absolute;
            margin-left: 4px;
        }


.EPiServerForms button[type="submit"] {
    border: #005A97;
    background-color: #005A97;
    color: #FFF !important;
    font-size: 1.125rem !important;
    font-weight: 600;
    min-height: 48px;
    padding: 0 32px;
}

    .EPiServerForms button[type="submit"]:hover, .EPiServerForms button[type="submit"]:focus {
        background-color: #7F5895;
    }