﻿@import url(/Static/Css/cookieconsent.css);

@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;
}

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: 8px 0 16px;
    /*margin-bottom: 1rem;*/
}

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%;
    height: auto;
}

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;
    text-decoration: none;
    transition: 0.2s;
}

.event-sign .btn[target="_blank"]::after {
    background-image: inherit;
    background-position: inherit;
    right: inherit;
    top: inherit;
}

body .btn:focus {
    outline: 1px auto #000;
    box-shadow: 0 !important;
}

.form-control:focus {
    outline: 1px auto #000;
}

.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-color: #005A97;
    color: #FFF;
    z-index: 9999998;
}

header a {
    color: #FFF;
    font-weight: 600;
    border-bottom: 2px solid #005A97;
}

header a:hover, header a:focus {
    color: #FFF;
    transition: 0.2s;
    border-color: #FFF;
}

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;
}

/* Error page */

.error-page  .main-header {
    display: flex; 
    align-items: center;
    justify-content: flex-start;
}

.error-page  .main-header .logo {
    padding-left: 35px;
}
.error-page  .main-header .logo a {
    border: 0;
}

.error-page  .main-header .logo a:hover {
    border: 0;
}
.error-page  .main-header .logo .aka-logo {
    max-height: 50px;
    width: auto;
}


/* 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-color: #005A97;
    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 {
    display: flex; 
    height: 100px;
}

.menu .left-content {
    display: flex; 
    align-items: center; 
    flex-grow: 1; 
}

.menu .right-content {
    display: flex;
    align-items: center; 
}

.menu .languages .selection {
    display: flex;
}

.menu .quick-search-query {
    position: relative;
    border-radius: 0.25rem !important;
    background-color: #EEF4FA;
    min-width: 150px;
    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/search.svg) no-repeat center;
    padding: 0 8px;
}

.menu .input-group .input-group-btn img { display: none; }

.menu .input-group .input-group-btn button {
    height: 40px;
    margin: 0;
    padding: 8px 16px;
    min-width: inherit;
}

.menu ul {
    list-style: none;
}

.menu > ul {
    padding: 0;
    position: relative;
    box-sizing: border-box;
    text-align: left;
    margin-bottom: 0;                              
}

.menu > ul .right {
    margin-right: 30px;
}

.menu > ul a {
    border-bottom: none;
}

    .menu > ul a.btn {
        border: 1px solid;
        padding-right: 25px;
        padding-left: 25px; 
        margin: 0;
    }

    .menu > ul a.btn:after {
         content: "▸";
         position: absolute; 
         margin-left: 4px;
    }

    .menu > ul:before, .menu > ul:after {
        content: "";
        display: table;
    }

    .menu > ul:after {
        clear: both;
    }

    .menu > ul li strong span {
        color: #1D1D1D;
    }

    .menu > ul > li {
        float: left;
        padding: 0;
        margin: 0;
    }

        .menu > ul > li > a {
            text-decoration: none;
        }

            .menu > ul > li > a:hover {
                border-bottom: none;
            }

            .menu > ul > li > a.btn:hover {
                border-bottom: 1px solid #FFF;
            }

        .menu > ul > li a {
            /*text-decoration: none;
	*/
            padding: 8px 16px 8px 16px;
            display: block;
        }

        

        .menu > ul > li > ul {
            display: none;
            width: 100%;
            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: block;
                }

                .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: 0px;
    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: 1300px) {
    .menu > ul > li > ul {
        padding: 20px 15% !important;
    }
}

@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 {
        margin-top: 20px;
        padding-bottom: 20px;
    }

    body .menu > ul > li > a {
        padding-top: 13px;
        padding-bottom: 13px;
    }

    .menu-container {
        background: #005A9C;
    }

    #topmenu {
        text-align: center !important;
        margin: 0px auto;
        min-height: 100px;
    }

        #topmenu > .menu {
            margin: 0px auto;
        }

    .sticky {
        position: fixed;
        top: 0;
        width: 100%;
        z-index: 100000000000000001 !important;
    }

    .menu .mobile-bottom {
        display: none;
    }

    .menu .children a {
        position: relative;
    }

    .menu .children a::after {
        /*content: " ▼";*/
        content: "";
        position: absolute;
        background: url(../icons/down.svg) no-repeat center;
        height: 16px;
        width: 16px;
        font-size: 15px;
        margin-left: 5px;
        top: 14px;
        right: 0;
        transition: 0.2s;
    }

    .menu .desktopboxmenu a.togled::after {
        background-image: url('../icons/up.svg');
    }

    .menu .children.desktopboxmenu {
        cursor: pointer;
        margin-right: 32px;
    }

    .menu li.children.desktopboxmenu ul {
        cursor: default;
    }

    .menu .children.desktopboxmenu > a {
        border-bottom: 2px solid #005A9C;
        padding: 8px 24px 8px 8px;
    }

    .menu .children.desktopboxmenu:hover > a {
        border-color: #FFF;
    } 

    .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:hover {
        border-color: #FFF;
    }

    .menu > ul > li.right:hover {
        border-color: #005A9C;
    }

    #topmenu > .menu > ul > li:hover > a {
        color: #fff !important;
        /*font-weight:600!important;
		*/
    }

    .menu > ul > li > a {
        color: #FFF;
        font-size: 1.125rem;
        font-weight: 600;
        letter-spacing: -0.5px;
    }

    #topmenu > .menu > ul > li > ul {
        background-color: #E3EDF4;
        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%;
    }

        #topmenu > .menu > ul > li > ul > li span {
            color: #1D1D1D;
            padding-left: 0;
            font-size: 0.875rem;
        }

        #topmenu > .menu > ul > li > ul > li > a {
            pointer-events: none;
        }

        #topmenu > .menu > ul > li > ul > li a:hover {
            color: #7F5895;
        }

        #topmenu > .menu > ul > li > ul > li > ul > li a {
            color: #005A9C;
            display: inline;
        }

        #topmenu > .menu > ul > li > ul > li > ul > li a:hover {
            color: #7F5895;
            font-weight: 600 !important;
        } 

    .topnav-home-icon {
        margin-top: -5px;
    }

    .menu > ul > li.topnav-home-container {
        padding-left: 4px;
        margin-right: 8px;
    }

    .menu > ul > li.topnav-home-container:hover {
        border-color: #005A9C !important;
    }

    .aka-logo {
        height: 50px;
        width: auto;
    }

    body .menu > ul > li:nth-child(7) > a {
        margin-right: 0px !important;
    }

    .menu > ul > li > ul > li {
        width: 20%;
        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 5% !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;
            }
}

/*large desktop*/
@media only screen and (min-width: 1300px) {
    .menu > ul > li.topnav-home-container {
        padding-left: 35px;
        margin-right: 32px;
    }
}

@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: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        top: 0;
    }

    .menu-mobile {
        position: absolute;
        display: block; 
        background: url(../icons/mobile_menu.svg) no-repeat center;
        right: 10px;
    }

    .menu-mobile.selected {
        background-image: url(../icons/mobile_menuClose.svg);
    }

    .mobile-header .mobile-logo {
        margin-left: 12px;
        top: 15px;
        left: 15px;
    }

    .mobile-header .mobile-logo img {
        height: 42px;
        width: auto;
    }

    .menu .topnav-home-container {
        display: none;
    }
    

    header.main-header {
        height: inherit;
    }

    .menu {
        display: block;
        height: inherit;
        background-color: #005A97;
        left: 0;
        width: 100vw;
        z-index: 1000000000000000000000;
    }

    .menu .left-content, .menu .right-content {
        display: flex; 
        flex-direction: column;
        width: 100%;
    }

    .menu .show-on-mobile.left-content {
        height: 100%;
        overflow-y: scroll;
        
    }

    .menu .mobile-bottom {
        /*position: absolute !important;
        bottom: 0;
            */
    }

    .menu .mobile-bottom .btn {
        margin: auto 20px 0;
    }

    .menu .mobile-bottom ul {
        display: flex;
    }

    .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 .desktopboxmenu, .menu .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 {
        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: #E3EDF4;
        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;
    }

        .menu > ul li .mobileopen {
            display: block;
            font-weight: 600;
            margin-bottom: 20px;
            color: #005A97;
        }

        .menu > ul li > a {
            display: block;
            padding-top: 6px;
            color: #FFF;
        }

        .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;
    }

    .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;
    }

    .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 */

.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 .social-media a {
    display: inline-block;
    margin-right: 30px;
}

footer .social-media a::after {
    content: "";
}

footer .social-media a:hover::after {
    background-image: none;
} 
    

@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: 100000000 !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/variviiva.svg), url(../img/Etusivu_header_2_2x.jpg);
    background-position: bottom, center;
    background-size: 100% auto, cover;
    background-repeat: no-repeat;
    width: 100%; 
    min-height: 500px;
}

.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: #FFF;
    }

    .hero .ingress {
        text-align:center;
        color: #FFF;
    }

    .hero .buttons {
        margin-top: 4%;
    }

    .hero .btn {
        display: block;
        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 {
        padding: 60px 0; 
    }

    .top-content.second-top-content {
        padding: 60px 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: absolute; 
        bottom: 20px; 
        left: 155px;
    }

    .application-box .app-end:lang(sv) {
        left: 200px;
    } 

    .application-box .app-end::before {
        position: absolute; 
        display: block;
        content: "";
        width: 24px; 
        height: 48px; 
        background: url(../icons/huom.svg) no-repeat;
        bottom: 0; 
        left: -30px;
    }

    .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: 80px;
        }

        .application .application-box {
            height: 300px !important;
        }
    }

    @media (max-width: 767px) {
        .application .application-box {
            height: inherit !important;
            padding-bottom: 100px;
        }
    }

    /* Article blocks */

    .article-content {
        position: relative;
        padding-top: 60px;
    }

    .article-content::after {
        position: absolute;
        content: "";
        width: 236px;
        height: 300px; 
        bottom: -90px;
        left: 0;
        background-image: url(../img/some.svg);
        background-repeat: no-repeat;
        background-position: -100px 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;
        max-width: 100%;
        flex-shrink: 0;
    }

    @media (max-width: 1358px) {
        .article-content::after {
            display: none;
        }
    }

    @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;
    }

    .StartNewsList .news > div {
        display: flex;
        justify-content:space-between;
        align-items: center;
    }

    .news .StartNewsList h2 {
        float: left;
    }
    .news .StartNewsList span.rss {
        float: right;
        margin: 16px 0 24px;
    }


    .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; 
        margin: 16px 0;
    }

    .StartNewsList .rss {
        float: right;
        font-weight: 600;
        margin: 0;
    }

    .StartNewsList .created {
        font-weight: 600;
        margin-bottom: 12px;
    }

        .StartNewsList .newsframe.has-hr 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 {
        visibility: hidden;
        width: 100%;
    }

    .newsframe.has-hr hr {
        visibility: visible;
        width: 100%
    }

    .newsframe .liftimage {
        display:flex;
        width: 120px;
        height: 120px;
        align-items: center;
        justify-content:center;
    }

        .newsframe .liftimage img {
            max-height: 100%;
        }

    .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;
        }
    }

    /* 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 {
            background-image: none;
        }
    }

/* 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: 254px;
    }

.infobox {
    position: relative;
    height: 95%;
    padding: 32px 16px 24px 80px;
}

.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 img {
    position: absolute;
    left: 12px;
}

.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);
}

.readmorebox .boxblue {
    background-color: #F0F5FA;
    background-image: url(../img/laatikossa_kysyylisaa.svg);
}

.readmorebox .boxyellow {
    background-color: #F1F5A5;
    background-image: url(../img/laatikossa_kysyylisaa.svg);
}

.readmorebox .boxlila {
    background-color: #F0E5EE;
    background-image: url(../img/laatikossa_kysyylisaa.svg);
}

.readmorebox .boxred {
    background-color: #ff0000;
    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: 1099px) {
    .event-calendar .event .event-period {
        width: 185px;
    }
}

@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;
    min-width: 172px;
    margin-bottom: 0;
}

.event-sign .btn:after {
    content: "▸";
    position: absolute;
    top: unset !important;
}

@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;
}

.collapsed .collapse-header {
    width: 100%;
    text-align: left;
    border: 0;
    padding: 0;
}

.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;
}

.social-media-buttons img {
    height: 25px;
}

.social-media-buttons a {
    text-decoration: none;
}


.sidebar .social-media-buttons .some-btns {
    display: flex;
    align-items: center;
}

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 */
.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;
}

.peoplesearchblock textarea,
.formblock textarea {
    
    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 */

.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;
}



.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;
}