:focus {
    position: relative;
    z-index: 10000;
    transition: none;
    outline: 2px solid #000;
}

/* saira-condensed-700 - latin */
@font-face {
    font-family: 'Saira Condensed';
    font-style: normal;
    font-weight: 700;
    src: url('fonts/saira-condensed-v6-latin-700.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('fonts/saira-condensed-v6-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('fonts/saira-condensed-v6-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
    url('fonts/saira-condensed-v6-latin-700.woff') format('woff'), /* Modern Browsers */
    url('fonts/saira-condensed-v6-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
    url('fonts/saira-condensed-v6-latin-700.svg#SairaCondensed') format('svg'); /* Legacy iOS */
}

/* saira-condensed-900 - latin */
@font-face {
    font-family: 'Saira Condensed';
    font-style: normal;
    font-weight: 900;
    src: url('fonts/saira-condensed-v6-latin-900.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('fonts/saira-condensed-v6-latin-900.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('fonts/saira-condensed-v6-latin-900.woff2') format('woff2'), /* Super Modern Browsers */
    url('fonts/saira-condensed-v6-latin-900.woff') format('woff'), /* Modern Browsers */
    url('fonts/saira-condensed-v6-latin-900.ttf') format('truetype'), /* Safari, Android, iOS */
    url('fonts/saira-condensed-v6-latin-900.svg#SairaCondensed') format('svg'); /* Legacy iOS */
    }

/* roboto-regular - latin */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    src: url('fonts/roboto-v20-latin-regular.eot'); /* IE9 Compat Modes */
    src: local(''),
         url('fonts/roboto-v20-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
         url('fonts/roboto-v20-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
         url('fonts/roboto-v20-latin-regular.woff') format('woff'), /* Modern Browsers */
         url('fonts/roboto-v20-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
         url('fonts/roboto-v20-latin-regular.svg#Roboto') format('svg'); /* Legacy iOS */
  }
  
  /* roboto-900 - latin */
  @font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 900;
    src: url('fonts/roboto-v20-latin-900.eot'); /* IE9 Compat Modes */
    src: local(''),
         url('fonts/roboto-v20-latin-900.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
         url('fonts/roboto-v20-latin-900.woff2') format('woff2'), /* Super Modern Browsers */
         url('fonts/roboto-v20-latin-900.woff') format('woff'), /* Modern Browsers */
         url('fonts/roboto-v20-latin-900.ttf') format('truetype'), /* Safari, Android, iOS */
         url('fonts/roboto-v20-latin-900.svg#Roboto') format('svg'); /* Legacy iOS */
  }
  
  

.red-background {
    background-image: url('images/body_bg.jpg');
    background-size: cover;
    padding-top: 7rem;
    padding-bottom: 7rem;
}

.red-background h1, .red-background p, .red-background h2 {
    color: #fff;
}

.red-background h1, .red-background h2, .red-background h3, .red-background h4 {
    font-family: 'Saira Condensed';
    font-weight: 700;
}

.red-background p {
    font-family: 'Roboto';
    font-weight: 400;
}

.red-background .button {
    position: relative;
    font-family: 'Roboto';
    font-weight: 900;
    padding: .75rem 2.5rem .75rem 1.5rem;
    text-transform: uppercase;
    color: #981A2F;
    background: #fff;
    border: 0;
    cursor: pointer;
    transition: .25s;
}

.red-background .button:after {
    position: absolute;
    content: '';
    background-image: url('images/buttonarrow.svg');
    background-repeat: no-repeat;
    width: 14px;
    height: 14px;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    speak: none;
}

.red-background .button:hover {
    scale: 1.05;
}

.red-background .gform_button.button {
    position: relative;
    font-family: 'Roboto';
    font-weight: 900;
    padding: .75rem 1.5rem .75rem 1.5rem;
    text-transform: uppercase;
    color: #fff;
    background: #981A2F;
    border: 0;
    cursor: pointer;
    transition: .25s;
    border-radius: 0;
    border: 2px solid #981A2F;
}

.container-fluid {
    width: 100%;
}

.custom-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    max-width: 1080px;
    padding: 2rem 1rem;
    margin: 0 auto;
}

.custom-container h1 {
    font-size: 5rem;
}

.custom-container h2 {
    margin-bottom: 1.5rem;
}

.align-items-center {
    align-items: center;
}

.text-center {
    text-align: center;
}

.col-100 {
    width: 100%;
}

.col-70 {
    width: 70%;
}

.col-30 {
    width: 30%;
}

.col-50 {
    width: 50%;
}

.col-20 {
    width: 20%;
}

body .gform_wrapper .gf_step {
    margin: 0;
    opacity: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}

body .gform_wrapper .gf_page_steps {
    display: flex;
    flex-direction: row;
    padding-bottom: .5rem;
}

body .gform_wrapper .gf_step_pending {
    display: none;
}

body .gform_wrapper .caret {
    display: inline-block;
    margin: 0 .5rem;
}

body .gform_wrapper .gf_page_steps .gf_step .caret:first-of-type {
    margin: 0;
}

body .page-1 .gf_page_steps {
    display: none;
}

body .gform_wrapper .gf_step_label {
    color: #2f2f2f;
}

body .gform_wrapper .gf_step span.gf_step_number {
    display: none;
}

body .gfield_html {
    color: #fff;
}

body .gform_wrapper .gform_page_footer {
    border: 0;
}

body .gform_wrapper .gfield_checkbox li input {
    margin-top: 5px;
}

.none {
    display: none;
}

.page-2 .col-50 {
    background: #fff;
    width: 100%;
    border-radius: 2rem;
    color: #2F2F2F;
    padding: 3rem 7rem;
}

.page-2 .button.gform_next_button {
    position: relative;
    background: #981A2F;
    color: #fff;
    border: 2px solid #981A2F;
}

.page-2 .button.gform_next_button:after {
    position: absolute;
    content: '';
    background-image: url('images/buttonarrowwhite.svg');
    background-repeat: no-repeat;
    width: 14px;
    height: 14px;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    speak: none;
}

.button.gform_previous_button {
    position: relative;
    background: #fff;
    color: #2F2F2F;
    border: 2px solid #2F2F2F;
    padding: .75rem 1.5rem .75rem 2.5rem;
    margin-right: 1.5rem;
}

.button.gform_previous_button:before {
    position: absolute;
    content: '';
    background-image: url('images/buttonback.svg');
    background-repeat: no-repeat;
    width: 14px;
    height: 14px;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    speak: none;
}

.button.gform_previous_button:after {
    background: none;
    speak: none;
}


.page-3 .col-50 {
    background: #fff;
    width: 100%;
    border-radius: 2rem;
    color: #2F2F2F;
    padding: 3rem 7rem;
}

.page-3 .col-50 h1 {
    color: #981A2F;
    font-size: 3rem;
}

.page-3 .col-50 h2 {
    color: #981A2F;
}

.page-3 .col-50 h3 {
    padding-bottom: 1.5rem;
}

.page-2 .col-50 .gfield_html {
    color: #2F2F2F;
}

.page-2 h2 {
    color: #981A2F;
}

.page-3 .col-50 .gfield_html {
    color: #2F2F2F;
}

.page-3 .col-50 h2 {
    margin-bottom: 0;
} 

.page-3 .col-50 h3 {
    font-size: 1.5rem;
    margin-top: 2rem;
} 

.page-3 .col-50 h4 {
    padding-top: 1rem;
    padding-bottom: 1rem;
    font-size: 1.25rem;
} 

.page-3 ol li {
    padding-top: .5rem;
    padding-bottom: .5rem;
} 

.page-3 a {
    text-decoration: underline;
}

.custom-footer {
    background: #981A2F;
    text-align: center;
}

.custom-footer p {
    color: #fff;
    margin-top: 2rem;
    margin-bottom: 1rem;
}

.hakemuskone_archive {
    background: #fff;
    width: 100%;
    border-radius: 2rem;
    color: #2F2F2F;
    padding: 7rem 3rem;
}

.hakemuskone_archive h1 {
    color: #981A2F;
    font-size: 3rem;
    margin-bottom: 2rem;
    text-align: center;
}

.hakemuskone_single h1 {
    color: #981A2F;
    font-size: 3rem;
    text-align: left;
}

.hakemuskone_single p {
    color: #2F2F2F;
}

.palvelu {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    margin-bottom: 1rem;
}

.palvelu a {
 color: #2F2F2F;
 font-size: 1rem;
 font-weight: 700;
}

.hakemuskone_archive.hakemuskone_single {
    background: #fff;
    width: 100%;
    border-radius: 2rem;
    color: #2F2F2F;
    padding: 3rem 3rem;
}

.hakemustiedot {
    padding-right: 2rem;
}

.hakemustiedot h2 {
    color: #2F2F2F;
}

.hakemustiedot .button.button.gform_previous_button {
    display: inline-block;
    margin-top: 1rem;
}

.takaisin {
    margin-top: 2rem;
}

.hakemus strong {
    font-size: 1rem;
}

.hakemus {
    border: 1px solid #ddd;
    padding: 1rem;
}

.button.lataa {
    display: inline-block;
    position: relative;
    background: #981A2F;
    color: #fff;
    border: 2px solid #981A2F;
    padding: .75rem 1.5rem .75rem 2.5rem;
}

.button.lataa:before {
    position: absolute;
    content: '';
    background-image: url('images/lataa.svg');
    background-repeat: no-repeat;
    width: 20px;
    height: 20px;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    speak: none;
}

.button.lataa:after {
    background-image: none;
    speak: none;
}

@media only screen and (max-width: 900px) {
    .red-background {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

    .custom-container h1 {
        font-size: 3rem;
    }

    .custom-container h2 {
        font-size: 2rem;
    }

    .col-50 {
        width: 100%;
    }

    .col-50.vasen {
        order: 2;
    }

    .col-50.oikea {
        order: 1;
    }

    .col-50.oikeakuva {
        max-width: 300px;
    }

    .page-2 .col-50 {
        padding: 2rem 2rem;
    }

    .page-3 .col-50 {
        padding: 2rem 2rem;
    }  

    .col-70 {
        width: 100%;
    }
    
    .col-30 {
        width: 100%;
    }

    .hakemus-container {
        margin-top: 1rem;
    }

}

@media only screen and (max-width: 750px) {
    .col-20 {
        width: 100%;
    }
}


.breadcrumb {
    max-width: 1080px;
    margin: 0 auto 1rem;
    text-align: center;
    color: #fff;
}

.breadcrumb span {
    display: inline-block;
    padding-left: 1rem;
    padding-right: 1rem;
}

.breadcrumb a {
    color: #fff;
}