/*
Theme Name: Bioerko
Author: Kooders
Description: Bootstrap 4 based theme by Kooders for Biotalouden erikoistumiskoulutus Itä-Suomi
Version: 0.0.1
Tags: bootstrap kooders
*/

::-webkit-scrollbar {
    width: 10px;
}

/* Track */
::-webkit-scrollbar-track {
    background: #e8e8e8;
}

/* Handle */
::-webkit-scrollbar-thumb {
    background: linear-gradient( 90deg, #24cfa9 0%, #17b4bf# 100% );
    border-radius: 5px;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
    background: #17b4bf;
}

:focus {
    background-color: rgba(255, 255, 0, 0.10);
    outline: #00a0ff auto 1px;
}

body {
    background-color: #f8f9fa;
    background-image: url('../img/funky-lines.png');
    font-family: 'Comfortaa', cursive;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    color: #35423d;
    transition: all 0.3s;
}

h1, h2, h3 {
    font-family: 'Palanquin Dark', sans-serif;
    font-weight: 700;
}

a {
    text-decoration: underline;
    color: #35423d;
    font-weight: 500;
}

button, .btn,
input[name="submit"] {
    font-family: 'Palanquin Dark', sans-serif;
    font-weight: 700;
    font-size: 1.2em;
    border-radius: 50px;
    border-color: transparent;
    padding: 5px 25px;
}

.btn-primary,
input[name="submit"] {
    background: linear-gradient( 90deg, #24cfa9 0%, #17b4bf 100% );
    color: white;
}

a.btn {
    text-decoration: none;
}

a.navbar-brand {
    padding: 0px;
}

a.navbar-brand img {
    height: 90px;
    width: auto;
}

aside#secondary {
    background-color: #24cfa9;
    color: #f9f9f9;
    background: linear-gradient( 90deg, #24cfa9 0%, #17b4bf 100% );
    border-radius: 25px;
    padding: 30px 25px;
}

section#primary {
    padding: 50px 15px;
}

#main_nav {
    background-color: white;
    min-height: 90px;
    font-family: 'Palanquin Dark', sans-serif;
    font-size: 1.3rem;
    font-weight: 700;
}

#main_nav li a {
    text-decoration: none;
    font-size: 18px;
    font-size: 1.2rem;
}

#main_nav li a.nav-link {
    padding: 10px 20px;
}

#main_nav li a:hover {
    color: #24cfa9;
}

#main_nav li a.active-lang {
    color: #24cfa9;
}

#main_nav li.current-menu-item,
#main_nav li.current-page-ancestor,
#main_nav li.current_page_parent {
    border-bottom: 5px solid #17b4bf;
    border-image: linear-gradient( 90deg, #24cfa9 0%, #17b4bf 100% ) 1;
}

#menu-sivulinkit-fi .dropdown-menu,
#menu-sivulinkit-en .dropdown-menu {
    border: none;
    border-radius: 20px;
}

#menu-sivulinkit-fi .dropdown-menu li a,
#menu-sivulinkit-en .dropdown-menu li a {
    font-size: 1.1em;
    font-weight: 600;
}

#menu-sivulinkit-fi .dropdown-menu li:first-child,
#menu-sivulinkit-en .dropdown-menu li:first-child {
    border-bottom: 2px solid #24cfa9;
}

#menu-sivulinkit-fi .dropdown-menu li:first-child a,
#menu-sivulinkit-en .dropdown-menu li:first-child a {
    font-size: 1.5em;
    font-weight: 700;
    color: #35423d;
}

.navbar-toggler {
    font-size: 1.5em;
    color: #35423d;
}
.dropdown-toggle::after {
    display: inline-block;
    margin-left: .255em;
    vertical-align: .255em;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f078";
    border: none;
    font-size: 0.8em;
    top: 3px;
    position: relative;
}

.search-field {
    border: 1px solid #24cfa9;
    border-radius: 25px 0px 0px 25px;
    background-color: #f9f9f9;
    font-family: 'Comfortaa', cursive;
    font-weight: 400;
    color: #35423d;
    padding: 5px 0px 0px 20px;
    margin-right: -4px;
    height: auto;
    flex: 1 1 auto;
    width: 1%;
}

.btn.search-submit {
    background: linear-gradient( 90deg, #24cfa9 0%, #17b4bf 100% );
    border-radius: 0px 25px 25px 0px !important;
    border-color: transparent;
    color: white;
    font-size: 1em;
}

#header_strip {
    background: rgba( 62,233,192,1 );
    background: linear-gradient( 90deg, #75f4c5 0%, #005dbd 100% );
    z-index: 1;
    position: relative;
    height: auto;
    padding: 7px 20px;
    box-shadow: 0 4px 7px -5px rgb( 21, 39, 49 );
    text-align: right;
    display: inline-block;
    width: 100%;
}

#header_strip section {
    width: 50%;
    display: inline-block;
}

#header_strip #theme_settings {
    float: left;
    text-align: left;
    line-height: 1.5;
    font-family: 'Palanquin Dark', sans-serif;
    margin-top: -5px;
}

#header_strip #theme_settings .row {
    min-height: 34px;
}

#normal {
    font-size: .8125rem;
    cursor: pointer;
    display: inline-block;
}

#medium {
    font-size: 1.125rem;
    cursor: pointer;
    padding: 0px 5px;
    display: inline-block;
}

#large {
    font-size: 1.4375rem;
    cursor: pointer;
    display: inline-block;
}

#added_contrast {
    margin-left: 15px;
    margin-bottom: 0px;
}

#added_contrast #toggle {
    position:relative;
    top: 2px;
}

.selected-letter {
    text-decoration: underline;
}

#header_strip a {
    text-decoration: none;
    color: white;
    margin-left: 15px;
    font-family: 'Palanquin Dark', sans-serif;
}

#fp_header_img {
    height: 50vh;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-color: rgba( 26, 192, 178, 0.35 );
    background-blend-mode: multiply;
}

#parent_contents {
    list-style: none;
    padding: 0;
}

#parent_contents li {
    display: inline-block;
    margin-right: 30px;
    font-family: 'Palanquin Dark', sans-serif;
    font-size: 1.3rem;
    font-weight: 700;
}

#parent_contents li.current_page_item a {
    color: #17b4bf;
}

#page_content {
    position: relative;
    z-index: 2;
}

.header-margin {
    margin-top: -100px;
    position: relative;
    z-index: 3;
}

.post-thumbnail img {
    width: 100%;
    height: auto;
}

.border-r-20 {
    border-radius: 20px;
}

.turquoise {
    color: #17b4bf;
}

.white-bg {
    background-color: #f8f9fa;
    box-shadow: 0px 2px 7px -5px rgb( 21, 39, 49 );
    display: inline-block;
}

.white-bg:not(#companion_wrapper) img {
    border-radius: 20px;
    height: auto;
}

.white-bg iframe {
    width: 100%;
    border-radius: 25px;
    height: 60vw;
    max-height: 614px;
}

.card-img-bg {
    height: 200px;
    width: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 25px 25px 0px 0px;
    background-color: rgba( 75, 234, 221, 0.16 );
    background-blend-mode: overlay;
}

.card {
    border-radius: 25px;
    border: none;
}

.widget_archive ul,
.widget_categories ul {
    padding: 0;
}

.widget_archive ul li,
.widget_categories ul li {
    list-style: none;
}

.widget_archive ul li a,
.widget_categories ul li a {
    color:  #f8f9fa;
}

.comment-form-comment label,
.comment-form-comment textarea {
    display: inline-block;
    width: 100%;
}

.comment-form-comment textarea {
    border: 1px solid #24cfa9;
    border-radius: 20px;
    background-color: #f9f9f9;
    font-family: 'Comfortaa', cursive;
    font-weight: 400;
    color: #35423d;
    padding: .5rem 1rem;
    height: auto;
}

.comment-list {
    list-style: none;
    padding: 20px;
    background-color: #f8f9fa;
    box-shadow: 0px 2px 7px -5px rgb( 21, 39, 49 );
}

.comment-list .children {
    list-style: none;
    padding: 20px 20px 20px 40px;
}

.comment-author img {
    height: 30px;
    width: auto;
}

.commentmetadata {
    font-size: .9em;
    padding-left: 35px;
}

.comment-body p {
    margin-top: 15px;
    padding-left: 35px;
}

.comment-body .reply {
    float: right;
}

.comment-body .reply a:hover {
    color: #24cfa9;
}

.switch {
    position: relative;
    display: inline-block;
    width: 45px;
    height: 20px;
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #49bcc2;
    -webkit-transition: .4s;
    transition: .4s;
}

.slider:before {
    position: absolute;
    content: "";
    height: 13px;
    width: 13px;
    left: 2px;
    bottom: 4px;
    background-color: white;
    -webkit-transition: .4s;
    transition: .4s;
}

input:checked + .slider {
    background-color: #2196F3;
}

input:focus + .slider {
    box-shadow: 0 0 1px #2196F3;
}

input:checked + .slider:before {
    -webkit-transform: translateX(24px);
    -ms-transform: translateX(24px);
    transform: translateX(24px);
}

/* Rounded sliders */
.slider.round {
    border-radius: 34px;
}

.slider.round:before {
    border-radius: 50%;
}

#companion_wrapper img {
    max-width: 100%;
    height: auto;
}

footer {
    background: rgba( 62,233,192,1 );
    background-image: url( '../img/footer_lines.png' ), linear-gradient( 90deg, #17b4bf 0%, #24cfa9 100% );
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 60px 0px;
    margin-top: 50px;
}

#backToTop {
    position: fixed;
    right: 0px;
    bottom: 20px;
    padding: 10px 15px;
    font-size: 22px;
    background: rgba( 62,233,192,1 );
    background-image: linear-gradient( 90deg, #17b4bf 0%, #24cfa9 100% );
    color: #FFF;
    border-radius: 30px 0px 0px 30px;
    border: 2px solid white;
    border-right: none;
    transition: all 0.3s ease;
    z-index: 20;
}

#backToTop svg {
    height: 35px;
    width: auto;
    fill: white;
}

#backToTop:hover {
    padding: 10px 30px 10px 15px;
}

#backToTop.hiding {
    right: -70px;
}

.companion_logos section {
    display: inline-block;
    width: calc( 100% / 5 );
    text-align: center;
}

.companion_logos section:nth-child(3) {
    width: calc( 100% / 5 * 2 );
}

.companion_logos section a img {
    height: 100px;
    width: auto;
}

#school_logos {
	/*background-color: white;
    padding: 20px;
    border-radius: 25px;*/
}

#school_logos section {
    display: inline-block;
    width: calc( 100% / 3 );
    text-align: center;
}

#fp_companion_logos .companion_logos {
    max-width: 550px;
    float: right;
    padding: 20px;
    background-color: #FFF;
    border-radius: 0px 0px 0px 15px;
}

#fp_companion_logos .companion_logos section a img {
    /* height: 60px !important; */
    width: auto;
}

#school_logos section a img {
    height: 60px !important;
    width: auto;
}

#footer_bioerko {
    text-align: center;
    margin-top: 30px;
    margin-bottom: 30px;
}

#footer_bioerko section:first-child {
    display: inline-block;
    width: calc( 100% / 3 );
    text-align: right;
}
#footer_bioerko section:nth-child(2) {
    display: inline-block;
    width: calc( 100% / 3 * 2 );
}

#footer_bioerko section img {
    height: 100px !important;
    width: auto;
}

#footer_bioerko section a {
    text-decoration: none;
    color: white;
    margin-left: 15px;
    font-family: 'Palanquin Dark', sans-serif;
}

#footer_links section {
    display: inline-block;
    width: calc( 100% / 2 );
    color: white;
}

#footer_links section a {
    text-decoration: none;
    color: white;
}

#footer_links section:first-child {
    text-align: right;
}
#footer_links section:nth-child(2) {
    text-align: left;
}

body.medium,
body.medium #main_nav li a {
    font-size: 1.3rem;
}

body.large,
body.large #main_nav li a {
    font-size: 1.6rem;
}

body.contrast #main_nav li a:hover,
body.contrast a:hover {
    color: #008185;
}

body.contrast #main_nav li a.active-lang {
    color: #008185;
}

body.contrast #header_strip {
    background: #008185;
    color: white;
}

body.contrast input:checked + .slider {
    background-color: #C8E6FF;
}

body.contrast .slider:before {
    background-color: #008185;
}

body.contrast button.btn.btn-primary,
body.contrast button.btn.search-submit,
body.contrast #backToTop,
body.contrast a.btn.btn-primary,
body.contrast aside#secondary {
    background: #008185;
    color: #FFF;
}

body.contrast .search-field {
    border: 1px solid #008185;
}

body.contrast footer {
    background: #008185;
    background-image: url(../img/footer_lines.png), linear-gradient( 90deg, #008185 0%, #008185 100% );
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

@media(max-width: 380px) {
    p {
        /*word-break: break-all;*/
    }
    
    #added_contrast {
    	margin-left: 0px;
    }
}

@media(max-width: 470px) {
    #footer_bioerko section:first-child,
    #footer_bioerko section:nth-child(2)
     {
        width: 100%;
        text-align: center;
    }
    .companion_logos section {
        height: 80px !important;
    }
}

@media(max-width: 576px) {
    .header-margin {
        margin-top: -230px;
    }
    a.btn.btn-block {
        margin-bottom: 10px;
    }
    .some-vimpain a {
        width: 100%;
        display: inline-block;
        margin: 0px;
    }
    #header_strip section {
    	font-size: 0.7em;
    }
}

@media(max-width: 767px) {
    #page_content {
        padding: 15px 0px;
    }
    #footer_bioerko section:first-child img {
        margin-bottom: 30px;
    }

    #footer_links section:first-child,
    #footer_links section:nth-child(2) {
        text-align: center;
        width: 100%;
    }
    a {
        word-break: break-word;
    }
    button:not(.navbar-toggler, #backToTop),
    .btn,
    input[type="submit"] {
        width: 100%;
    }

    body.medium #header_strip section,
    body.large #header_strip section {
        width: 100%;
    }
}

@media(max-width: 992px) {
    h1, h2, h3 {
        word-break: break-word;
    }
    
    h1 {
    	font-size: 2em;
    }
    
    h2, h3 {
        font-size: 1.5em;
    }
    .companion_logos section {
        /*width: calc( 100% / 2 );
        margin-bottom: 20px;*/
    }
    #school_logos section {
        width: 100%;
        margin-bottom: 20px;
    }
    body.medium .some-vimpain a,
    body.large .some-vimpain a {
        width: 100%;
        display: inline-block;
        margin: 0px;
    }
}

@media(max-width: 1200px) {
    #main_nav li {
        text-align: center;
    }
    #menu_collapse .search-form {
        margin: 20px 0px;
        width: 100%;
    }

    #menu_collapse .search-form .input-group {
        width: 80%;
        margin: auto;
    }
}