@import url('https://fonts.googleapis.com/css?family=Open+Sans:400,600');

body * {
    box-sizing: border-box;
}

body {
    font-size: 16px;
    font-family: 'Open Sans', Arial, Helvetica, Verdana, sans-serif;
    font-style: normal;
    font-weight: 400;
    color: #fff;
    background-color: #f3f9fa;
    margin: 0;
    padding: 0;
    min-height: 100vh;
    height: 100%;
    display: flex;
    flex-direction: column;
}

a {
    color: #fff;
}

#container {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 236px 1fr 110px;
    grid-gap: 0px;
    grid-template-areas: "header" "contents" "footer";
    display: -ms-grid;
    -ms-grid-columns: 1fr;
    -ms-grid-rows: 236px 1fr 110px;
    background: #00a0d0;
    height: 100%;
    min-height: 100vh;
}

#contents {
    grid-area: contents;
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    text-align: center;
    margin-top: 2rem;
    padding: 0;
}

#title,
.action-form-header {
    font-size: 26px;
    font-weight: 400;
    display: block;
    text-align: center;
    margin-bottom: 20px;
}

#header {
    text-align: center;
    margin-top: 6rem;
    grid-area: header;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
}

.application-name {
    margin-top: 20px;
    margin-bottom: 20px;
    font-size: 20px;
    font-weight: bold;
}

#header-text {
    float: left;
    color: #f5f5f5;
    font-size: 16px;
    font-weight: bold;
}

.header-right {
    float: right;
    padding-right: 15px;
    color: #f5f5f5;
    font-family: Arial, Helvetica, Verdana, sans-serif;
    font-size: 26px;
}

#header .padding {
    padding: 50px;
}

.header-logo-container {
    margin: 36px;
}

.header-logo {
    width: 264px;
    height: 36px;
    object-fit: contain;
}

#message {
    background: #fff;
}

#content {
    max-width: 600px;
    margin: 0 auto;
    text-align: center;
}

#content .padding {
    padding: 50px;
    color: #fff;
}

#content .margin {
    margin: 50px;
}

.ui-corner-all {
    border-radius: 5px;
}

#messages {
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
}

.ui-messages ul {
    margin: 0;
    padding-left: 40px;
}

.ui-message-error-icon,
.ui-messages-info-icon,
.ui-messages-warn-icon,
.ui-messages-error-icon,
.ui-messages-fatal-icon {
    height: 20px;
    width: 20px;
    margin-top: 2px;
    background-position: center center;
    position: absolute;
}

.ui-messages-info-icon {
    background-image: url('/enrolment/resources/img/info_ico.svg');
}

.ui-message-error-icon,
.ui-messages-error-icon,
.ui-messages-fatal-icon {
    background-image: url('/enrolment/resources/img/failure_ico.svg');
}

.ui-message-error,
.ui-messages-info,
.ui-messages-warn,
.ui-messages-error,
.ui-messages-fatal {
    border: 1px solid;
    margin: 10px 0;
    padding: 20px;
}

.ui-message-error-detail,
.ui-messages-info-summary,
.ui-messages-warn-summary,
.ui-messages-error-summary,
.ui-messages-fatal-summary,
.ui-message-info-summary,
.ui-message-warn-summary,
.ui-message-error-summary,
.ui-message-fatal-summary {
    margin-left: 0px;
    font-size: 16px;
    font-weight: 400;
    display: inline-block;

}

.ui-messages-info {
    background-color: #e1f6fa;
    border-color: #84d6ea;
}

.ui-messages-info-summary {
    color: #007cab;
}

.ui-message-error,
.ui-messages-error {
    background-color: #ffeaed;
    border-color: #f69693;
}

.ui-message-error-detail,
.ui-messages-error-summary,
.ui-messages-error-detail {
    color: #ed2623;
    font-size: 16px;
    font-weight: 400;
}

.ui-message-error-detail {
    padding-left: 40px;
}

.ui-state-default,
.ui-widget-header,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default {
    background: none;
    box-shadow: none;
    text-shadow: none;
}

.ui-widget {
    font-family: 'Open Sans', Arial, Helvetica, Verdana, sans-serif;
    font-size: 14px;
}

.ui-widget-content {
    border: none;
}

.ui-widget-content .ui-inputfield,
.ui-widget-header .ui-inputfield,
.ui-inputfield {
    background: transparent no-repeat;
    background-image: linear-gradient(to bottom, #232020, #232020), linear-gradient(to bottom, #bdbdbd, #bdbdbd);
    background-size: 0 2px, 100% 2px;
    background-position: 50% 100%, 50% 100%;
    transition: background-size 0.3s cubic-bezier(0.64, 0.09, 0.08, 1);
    border-width: 0;
    padding: 17px 2px 2px 0px;
    font-size: 14px;
    -moz-border-radius: 0px;
    -webkit-border-radius: 0px;
    border-radius: 0px;
    width: 100%;
    line-height: 38px;
}

.ui-inputfield.ui-state-default {
    border-color: #bababa;
}

.ui-inputfield.ui-widget-content {
    border-width: 1px;
    background: transparent;
    background-image: none;
}

.ui-inputfield.ui-state-filled,
input[type="text"].ui-state-filled {
    background-size: 100% 2px, 100% 2px;
}

.ui-inputfield.ui-state-error {
    background-image: linear-gradient(to bottom, #e62a10, #e62a10), linear-gradient(to bottom, #e62a10, #e62a10);
}

.ui-inputfield.ui-inputtextarea {
    background: transparent;
    background-image: none;
    border: 1px solid #ddd;
    border-radius: 5px;
    padding: 2px 10px;
    line-height: 38px;
    height: 42px;
}

.md-inputfield {
    display: block;
    position: relative;
    margin: 10px 0;
}

.md-inputfield .ui-inputfield {
    height: 54px;
}

.md-inputfield input:focus ~ label,
.md-inputfield input.ui-state-filled ~ label,
.md-inputfield .ui-calendar.ui-state-filled ~ label {
    top: -1px;
    font-size: 12px;
    color: #bdbdbd;
}

.md-inputfield label {
    color: #b4e6f2;
    font-weight: 400;
    position: absolute;
    pointer-events: none;
    left: 0px;
    top: 24px;
    transition: 0.3s ease all;
    -moz-transition: 0.3s ease all;
    -webkit-transition: 0.3s ease all;
    line-height: 16px;
}

.md-inputfield input.ui-state-error ~ label {
    color: #e62a10;
}

.md-inputfield input:disabled ~ label {
    color: #bababa;
}

.action-form {
    display: flex;
    flex-direction: column;
    width: 320px;
    margin-top: 30px;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
}

.action-form a {
    align-self: center;
}

.md-inputfield {
    width: 100%;
}

.ui-inputfield {
    width: 100%;
    background-image: linear-gradient(to bottom, #fff, #fff),
    linear-gradient(to bottom, #b4e6f2, #b4e6f2);
    color: #fff;
}

.ui-inputfield.ui-state-focus {
    border: none;
    background-size: 100% 2px, 100% 2px;
    outline: none;
    padding-bottom: 2px;
    box-shadow: none;
    color: #fff;
}

.ui-inputfield.ui-state-filled {
    background-size: 100% 2px, 100% 2px;
    color: #fff;
}

.ui-inputfield:-ms-input-placeholder {
    color: transparent;
}

.ui-inputfield::placeholder {
    color: transparent;
}

.ui-dialog  {
    padding: 10px;
}

.ui-dialog .ui-dialog-title {
    font-size: 18px;
    font-weight: 400;
    color: #008bde;
    margin: 0;
}

.md-inputfield label {
    color: #b4e6f2;
}

.md-inputfield input:focus ~ label,
.md-inputfield input.ui-state-filled ~ label {
    color: #fff;
}

.action-form .actionButton {
    width: 100%;
    margin: 20px 0 20px;
    height: 42px;
    border-radius: 5px;
    border: solid 1px #fff;
    background: #fff;
    font-family: "Open Sans", Arial, Helvetica, Verdana, sans-serif;
    font-weight: 600;
    color: #232020;
}

.action-form .actionButton:hover {
    background: #e1f6fa;
}

.action-form-grid tr, .action-form-grid td {
    border: none;
}

#finishForm {
    text-align: center;
}

.info-box {
    padding: 20px;
    margin: 40px auto 20px;
    color: #007cab;
    background-color: #d9edf7;
    border: 1px solid #bce8f1;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    font-size: 14px;
    position: relative;
    text-align: left;
}

.info-box:before {
    content: '';
    height: 20px;
    width: 20px;
    margin-top: 2px;
    background-position: center center;
    position: absolute;
    background-image: url('/enrolment/resources/img/info_ico.svg');
    left: 20px;
    top: 20px;
}

.info-box h4,
.info-box-detail {
    color: #007cab;
    margin: 0;
    padding-left: 40px;
}

.info-box.error {
    border: 1px solid;
    margin: 10px auto;
    padding: 20px;
    background-color: #ffeaed;
    border-color: #f69693;
    max-width: 100%;
    width: max-content;
}

.info-box.error:before {
    background-image: url('/enrolment/resources/img/failure_ico.svg');
}

.info-box.error .info-box-error-detail {
    color: #ed2623;
    padding-left: 40px;
}

.personalDataHint {
    font-style: italic;
    font-size: 12px;
}

.footer-wrapper {
    grid-area: footer;
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    padding: 0px 20px 20px 20px;
}

.footer {
    font-size: 12px;
}

.footer .ui-grid-row {
    align-items: start;
    align-items: flex-start;
}

.footer .ui-widget {
    font-size: 12px;
}

.footer .ui-widget-content {
    box-shadow: none;
    color: #e1f6fa;
    background: #00a0d0;
    border: 0 none;
}

.footer-link.ui-link {
    color: #e1f6fa;
    text-decoration: none;
}

.footer-link.ui-commandlink {
    color: #e1f6fa;
    text-decoration: none;
}

.footer-link:hover.ui-link {
    text-decoration: underline;
}

.footer-link:hover.ui-commandlink {
    text-decoration: underline;
}

.hidden {
    display: none;
}

.ui-selectonemenu .ui-selectonemenu-trigger {
    height: 38px;
    width: 40px;
    background-color: #b4e6f2;
    border: solid 1px #36b9e0;
}

.ui-selectonemenu .ui-selectonemenu-trigger .ui-icon {
    height: 16px;
    width: 16px;
    margin: 10px 0 0 8px;
    color: #757575;
}

select {
    /* styling */
    background: #fff;
    color: #232020;
    border: solid 1px #dddddd;
    border-radius: 4px;
    display: inline-block;
    font-size: 14px;
    padding: 0 10px;
    box-shadow: none;
    line-height: 1.5em;
    height: 38px;

    /* reset */
    margin: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-appearance: none;
    -moz-appearance: none;

    background-image: linear-gradient(45deg, transparent 50%, #2e2e2f 50%),
    linear-gradient(135deg, #2e2e2f 50%, transparent 50%),
    linear-gradient(to right, skyblue, skyblue);
    background-position: calc(100% - 20px) 15px,
    calc(100% - 15px) 15px,
    100% 0;
    background-size: 5px 5px,
    5px 5px,
    40px 38px;
    background-repeat: no-repeat;
}

select {
    width: 100%;
}

.certificate-instructions h3 {
    margin-left: 40px;
}

.certificate-instructions li {
    margin-bottom: 10px;
}

.certificate-instructions:before {
    left: 30px;
    top: 36px;
}

.certificate-instructions .ui-accordion-content {
    -webkit-border-radius: 4px;
    border-radius: 4px;
}

.instructions {
    font-weight: bold;
}

.linkWithoutUnderline{
    text-decoration: none;
}
