/* Shared base styles for the Frontend and Maintenance apps.
 *
 * Edcard.Maintenance/wwwroot/css/site.css began as a copy of the Frontend sheet, which left
 * ~840 lines of identical CSS in both (31 VERY_HIGH Sigrid duplication findings). The 196
 * rules that are identical in both apps now live here and are served to each from
 * _content/Edcard.WebSharedKernel/css/site-shared.css, the same route the Font Awesome
 * distribution uses.
 *
 * Load this BEFORE each app's own site.css - the app sheet is expected to override it.
 *
 * 75 otherwise-shared rules deliberately stayed behind in both apps' site.css. Each of them
 * currently sits AFTER an app-specific rule that it beats at equal specificity (for example
 * ".form-control { width: 90% }" inside the 1024px breakpoint, versus ".form-text-input" at
 * the top level - the Maintenance login inputs carry both classes). Moving those here would
 * load them first and silently hand the win to the app rule, so they are left duplicated on
 * purpose. Do not "tidy" them into this file without re-checking the cascade.
 *
 * EDCARD-1198
 */

/* The two form greys.
 *
 * --edc-grey is the colour the form is written in: inherited body text (so .terms-container
 * and friends), input placeholders, hints. It had drifted into #636466 and, briefly, #4a4b4d.
 *
 * --edc-grey-light is deliberately lighter and is only for section headings - the component
 * titles and the incomplete-accordion markers. It was rgb(177, 174, 175) in three places.
 * These two are NOT interchangeable: the headings are meant to recede, so do not "fix" the
 * lighter one by pointing it at --edc-grey (EDCARD-1270).
 *
 * Declared on :root rather than html so they are inherited by everything and can be read
 * from the apps own site.css, which loads after this file.
 */
:root {
    --edc-grey: #636466;
    --edc-grey-light: rgb(177, 174, 175);
}

/* Root typography and colour, previously duplicated verbatim in both apps' site.css
 * (Sigrid 36b7482c). Safe to load first: this is the only rule in either app that matches
 * the html element - there is no other html selector anywhere in Frontend site.css,
 * Maintenance site.css, Maintenance Style.css or this file. The one :root selector, directly
 * above, declares custom properties only and so cannot compete with this rule. The body
 * rules below target a different element, so source order between them and this rule
 * cannot decide a winner.
 * The Maintenance copy also carried a commented-out "height:100%", dropped here as dead.
 * EDCARD-1212
 */
html {
    letter-spacing: 1px;
    font-family: Arial, sans-serif;
    color: var(--edc-grey);
    scroll-behavior: smooth;
    font-weight: normal;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.36;
    font-size: calc(1rem + 0.03vw + 0.09vh);
    letter-spacing: normal;
}

.side {
    width: 28%;
    position: fixed;
    left: 72%;
    z-index: -1;
    height: 100%;
    background-color: #f4a71c;
}

.side-image {
    width: calc(13rem + 0.8vh);
    height: calc(13rem + 0.8vh);
}

.side-title {
    word-break: break-all;
    text-align: center;
    font-size: calc(1.4rem + 0.3vh);
}

body {
    position: relative;
    height: 100%;
}

.btn-list-table {
    display: block;
}

.btn-list-table tr td button {
    font-weight: normal;
    font-family: Arial, sans-serif;
    letter-spacing: normal;
}

.btn-list-table td {
    display: inline-block;
    padding-right: 22px;
    padding-bottom: 7px;
}

.pre-page-thing {
    width: 100vw;
    position: absolute;
    height: 9px;
    z-index: 800;
    background-image: linear-gradient(271deg, #ffde4f, #ee2595);
}

.back-thing {
    font-size: 14px;
    font-family: BrandonGrotesque;
    color: rgb(6, 134, 183);
    font-weight: bold;
    margin-top: 30px;
    width: 97vw;
    z-index: 999;
    margin-left: 20px;
}

.back-thing-text {
    font-family: BrandonGrotesque;
    display: inline-block;
    font-weight: bold;
    margin-top: 12px;
    font-size: 0.8rem;
    margin-left: 5px;
}

body {
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
}

.wrapper {
    display: flex;
    width: 100%;
    height: auto;
    margin: 0;
}

.offset {
    margin-left: 1.5%;
    margin-top: 10px;
}

.offset-second {
    margin-left: 6%;
    margin-top: 30px;
}

.offset-welcome {
    margin-left: 14%;
    margin-top: 10%;
}

.non-nav-hr-thing {
    width: 100%;
    float: left;
    border: 0;
    height: 1px;
    background-color: rgb(224, 224, 224);
    display: none;
}

.form-container {
    display: block;
    width: 95% !important;
    margin-left: 8%;
    margin-top: 2px;
    margin-bottom: 80px;
}

.btn-hover-orange {
    background: #f2f2f4;
    transition: 0.3s;
}

.btn-hover-orange span {
    opacity: 0.7;
}

.btn-hover-orange:hover {
    background: #f4a71c;
    color: white;
}

.btn-hover-orange:hover span {
    opacity: 1;
}

.button-group-end {
    margin-top: 10px;
    display: flex;
    margin-top: 20px;
}

.btn-blue {
    background: #3399ff;
    color: white;
}

.form-title {
    font-weight: 700;
    color: #ee2595;
    font-size: 0.8rem;
}

.form-hint {
    font-size: 0.76rem;
    color: var(--edc-grey);
    font-style: italic;
    font-family: Arial, sans-serif;
    display: block;
    word-break: break-word;
}

.form-text-input:-moz-placeholder {
    font-family: Arial, sans-serif;
    color: var(--edc-grey);
}

/* The standard and Firefox-19+ spellings, previously duplicated verbatim in both apps'
 * site.css (Sigrid 9dbe695c). Safe to load first: these are the only rules in either app
 * matching .form-text-input::placeholder or ::-moz-placeholder - the one other occurrence,
 * Maintenance site.css line ~400, is commented out. Nothing can override them at equal
 * specificity, so their source position cannot change a computed value.
 * .form-text-input is live in both apps (43 usages across the Maintenance views).
 * EDCARD-1212
 */
.form-text-input::placeholder {
    font-family: Arial, sans-serif;
    font-size: 0.8rem;
    color: var(--edc-grey);
}

.form-text-input::-moz-placeholder {
    font-family: Arial, sans-serif;
    color: var(--edc-grey);
}

.safari-only {
    font-size: 0.82rem;
}

.safari-only::placeholder {
    font-family: Arial, sans-serif;
    color: var(--edc-grey);
    font-size: 0.82rem;
}

.form-text-input-small::placeholder {
    font-family: Arial, sans-serif;
    color: var(--edc-grey);
}

.form-text-input-small:-moz-placeholder { 
    font-family: Arial, sans-serif;
    color: var(--edc-grey);
}

.form-text-input-small::-moz-placeholder { 
    font-family: Arial, sans-serif;
    color: var(--edc-grey);
}

.navbar {
}

#bar {
    cursor: pointer;
    float: left;
    color: #3399ff;
    margin-top: 0.9rem;
    display: none;
}

.menu-items {
    display: block;
}

#navBar {
    display: flex;
    padding: 0.8rem;
}

.navScroll {
    background-color: rgb(254,254,254);
    opacity: 0.98;
    -webkit-box-shadow: -3px 1px 4px 0.2px rgba(207,207,207,0.32);
    -moz-box-shadow: -3px 1px 4px 0.2px rgba(207,207,207,0.32);
    box-shadow: -3px 1px 4px 0.2px rgba(207,207,207,0.32);
}

.nav-active {
    font-weight: bold
}

.navbar ul {
    overflow-x: visible;
    padding: 0px;
    margin-top: 10px;
    white-space: nowrap;
    list-style-type: none;
}

.navbar ul li {
    display: inline;
    margin-left: 15px;
    font-size: 0.7rem;
}

.main {
    width: 72%;
    height: 100%;
    margin-right: 0px;
}

.some-fixed {
    width: 400px;
    height: 400px;
    background-color: red;
}

.button-group {
    margin-top: 10px;
    display: flex;
    justify-content: flex-start;
}

.other-group {
    margin-top: 10px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

.btn-margin {
    margin-left: 25px;
    float: left;
    clear: both;
}

.btn-other {
    margin-left: 8rem;
}

.or-hint {
    width: 100%;
    margin-left: 14.8rem;
    margin-bottom: 10px;
}

.language-btn-icon {
    margin-top: 0.2rem;
    margin-left: -0.008rem;
}

@supports (-moz-appearance:none) {
    .language-btn-icon {
        margin-top: 0.2rem;
        margin-left: -0.50rem;
    }

    #l-icon {
        padding-right: 0.20rem !important;
    }
}

#complete-info {
    margin-left: 1rem;
}

.info-title {
    font-family: BrandonGrotesque;
    font-weight: bold;
    color: #f4a71c;
    margin-left: 20px;
    word-break: break-word;
}

.info-box-big {
    width: 320px;
    border-left: 2px solid #ee2595;
    font-family: BrandonGrotesque;
    margin-top: 50px;
}

.info-box-small {
    width: 250px;
    font-family: BrandonGrotesque;
    min-height: 30px;
    border-left: 2px solid #ee2595;
}

.info-box-sub {
    font-size: 0.76rem;
    font-family: Arial,sans-serif;
    font-style: normal;
    margin-top: 8px;
    margin-left: 20px;
    word-break: break-word;
    color: var(--edc-grey);
}

.info-title-big {
    font-size: 2rem;
    line-height: 3.5rem;
}

@keyframes fade-in {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes fade-out {
    from {
        opacity: 1
    }

    to {
        opacity: 1
    }
}

.modal-accept-button-container {
    display: flex;
    justify-content: center;
    margin-top: 10px;
    margin-bottom: 10px;
}

.exit-btn-container {
    display: flex;
    margin-top: 5px;
    min-height: 15px;
    justify-content: flex-end;
    margin-right: 10px;
    margin-left: 2px;
}

.exit-btn {
    border: none;
    background: white;
    margin-top: 2px;
    cursor: pointer;
    font-size: 28px;
    color: #3399ff;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    .exit-btn i {
    }
}

.picker-btns-container {
    display: flex;
    justify-content: center;
    padding-left: 1.2rem;
    padding-right: 1.2rem;
    margin-top: 5px;
}

.picker-btn {
    padding-bottom: 0px;
}

.single-date-picker-date-container {
    width: 95%;
    min-height: 470px;
    display: flex;
    justify-content: center;
}

.single-date-picker-dates-container {
    flex-basis: 95%;
    margin-left: auto
}

.edit-group {
    display: flex;
    flex-wrap:wrap;
    flex-direction: row;
}

.edit-child {
    flex-basis: 40%;
    margin-top: 15px;
}

.edit-button {
    margin-top: 5px;
    display: inline;
    color: #3399ff;
    float: right;
    clear: both;
    cursor: pointer;
}

.gender-btn {
    flex-basis: 48%;
    background: #f2f2f4;
    color: var(--edc-grey);
}

.confirmation-text {
    word-break: break-word;
    font-size: 0.7rem;
    margin-top: 10px;
    text-align: center;
}

.form-partial-container {
    margin-top: 20px;
    margin-left: 1%;
}

.btn-orange span {
    opacity: 1;
}

.btn-list-table .btn-orange {
    text-decoration: none;
    color: white;
}

.form-error-text {
    word-break: break-word;
    width: 250px;
    margin-top: 5px;
    color: rgb(247, 129, 129);
    margin-left: 5px;
    animation: 0.5s ease-out 0s 1 fade-in;
}

.language-list ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.language-list li {
    padding: 5px;
    padding-left: 8px;
    cursor: pointer;
}

.language-list li:hover {
    background: rgba(209, 209, 209,0.3);
}

@keyframes fade-in {
    from {
        opacity: 0
    }

    to {
        opacity: 1;
    }
}

.date-value {
    color: #3399ff;
}

#select-dates-container-travel {
    margin-bottom: 1rem;
}

#FlightInfo div {
    min-width: 350px;
}

.clogo {
    width: 8rem;
    height: 2.5rem;
    margin-top: 0.5px;
}

.ck-container {
    display: block;
    position: relative;
    padding-left: 35px;
    margin-bottom: 12px;
    padding-top: 0.2rem;
    cursor: pointer;
    font-size: 0.9rem;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.ck-container input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

.ck-checkmark {
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 0.3rem;
    border: 1.5px solid rgb(221, 221, 221);
    height: 25px;
    width: 25px;
    background-color: #f2f2f4;
}

.ck-container input ~ .ck-checkmark {
    transition: 0.3s;
}

.ck-container:hover input ~ .ck-checkmark {
    background-color: #ccc;
}

.ck-container input ~ .ck-checkmark {
    transition: 0.3s;
}

.ck-container input:checked ~ .ck-checkmark {
    background-color: #f4a71c;
    border: 1.5px solid #f4a71c;
}

.ck-checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

.ck-container input:checked ~ .ck-checkmark:after {
    display: block;
}

.ck-container .ck-checkmark:after {
    left: 9px;
    top: 5px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 3px 3px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

@media only screen and (max-width: 1024px) {
    .ck-container {
        padding-top: 0.1rem;
    }

    .clogo {
        margin-left: 1.1rem;
    }

    body {
        background: rgb(253,253, 253)
    }

    #navBar {
        background-color: rgb(254,254,254);
        opacity: 0.98;
        -webkit-box-shadow: -3px 1px 4px 0.2px rgba(207,207,207,0.32);
        -moz-box-shadow: -3px 1px 4px 0.2px rgba(207,207,207,0.32);
        box-shadow: -3px 1px 4px 0.2px rgba(207,207,207,0.32);
    }

    .navScroll {
    }

    #complete-info {
        margin-left: 0rem;
    }

    .confirm-btn-group {
        flex-wrap: wrap;
    }

    .date-value {
        color: #3399ff;
    }

    #navBar {
        display: block;
    }

    #bar {
        display: block;
    }

    .centered-mobile {
        display: flex;
        justify-content: center;
    }

    .menu-items {
        display: none;
    }

    #GoToMaintenance {
        display: none;
    }

    @supports not (-ms-high-contrast: none) {
        #FlightInfo div {
            min-width: inherit;
        }

        #select-dates-button-travel {
            position: fixed;
            bottom: 0;
            z-index: 99999;
        }

        #select-dates-button-ed {
            position: fixed;
            bottom: 0;
            z-index: 99999;
        }

        #select-dates-button-bd {
            position: fixed;
            bottom: 0;
            z-index: 99999;
        }

        #select-dates-button {
            position: fixed;
            bottom: 0;
            z-index: 99999;
        }

        .edit-group {
            flex-direction: column;
        }

        .single-date-picker-date-container {
            margin: auto;
            display: flex;
            justify-content: center;
            margin-bottom: 15px;
        }

        .single-date-picker-dates-container {
            flex-basis: 100%;
        }

        #select-dates-container-travel {
            margin-bottom: 2.1rem;
        }

        .modal-accept-button-container {
            position: relative;
            width: 100%;
            margin-top: 50px;
            margin-bottom: 10px;
        }

        .non-nav-hr-thing {
            display: block;
        }

        .exit-btn-container {
            justify-content: center;
            margin-right: 0px;
        }

        .picker-btns-container {
            margin-left: 0px;
            margin-right: 0px;
        }

        .rdp-container {
            flex-flow: column;
        }

        .rdp-second-picker {
            margin-left: 0px;
        }

        .offset-welcome {
            margin-left: 0%;
            margin-top: 50%;
        }

        .button-group {
            width: 95%;
            flex-wrap: wrap;
        }

        .button-group-end {
            margin-top: 20px;
            width: 95%;
            justify-content: flex-start;
        }

        .back-thing {
            width: 100%;
        }

        .other-group {
            width: 95%;
        }

        .btn-margin {
            margin-left: 0px;
            margin-top: 10px;
        }

        .or-hint {
            margin-left: 47%;
        }

        .back-thing {
            position: absolute;
            color: white;
            margin-top: 0px;
            margin-left: 10px;
            height: 40px;
            margin-left: 0px;
            color: white;
            border-bottom: 0.5px solid white;
        }

        .back-thing-text {
            margin-top: 13px;
            margin-left: 10px;
        }

        .side {
            display: none;
        }

        .navbar {
            background-image: linear-gradient(to left, #ffde4f, #ee2595);
            color: white;
            width: 100% !important;
            height: 40px;
            overflow: hidden;
            position: absolute;
        }

        .navbar ul {
        }

        .main {
            flex-basis: 100%;
        }

        .offset {
            margin-top: 10px;
            margin-left: 13px;
        }

        .offset-second {
            margin-left: 0;
            margin-top: 30px;
        }

        .form-container {
            margin-top: 10px;
            margin-bottom: 20px;
            margin-left: auto;
        }

        .btn-blue {
            font-weight: bold;
        }

        #ScanMessage {
            font-weight: bold;
        }

        .gender-btn {
            color: #3399ff;
        }

        .language-text {
            margin-top: 10px;
            margin-right: -10px;
        }

        .confirmation-text {
            font-size: 0.8rem;
            width: 50%;
            margin-left: 24%;
        }

        .btn-temp {
            display: none;
        }

        .nav-active {
            color: #9225c9;
        }

        .btn-list-table {
            width: 100%;
        }

        .btn-list-table tr {
        }

        .btn-list-table .btn-hover-orange {
        }
    }

    .offset {
        margin-left: 1%;
    }

    .side {
        display: none;
    }

    .main {
        width: 100%
    }
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    .ie-margin {
        margin-bottom: 270px;
    }
}

.sk-fading-circle {
    margin: 100px auto;
    width: 40px;
    height: 40px;
    margin-top: 40vh;
    position: relative;
}

.sk-fading-circle .sk-circle {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
}

.sk-fading-circle .sk-circle:before {
    content: '';
    display: block;
    margin: 0 auto;
    width: 15%;
    height: 15%;
    background-color: #ee2595;
    border-radius: 100%;
    -webkit-animation: sk-circleFadeDelay 1.2s infinite ease-in-out both;
    animation: sk-circleFadeDelay 1.2s infinite ease-in-out both;
}

.sk-fading-circle .sk-circle2 {
    -webkit-transform: rotate(30deg);
    -ms-transform: rotate(30deg);
    transform: rotate(30deg);
}

.sk-fading-circle .sk-circle3 {
    -webkit-transform: rotate(60deg);
    -ms-transform: rotate(60deg);
    transform: rotate(60deg);
}

.sk-fading-circle .sk-circle4 {
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
}

.sk-fading-circle .sk-circle5 {
    -webkit-transform: rotate(120deg);
    -ms-transform: rotate(120deg);
    transform: rotate(120deg);
}

.sk-fading-circle .sk-circle6 {
    -webkit-transform: rotate(150deg);
    -ms-transform: rotate(150deg);
    transform: rotate(150deg);
}

.sk-fading-circle .sk-circle7 {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
}

.sk-fading-circle .sk-circle8 {
    -webkit-transform: rotate(210deg);
    -ms-transform: rotate(210deg);
    transform: rotate(210deg);
}

.sk-fading-circle .sk-circle9 {
    -webkit-transform: rotate(240deg);
    -ms-transform: rotate(240deg);
    transform: rotate(240deg);
}

.sk-fading-circle .sk-circle10 {
    -webkit-transform: rotate(270deg);
    -ms-transform: rotate(270deg);
    transform: rotate(270deg);
}

.sk-fading-circle .sk-circle11 {
    -webkit-transform: rotate(300deg);
    -ms-transform: rotate(300deg);
    transform: rotate(300deg);
}

.sk-fading-circle .sk-circle12 {
    -webkit-transform: rotate(330deg);
    -ms-transform: rotate(330deg);
    transform: rotate(330deg);
}

.sk-fading-circle .sk-circle2:before {
    -webkit-animation-delay: -1.1s;
    animation-delay: -1.1s;
}

.sk-fading-circle .sk-circle3:before {
    -webkit-animation-delay: -1s;
    animation-delay: -1s;
}

.sk-fading-circle .sk-circle4:before {
    -webkit-animation-delay: -0.9s;
    animation-delay: -0.9s;
}

.sk-fading-circle .sk-circle5:before {
    -webkit-animation-delay: -0.8s;
    animation-delay: -0.8s;
}

.sk-fading-circle .sk-circle6:before {
    -webkit-animation-delay: -0.7s;
    animation-delay: -0.7s;
}

.sk-fading-circle .sk-circle7:before {
    -webkit-animation-delay: -0.6s;
    animation-delay: -0.6s;
}

.sk-fading-circle .sk-circle8:before {
    -webkit-animation-delay: -0.5s;
    animation-delay: -0.5s;
}

.sk-fading-circle .sk-circle9:before {
    -webkit-animation-delay: -0.4s;
    animation-delay: -0.4s;
}

.sk-fading-circle .sk-circle10:before {
    -webkit-animation-delay: -0.3s;
    animation-delay: -0.3s;
}

.sk-fading-circle .sk-circle11:before {
    -webkit-animation-delay: -0.2s;
    animation-delay: -0.2s;
}

.sk-fading-circle .sk-circle12:before {
    -webkit-animation-delay: -0.1s;
    animation-delay: -0.1s;
}

@-webkit-keyframes sk-circleFadeDelay {
    0%, 39%, 100% {
        opacity: 0;
    }

    40% {
        opacity: 1;
    }
}

@keyframes sk-circleFadeDelay {
    0%, 39%, 100% {
        opacity: 0;
    }

    40% {
        opacity: 1;
    }
}

.lds-ring div {
    box-sizing: border-box;
    display: block;
    position: absolute;
    width: 25px;
    height: 25px;
    border: 4px solid #fff;
    border-radius: 50%;
    animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
    border-color: #fff transparent transparent transparent;
}

.lds-ring div:nth-child(1) {
    animation-delay: -0.45s;
}

.lds-ring div:nth-child(2) {
    animation-delay: -0.3s;
}

.lds-ring div:nth-child(3) {
    animation-delay: -0.15s;
}

@keyframes lds-ring {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

#confirmation {
    margin-top: 20px;
}

#confirmation-check {
    align-self: center;
    margin-top: 10px;
}

.sb-group-confirm {
    margin-top: 20px;
}

#container-confirm {
    clear: both;
    margin-left: 0px;
}

.nav-link {
    text-decoration: none;
    color: rgb(6, 134, 183);
}

#PurposeTable tr td button {
    font-family: Arial, sans-serif;
    font-size: 0.8rem;
    font-weight: normal;
    opacity: 1;
}

#PurposeTable .btn-orange {
    text-decoration: none;
}

#date-picker-cont-id-travel {
    font-family: BrandonGrotesque;
}

#date-picker-cont-id-ed {
    font-family: BrandonGrotesque;
}

#date-picker-cont-id-bd {
    font-family: BrandonGrotesque;
}

