/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html{line-height:1.15;font-size: 1rem;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}*{box-sizing:border-box}

html {
    min-height: 100vh;
}

body {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    line-height: 140%;
    background: #eee;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    color: #666;
    padding: 40px;
}

.container {
    max-width: 640px;
    margin: 0 auto;
    padding: 0 40px;
    background: #fff;
    box-shadow: 0 4px 35px -10px rgba(0,0,0,0.1);
    border-radius: 2px;
    border-top: 6px solid #06358a;
}

.container header {
    padding: 40px 0 60px 0;
    box-sizing: border-box;

    margin-left: -40px;
    margin-right: -40px;

    width: 640px;
    height: 500px;
    
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;

    position: relative;
}

.container header .logotype {
    position: absolute;
    left: 40px;
    bottom: 40px;
}

.container .text-only {
    padding: 0 0 40px 0;
}

.img-responsive {
    display: block;
    width: 100%;
    height: auto;
}

.form-group.required label:after {
    content: '*';
    margin-left: 5px;
    color: #d00;
}

.form-group.has-error input,
.form-group.has-error select {
    border-color: #d00;    
}

.form-group.has-error .checkbox .box,
.form-group.has-error .radio .box {
    border-color: #d00;    
}

.row {
    position: relative;
    display: flex;
    flex: 0 1 auto;
    flex-direction: row;
    flex-wrap: wrap;
    box-sizing: border-box;

    margin-left: -10px;
    margin-right: -10px;
}

.row > div {
    display: block;
    box-sizing: border-box;

    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;

    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;

    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;

    padding-left: 10px;
    padding-right: 10px;

    flex-basis: 1;
    max-width: 100%;
}

.row > .col-1 {
    width: 8.333333%;
}

.row > .col-2 {
    width: 16.666667%;
}

.row > .col-3 {
    width: 25%;
}

.row > .col-4 {
    width: 33.333333%;
}

.row > .col-5 {
    width: 41.666667%;
}

.row > .col-6 {
    width: 50%;
}

.row > .col-7 {
    width: 58.333333%;
}

.row > .col-8 {
    width: 66.666667%;
}

.row > .col-9 {
    width: 75%;
}

.row > .col-10 {
    width: 83.333333%;
}

.row > .col-11 {
    width: 91.666667%;
}

.row > .col-12 {
    width: 100%;
}

h1, h2, h3, h4, h5 {
    color: #076bc2;
    margin: 1.5rem 0 1rem 0;
    line-height: 120%;
}

h2, h3, h4, h5 {
    text-transform: uppercase;
}

h4 {
    margin: 1.5rem 0 1rem 0;
}

h5 {
    margin: .5rem 0 .5rem 0;
}

p {
    margin: 0 0 1rem 0;
}

a {
    color: #06358a;
    text-decoration: none;
}

.lead {
    font-size: 1.1rem;
    line-height: 140%;
}

.small {
    font-size: 0.8rem;
    line-height: 140%;
}

hr {
    margin: 20px 0 30px 0;
    background: #ddd;
    border: 0;
    height: 1px;
}

.indent {
    margin-left: 20px;
}

fieldset {
    border: none;
    margin: 0;
    padding: 0;
}

form {
    margin: 40px 0 0 0;
}

form fieldset .row {
    margin-bottom: 20px;
}

form footer {
    padding: 40px 0;
    border-top: 1px solid #eee;
}

.control-label {
    font-size: 0.7rem;
    text-transform: uppercase;
    margin-bottom: 5px;
    display: block;
    cursor: pointer;
    font-weight: bold;
    color: #777;
    letter-spacing: 0.04rem;
}

.form-control {
    display: block;
    width: 100%;
    padding: 10px 10px;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 2px;
    transition: all 0.25s ease;
    color: #555;
    transition: all 0.2s ease-in-out;
}

select.form-control {
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    -o-appearance: none;
    appearance: none;
    background-color: #fff;
    cursor: pointer;
    width: 100%;
    border-radius: 0;
    outline: none;
    padding: 10px 10px;
    margin-bottom: 8px;
    border-radius: 2px;
    transition: all 0.25s ease;
    color: #555;
}

.select-wrapper {
    position: relative;
}

.select-wrapper:before {
    content: '';
    font-family: FontAwesome;
    display: inline-block;
    position: absolute;
    right: 16px;
    top: 14px;
    pointer-events: none;
    height: 4px;
    width: 4px;
    border: 2px solid #999;
    border-top-color: transparent;
    border-left-color: transparent;
    transform: rotate(45deg);
}

::placeholder {
    color: #bbb;
}

.form-control:focus {
    outline: none;
    border: 1px solid #000;
}

.btn {
    padding: 10px 20px;
    cursor: pointer;
    border-radius: 2px;
    transition: all 0.25s ease;
    text-transform: uppercase;
    border: 0;
    padding: 15px 20px;
    text-decoration: none;
    transition: all 0.2s ease-in-out;
}

.btn-default {
    background: #eee;
    color: #666;
    border: 1px solid #888;
}

.btn-default:hover {
    background: #ccc;
}

.btn-primary {
    background: #076bc2;
    color: #fff;
}

.btn-primary:hover {
    background: #004ba2;
}

.btn:disabled {
    background: #888;
    cursor: default;
}

.checkbox {
    position: relative;
    display: block;
}

.checkbox span {
    position: absolute;
    top: 0;
    margin: auto;
    display: block;
    border: 1px solid #c5c5c5;
    background-color: #ffffff;
    height: 24px;
    width: 24px;
    border-radius: 3px;
    transition: all 0.25s ease;
}

.checkbox input {
    left: 0;
    position: absolute;
    margin: 0;
    padding: 0;
    z-index: 1;
    opacity: 0;
    cursor: pointer;
    height: 24px;
    width: 24px;
}

.checkbox input[type='checkbox']:checked ~ span {
    border: 1px solid #076bc2;
    transition: all 0.25s ease;
    background: #076bc2;
}

.checkbox input[type='checkbox']:checked ~ span:after {
    content: '';
    display: block;
    border: 3px solid #fff;
    border-left: 0;
    border-top: 0;
    transform: rotate(45deg);
    width: 5px;
    height: 10px;
    position: absolute;
    left: 7px;
    top: 3px;
}

input[type='checkbox']:hover ~ span {
    border: 1px solid #000000;
    transition: all 0.25s ease;
}

.checkbox label {
    position: relative;
    padding-left: 40px;
    display: block;
    cursor: pointer;
}

.radio {
    position: relative;
    display: block;
}

.radio span {
    position: absolute;
    top: 0;
    margin: auto;
    display: block;
    border: 1px solid #c5c5c5;
    background-color: #ffffff;
    height: 24px;
    width: 24px;
    border-radius: 100%;
    transition: all 0.25s ease;
}

.radio input {
    left: 0;
    position: absolute;
    margin: 0;
    padding: 0;
    z-index: 1;
    opacity: 0;
    cursor: pointer;
    height: 24px;
    width: 24px;
}

.radio input[type='radio']:checked ~ span {
    border: 1px solid #076bc2;
    transition: all 0.25s ease;
    background: #076bc2;
}

.radio input[type='radio']:checked ~ span:after {
    content: '';
    display: block;
    border: 3px solid #fff;
    border-left: 0;
    border-top: 0;
    transform: rotate(45deg);
    width: 5px;
    height: 10px;
    position: absolute;
    left: 7px;
    top: 3px;
}

input[type='radio']:hover ~ span {
    border: 1px solid #000000;
    transition: all 0.25s ease;
}

.radio label {
    position: relative;
    padding-left: 40px;
    display: block;
    cursor: pointer;
}

.alert {
    background: #fff;
    border: none;
    border-left: 5px solid #ddd;
    padding: 15px 20px;
    margin-bottom: 30px;
}

.alert p:last-child {
    margin-bottom: 0;
}

.alert-info {
    color: #0060a5;
    background-color: #ecf5ff;
    border-color: #0060a5;
}

.alert-warning {
    color: #856404;
    background-color: #fff3cd;
    border-color: #856404;
}

.text-center {
    text-align: center;
}

.text-muted {
    color: #999;
}

.logotype {
    height: 60px;
}

.program {
    font-size: 0.9rem;
    line-height: 140%;
    margin-bottom: 30px;
}

.program .row {
    margin: 10px 0 0 0;
    padding: 0 0 10px 0;
    border-bottom: 1px solid #ddd;
}

/* Phone */
@media screen and (max-width: 500px) {

    .hidden--mobile {
        display: none;
    }

    body {
        padding: 0;
    }

    .row > .col-1,
    .row > .col-2,
    .row > .col-3,
    .row > .col-4,
    .row > .col-5,
    .row > .col-6,
    .row > .col-7,
    .row > .col-8,
    .row > .col-9,
    .row > .col-10,
    .row > .col-11,
    .row > .col-12 {
        width: 100%;
        margin-bottom: 20px;
    }

    form fieldset .row {
        margin-bottom: 0;
    }

    .container {
        padding: 0 30px;
    }

    .container header {
        padding: 30px 0 40px 0;
        height: 300px;
        margin: 0 -30px;
        width: inherit;
    }

    .container header .logotype {
        margin-left: 30px;
        background: rgba(255,255,255,0.7);
        padding: 10px 10px;
    }
    
    .logotype {
        height: 60px;
    }

    h1 {
        font-size: 1.5em;
    }

    .program .row > div {
        padding-left: 0;
        padding-right: 0;
        margin-bottom: 10px;
    }

    .program .row > div:nth-child(1) {
        color: #999;
    }

    .program .row > div:nth-child(2) strong {
        font-size: 18px;
    }
}