:root {
    /* Lights */
    --colour-primary__white-default: #ffffff;
    --colour-primary__grey-light: #f2f2f2;
    /* Darks */
    --colour-primary__grey-dark: #282828;
    --colour-primary__grey-tint-80: #585858;
    --colour-primary__grey-tint-60: #7e7e7e;
    --colour-primary__grey-tint-40: #a9a9a9;
    --colour-primary__grey-tint-20: #d4d4d4;
    /* Purple */
    --colour-secondary__purple: #6e3cbe;
    --colour-secondary__purple-tint-80: #925ed2;
    --colour-secondary__purple-tint-60: #ae87de;
    --colour-secondary__purple-tint-40: #c9afe9;
    --colour-secondary__purple-tint-20: #e4d7f4;
    /* Blue */
    --colour-secondary__blue: #0a9bcd;
    --colour-secondary__blue-tint-80: #00b1db;
    --colour-secondary__blue-tint-60: #4ac5e5;
    --colour-secondary__blue-tint-40: #8dd9ee;
    --colour-secondary__blue-tint-20: #c7ecf6;
    /* Yellow */
    --colour-secondary__yellow: #f5b400;
    --colour-secondary__yellow-tint-80: #ffc200;
    --colour-secondary__yellow-tint-60: #ffd14e;
    --colour-secondary__yellow-tint-40: #ffe18e;
    --colour-secondary__yellow-tint-20: #fff0c8;
    /* Orange */
    --colour-secondary__orange: #f06400;
    --colour-secondary__orange-tint-80: #ff7c03;
    --colour-secondary__orange-tint-60: #ff9e59;
    --colour-secondary__orange-tint-40: #ffbf92;
    --colour-secondary__orange-tint-20: #ffdfc9;
    /* Green */
    --colour-secondary__green: #00b176;
    --colour-secondary__green-tint-80: #00c58d;
    --colour-secondary__green-tint-60: #2fd3ab;
    --colour-secondary__green-tint-40: #84e3c7;
    --colour-secondary__green-tint-20: #c4f0e3;
    /* Other colours */
    --colour-transparent__white: rgba(255, 255, 255, 0.8);
    --colour-transparent__dark: rgba(126, 126, 126, 0.8);
    --colour-transparent__blue: rgba(199, 236, 246, 0.6);
    /* Typeface */
    --font-family__default: "GT-Eesti-Pro";
    /* Font Sizes */
    --font-size__primary: 16px;
    --font-size__secondary: 13px;
    --font-size__small: 10px;
    /* Heading Sizes */
    --font-size__heading-01: calc(var(--font-size__primary) * 2);
    --font-size__heading-02: calc(var(--font-size__secondary) * 2);
    --font-size__heading-03: 21px;
    --font-size__heading-04: 18px;
}

@charset "UTF-8";

@font-face {
    font-family: GT-Eesti-Pro;
    font-style: normal;
    font-weight: 400;
    src: url(../fonts/GTEestiProDisplay-Light.woff2) format("woff2");
    font-display: swap
}

@font-face {
    font-family: GT-Eesti-Pro;
    font-style: normal;
    font-weight: 700;
    src: url(../fonts/GTEestiProDisplay-Medium.woff2) format("woff2");
    font-display: swap
}

@font-face {
    font-family: GT-Eesti-Pro;
    font-style: normal;
    font-weight: 900;
    src: url(../fonts/GTEestiProText-Bold.woff2) format("woff2");
    font-display: swap
}


::placeholder {
    font-family: GT-Eesti-Pro, Arial, Helvetica, sans-serif;
}

button {
    font-family: GT-Eesti-Pro, Arial, Helvetica, sans-serif;    
    cursor: pointer;
}

input {
    font-family: GT-Eesti-Pro, Arial, Helvetica, sans-serif;
}

select {
    font-family: GT-Eesti-Pro, Arial, Helvetica, sans-serif;
}

.api-panel {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    background-color: rgba(0, 0, 0, 0.5);
    vertical-align: middle;
}

.api_busyindicator_panel {
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    margin:0;
    background-color:rgba(0, 0, 0, 0.5);
    z-index:30001;
    vertical-align:middle;
    font-family: GT-Eesti-Pro, Arial, Helvetica, sans-serif;
    line-height:1.5;
}

.api_busyindicator {
    width:600px;
    height:400px;
    text-align:center;
    position:absolute;
    margin:0;
    top:50%;
    margin-top:-200px;
    left:50%;
    margin-left:-300px;
    & label {
        font: bold 20px GT-Eesti-Pro,Arial,Helvetica,sans-serif;
        color: white;
        margin-top: -100px;
        display: flow-root;
        position: unset;
    }
}

.api-form_z {
    z-index:30000;
}

.api-message_z {
    z-index:30002;
}
.api_message{
    display:block !important;
}
.api-form {
    width: 600px;
    background-color: white;
    border: 2px solid var(--colour-primary__grey-dark);
    border-radius: 8px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    border-collapse: separate;
    text-indent: initial;
    border-spacing: 2px;
    font-family: GT-Eesti-Pro, Arial, Helvetica, sans-serif;
    line-height: 1.5;
}

.api_form_text {
    width:80%;
}

.api-header {
    color: var(--colour-primary__grey-dark);
    margin: 5px auto !important;
    padding: 0;
    display: flex;
    font-weight: bold;
    & h1 {
        margin: auto;
        padding-left: 10px;
        font-size: var(--font-size__heading-01);
    }
}

.api-colour-bar {
    bottom: -5px;
    column-gap: var(--spacing__default);
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    position: absolute;
    width: 100%;
    z-index: 1;
    margin-bottom: 10px !important;
    margin-top: 0px !important;
    & div {
        height: 4px;
        display: grid !important;
        &:nth-child(1) {
            background-color: var(--colour-secondary__purple);
        }
        &:nth-child(2) {
            background-color: var(--colour-secondary__blue);
        }
        &:nth-child(3) {
            background-color: var(--colour-secondary__yellow);
        }
        &:nth-child(4) {
            background-color: var(--colour-secondary__orange);
        }
    }
}

.api-button {
    width:85%;
    margin:5px auto 5px auto;
    display:block;
    color:white;
    background-color:var(--baseColour);
    font-size:14px;
    padding:.375rem .75rem;
    border-radius:5px;
    border:2px solid var(--darkColour);
}

.api-button-left {
    width:40%;
    margin-left:44px;
}

.api-button-center {
    width: 40%;
    margin-left: 10px;
    margin-right: 10px;
}

.api-button-right {
    width:40%;
    margin-right:44px;
}

.api-button-fontsmall {
    font-size: 10px;
    font-weight: bold;
}

.api-button-close {
    margin: -20px -10px 0 0;
    padding: 0;
    background-color: unset;
    border-radius: unset;
    border: unset;
    width: 24px;
    height: 24px;
    vertical-align: middle;
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2C6.47,2 2,6.47 2,12C2,17.53 6.47,22 12,22C17.53,22 22,17.53 22,12C22,6.47 17.53,2 12,2M14.59,8L12,10.59L9.41,8L8,9.41L10.59,12L8,14.59L9.41,16L12,13.41L14.59,16L16,14.59L13.41,12L16,9.41L14.59,8Z' /></svg>") center center no-repeat;
}

.api-reg-page {
    width: 100% !important;
    display: block !important;
}

.api-reg-buttons {
    position: absolute !important;
    bottom: 0;
    margin: 5px 0px 5px 14px !important;
}

.api-form div {
    position: relative;
    width: 95%;
    margin: 3px auto;
    display: flex;
    justify-content: center;
    align-items: center;
}

.api-input-text {
    height:44px;
}

.api-textbox {
    position: absolute;
    width: 80%;
    margin: 4px auto;
    border: 1px solid var(--darkColour);
    border-radius: 5px;
    padding: .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
}

.api-shift-input:placeholder-shown ~ .api-shift-label  {
  visibility:hidden;
  opacity: 1;
}

.api-shift-input:focus ~ .api-shift-label,
.api-shift-input ~ .api-shift-label {
    position: absolute;
    left: 54px;
    top: -4px;
    font-size: 12px;
    background-color: white;
    padding-left: 10px;
    padding-right: 10px;
    line-height: 1;
    visibility:visible;
    padding: 3px;
}

.api-shift-input:focus {
    outline: none !important;
    border:2px solid var(--baseColour);
}

.api-shift-input:focus::placeholder {
  opacity: 0;
}

.api-menu {
    & ul {
        list-style-type: none;
        margin: 0;
        padding: 0;
        overflow: hidden;
        & li {
            float: left;
            & a {
                display: block;
                color: var(--darkColour);
                text-align: center;
                padding: 16px;
                text-decoration: none;
                font-weight: normal;
                &:hover {
                    font-weight: bold;
                }
            }
        }
    }
}


.api-menu-selected {
  color: var(--baseColour);
  font-weight: bold;
}

.api-menu li + li a:before {
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M12,8A4,4 0 0,0 8,12A4,4 0 0,0 12,16A4,4 0 0,0 16,12A4,4 0 0,0 12,8Z' /></svg>")  center center no-repeat;
    background-size: 16px 16px;
    display: inline-block;
    width: 64px;
    height: 16px;
    margin-left: -32px;
    content: "";
}

.api-radio {
    & ul {
        list-style-type: none;
        margin: 0;
        padding: 0px 4px 0px 4px;
        overflow: hidden;
        & li {
            float: left;
            margin-right: 10px;
            display: flex;
            align-content: center;
            align-items: baseline;
        }
    }
}

.api-code ul li input {
    width: 40px;
    font-size: 40pt;
    text-align: center; 
    outline: none;
    padding: 3px 0px 3px 3px;
    margin: 5px 10px 3px 0px;
    border: 1px solid #DDDDDD;
    cursor: pointer;
}

.api-code ul li input:focus {
  box-shadow: 0 0 5px var(--darkColour);
  padding: 3px 0px 3px 3px;
  margin: 5px 1px 3px 0px;
  border: 1px solid var(--baseColour);
  color: transparent;
}

.api-list {
    list-style-type: none;
    margin: 0;
    padding: 0;
    cursor: pointer;
    overflow: hidden;
    overflow-y: scroll;
}

.api-list > li:nth-of-type(odd) {
    background-color: #e9e9f9;
}

.api-list > li {
    border-bottom: 1px solid rgb(221,221,221);
    padding: 6px;
}

.api-list > li:last-child {
    border-bottom: none;
}
