﻿
* {
    margin: 0px;
    padding: 0px;
    box-sizing: border-box;
}

body {
    padding-top: 50px;
    padding-bottom: 20px;
}

/* Set the colours for the header bar and the background, including the login popup*/
body, .modalBackground {
    background-color: #f5f8fa !important;
    /* background-color: #5B7FA8 !important;*/
}

.modal2 {
    position: fixed;
    top: 70px;
    right: 10px;
    z-index: 2000;
    outline: 0;
}

.modalPosition {
    margin-top: 6% !important;
    filter: alpha(opacity=100) !important;
    opacity: 1 !important;
}

.modal2Position {
    position: relative;
    width: 350px !important;
    margin-top: 6% !important;
    filter: alpha(opacity=100) !important;
    opacity: 1 !important;
}

.modalHeadingText {
    font-size: 1.3em;
}

.modalBodyText {
    font-size: 1.0em;
}

.modalValidationSummary ul {
    list-style-type: none;
}

.modalIndent {
    padding-left: 20px;
}

.modalTitle {
    width: 90%;
    font-size: 2em;
    font-weight: 500;
    /*border:1px solid red;*/
}

.modalFooter {
    text-align: center;
    padding-bottom: 16px;
}

.modalClose {
    width: 4%;
    border: none;
    outline-style: none;
    background-color: #f5f8fa !important;
    position: absolute;
    top: 10px;
    right: 10px;
    text-align: right;
    /*border: 1px solid blue;*/
}


.header {
    background-color: #f1f3f4 !important;
}


/* Set padding to keep content from hitting the edges */
.body-content {
    padding-left: 15px;
    padding-right: 15px;
}

/*STM colours*/
.stmDark {
    color: #1e2d43 !important;
}

.stmYellow {
    color: #f5c80b !important;
}

.stmRed {
    color: #fa004a !important;
}

.stmGreen {
    color: #aad04e !important;
}

.stmBlue {
    color: #048dd3 !important;
}

.stmNavGreen {
    color: #3c763d !important;
    #3c763d
}

.stmNavCurrent {
    color: #048dd3 !important;
    font-weight: 700 !important;
}

.stmNavRed {
    color: #fa004a !important;
    font-weight: 700 !important;
}

.messageRed {
    color: #ff0000 !important;
}

.messageGreen {
    color: #10D20A !important;
}

.fixedButton {
    width: 240px !important;
}

.fixedButtonSlim {
    width: 150px !important;
}

.fixedButtonSmall {
    padding: 0 14px 0 14px;
    /*margin: 4px 14px 4px 4px;*/
}

.stmDarkButton, .stmDarkButtonSlimSlim {
    color: #ffffff !important;
    background-color: #1e2d43 !important;
}

.stmYellowButton, .stmYellowButtonSlim {
    color: #ffffff !important;
    background-color: #f5c80b !important;
}

.stmRedButton, .stmRedButtonSlim {
    color: #ffffff !important;
    background-color: #fa004a !important;
}

.stmGreenButton, .stmGreenButtonSlim {
    color: #ffffff !important;
    background-color: #6EC83F !important; /*was #aad04e*/
}

.stmBlueButton, .stmBlueButtonSlim {
    color: #ffffff !important;
    background-color: #048dd3 !important;
}

.stmDarkButton, .stmYellowButton, .stmRedButton, .stmGreenButton, .stmBlueButton,
.stmDarkButtonSlim, .stmYellowButtonSlim, .stmRedButtonSlim, .stmGreenButtonSlim, .stmBlueButtonSlim,
.stmDarkButtonSmall, .stmYellowButtonSmall, .stmRedButtonSmall, .stmGreenButtonSmall, .stmBlueButtonSmall {
    outline: none;
    border: none !important;
    border-radius: 8px !important;
    height: 30px;
    vertical-align: top;
    box-shadow: 2px 2px 2px #333;
    margin: 4px 10px 4px 10px;
}

    .stmDarkButton:hover, .stmYellowButton:hover, .stmRedButton:hover, .stmGreenButton:hover, .stmBlueButton:hover,
    .stmDarkButtonSlim:hover, .stmYellowButtonSlim:hover, .stmRedButtonSlim:hover, .stmGreenButtonSlim:hover, .stmBlueButtonSlim:hover,
    .stmDarkButtonSmall:hover, .stmYellowButtonSmall:hover, .stmRedButtonSmall:hover, .stmGreenButtonSmall:hover, .stmBlueButtonSmall:hover {
        border: 1px solid #333 !important;
        font-weight: 700;
    }

    .stmDarkButton:active, .stmYellowButton:active, .stmRedButton:active, .stmGreenButton:active, .stmBlueButton:active,
    .stmDarkButtonSlim:active, .stmYellowButtonSlim:active, .stmRedButtonSlim:active, .stmGreenButtonSlim:active, .stmBlueButtonSlim:active,
    .stmDarkButtonSmall:active, .stmYellowButtonSmall:active, .stmRedButtonSmall:active, .stmGreenButtonSmall:active, .stmBlueButtonSmall:active {
        box-shadow: 0 0 0 white;
        margin: 6px 10px 2px 10px;
    }

    .stmDarkButton:focus, .stmYellowButton:focus, .stmRedButton:focus, .stmGreenButton:focus, .stmBlueButton:focus,
    .stmDarkButtonSlim:focus, .stmYellowButtonSlim:focus, .stmRedButtonSlim:focus, .stmGreenButtonSlim:focus, .stmBlueButtonSlim:focus,
    .stmDarkButtonSmall:focus, .stmYellowButtonSmall:focus, .stmRedButtonSmall:focus, .stmGreenButtonSmall:focus, .stmBlueButtonSmall:focus {
        font-weight: 600;
    }

.buttonPosition {
    position: relative;
    top: -4px;
    left: -20px;
}

.buttonShow {
    position: relative;
    top: -4px;
}
/* Override the default bootstrap behavior where horizontal description lists 
   will truncate terms that are too long to fit in the left column 
*/
.dl-horizontal dt {
    white-space: normal;
}

.required-icon {
    color: #ff0000;
}

label.error {
    top: 100%;
    width: 100%;
    color: #dc3545;
    font-size: 84%;
}

.delete {
    position: absolute;
    left: 10px;
    top: 12px;
}

.logout {
    position: absolute;
    right: 10px;
    top: 10px;
}

.help {
    position: absolute;
    right: 10px;
    top: 45px;
}

.indentPadding10 {
    padding-left: 10px;
}

.indentPadding {
    padding-left: 20px;
}

.overflowShow {
    overflow: visible;
}

.hiddenField {
    width: 0px !important;
    height: 0px !important;
    position: absolute !important;
    bottom: 0px !important;
    left: -100px !important;
}

.hidden {
    display: none;
}

.show {
    display: block;
}

.showInline {
    display: inline;
}

.cursorOn {
    cursor: pointer;
}

.cursorOff {
    cursor: not-allowed;
}

.pointer {
    cursor: pointer;
}

.initial {
    cursor: initial;
}

.logoSetup1 {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.logoSetup2 {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.one {
    flex: 1 1 auto;
    width: 35%;
    align-items: flex-start;
    padding-left: 6rem;
    text-align:right;
}

.two {
    flex: 1 1 auto;
    width: 30%;
    text-align: center;
    font-size: 2rem;
    font-weight: bold;
}

.three {
    flex: 1 1 auto;
    width: 35%;
    padding-right: 6rem;
}
/*
.one, .two, .three{
    border: 1px solid #ff0000;
}
*/

@media (max-width: 560px) {
    .one {
        width: 100%;
        padding-left:5%;
  
    }

    .two, .three {
        width: 0;
        display: none;
    }
}

@media (max-width: 760px) {
    .one {
        width: 55% !important;
        padding-left: 5%;
        text-align: left !important;
    }
    .two {
        width: 0%;
        display: none;
    }
    .three {
        width: 45%;
        text-align: right;
    }
}

@media (max-width: 900px) {
    .one {
        width: 35%;
        text-align: right;
    }

    .two {
        width: 30%;
    }

    .three {
        width: 35%;
    }
}

.logonButton {
    width: 20%;
    padding-right: 2rem;
    align-items: flex-start;
}

.headingCentre {
    padding: 0 20px 0 20px;
    font-size: 1.6rem;
    font-weight: bold;
    min-width: 10rem;
}

.underline {
    border-bottom: solid 2px #cccccc;
    margin-top: 10px;
}

.thankYou {
    font-size: 26px !important;
    color: #7d7d7d !important;
}

.image {
    padding-right: 60px !important;
}

.midText {
    padding: 0 20px 0 20px;
    font-size: 1.5rem;
}

.cookieDisclaimer {
    padding: 5px 20px;
    background-color: #cccccc;
    opacity: 0.9;
}

.cookieMessage {
    color: #0000cc;
}

.form-control, .form-control:focus {
    color: #333333 !important;
}

.fileControlGroup {
    position: relative;
}

.fileControl {
    z-index: 99 !important;
    position: absolute;
    height: 30px !important;
    cursor: pointer;
    border: 1px solid black;
    width: 30px !important;
    filter: alpha(opacity=00) !important;
    opacity: 0.0 !important;
}

@media (max-width: 575px) {
    .fileControl {
        top: 4px !important;
        left: 0px !important;
    }
}

/*@media (min-width: 576px) {
    .fileControl {
        top: -138px !important;
        left: -1px !important;
    }
}
    */
/* iPad */
@media (min-width: 768px) {
    .fileControl {
        top: 4px !important;
        left: 0px !important;
    }
}

/*@media (min-width: 992px) {
    .fileControl {
        top: -50px !important;
        left: -1px !important;
    }
}*/

/* normal monitor */
@media (min-width: 1200px) {
    .fileControl {
        top: 5px !important;
        left: 0px !important;
    }
}

.spacer {
    float: right;
}

.attachment {
    height: 30px;
    position: relative;
}

.uploadField {
    margin-bottom: 4px;
    cursor: pointer;
}

.buttonObscure {
    cursor: none;
    filter: alpha(opacity=30) !important;
    opacity: 0.3 !important;
}

.bordered {
    border: 1px solid black;
}

.scanMessage {
    min-width: 100px;
}

.addRemoveButton {
    height: 36px;
    position: relative;
}

.addButton {
    background-color: #4ef18f;
    font-size: 2.2em;
    padding: 0px 8px;
}

.removeButton {
    background-color: #f14e4e;
    font-size: 2.2em;
    padding: 0px 12px;
}

.removeContent {
    position: relative;
    top: -3px;
}

.imgButtonText {
    z-index: -1;
    font-size: 1.2em;
    position: relative;
    top: -4px;
    left: -14px;
    height: 20px;
    text-align: center;
    padding: 5px 20px;
    border-radius: 0px 20px 20px 0px !important;
}

.imgButtonContent {
    border: 3px solid white;
    border-radius: 20px 20px 20px 20px !important;
}

input.stmButton {
    position: relative;
    top: -6px;
    left: -155px;
    display: inline-block;
    width: 150px;
    height: 38px;
    cursor: pointer;
    filter: alpha(opacity=0) !important;
    opacity: 0.0 !important;
}

.btnImage {
    position: relative;
    top: 10px;
    left: 10px;
}

.btnOverlay {
    filter: alpha(opacity=0) !important;
    opacity: 0.0 !important;
    cursor: pointer;
    position: relative;
    left: -20px;
}

.btnGroup {
    position: relative;
    top: -8px;
}


@-webkit-keyframes greenPulse {
    from {
        -webkit-box-shadow: 0 0 1px #AFE30E;
    }

    50% {
        -webkit-box-shadow: 0 0 18px #91bd09;
    }

    to {
        -webkit-box-shadow: 0 0 9px #8FB518;
    }
}

@-webkit-keyframes redPulse {
    from {
        -webkit-box-shadow: 0 0 1px #ff0000;
    }

    50% {
        -webkit-box-shadow: 0 0 18px #ff0000;
    }

    to {
        -webkit-box-shadow: 0 0 9px #ff0000;
    }
}

@-webkit-keyframes bluePulse {
    from {
        -webkit-box-shadow: 0 0 1px #048dd3;
    }

    50% {
        -webkit-box-shadow: 0 0 18px #daeef8;
    }

    to {
        -webkit-box-shadow: 0 0 9px #f5f8fa;
    }
}

.objGlow {
    height: 20px;
    width: 300px;
    border-radius: 6px;
    outline: none;
    -webkit-animation-name: greenPulse;
    -webkit-animation-duration: 2s;
    -webkit-animation-iteration-count: 3;
}

.objGlowRed {
    height: 20px;
    width: 300px;
    border-radius: 6px;
    outline: none;
    -webkit-animation-name: redPulse;
    -webkit-animation-duration: 2s;
    -webkit-animation-iteration-count: 3;
}

.objGlowRedShort {
    height: 20px;
    width: 300px;
    border-radius: 6px;
    outline: none;
    -webkit-animation-name: redPulse;
    -webkit-animation-duration: 2s;
    -webkit-animation-iteration-count: 1;
}

.objGlowBlue {
    height: 20px;
    width: 300px;
    border-radius: 6px;
    outline: none;
    -webkit-animation-name: bluePulse;
    -webkit-animation-duration: 2s;
    -webkit-animation-iteration-count: 1;
}

.addAnother {
    position: relative;
    top: 4px;
    left: -40px;
}

.stmTooltip, .stmTooltipButton {
    position: relative;
    z-index: 0;
    margin-left: 20px;
}

.stmTooltip {
    border: 1px solid #6a0070;
    background-color: #edf7fb;
    padding: 0.3rem 0.6rem;
    border-radius: 50px;
}

    .stmTooltip::before, .stmTooltip::after, .stmTooltipButton::before, .stmTooltipButton::after {
        --scale: 0;
        --tooltip-colour: #F5C500;
        --tooltip-button-colour: #333;
        --arrow-size: 10px;
        position: absolute;
        top: -.25rem;
        left: 50%;
        transform: translateX(-50%) translateY(var(--translate-y, 0)) scale(var(--scale));
        transition: 200ms transform;
        transform-origin: bottom center;
    }

    .stmTooltip::before {
        width: max-content;
        max-width: 200px;
        background: var(--tooltip-colour);
        color: #333;
    }

.stmTooltipButton::before {
    width: 236px;
    background: var(--tooltip-button-colour);
    color: white;
}





.stmTooltip::before, .stmTooltipButton::before {
    --translate-y: calc(-100% - var(--arrow-size));
    content: attr(data-tooltip);
    font-size: 1.3rem;
    padding: 0.5rem 0.8rem;
    text-align: center;
    border-radius: 0.5rem;
}

.stmTooltip:hover::before, .stmTooltip:hover::after {
    --scale: 1;
    transition-delay: 500ms;
}

.stmTooltipButton:hover::before, .stmTooltipButton:hover::after {
    --scale: 1;
    transition-delay: 1200ms;
}

.stmTooltip::after {
    --translate-y: calc(-1 * var(--arrow-size));
    content: '';
    border: var(--arrow-size) solid transparent;
    border-top-color: var(--tooltip-colour);
    transform-origin: top center;
}

.required-icon {
    position: relative;
    z-index: 2;
}

    .required-icon::before,
    .required-icon::after {
        --scale: 0;
        --tooltip-colour: #f20d0e;
        --arrow-size: 10px;
        position: absolute;
        top: 2.25rem;
        left: 20%;
        transform: translateX(-20%) translateY(var(--translate-y, 0)) scale(var(--scale));
        transition: 200ms transform;
        transform-origin: bottom center;
    }

    .required-icon::before {
        --translate-y: calc(-100% - var(--arrow-size));
        content: 'This is a mandatory question';
        font-size: 1.3rem;
        color: white;
        padding: 0.5rem 0.8rem;
        text-align: center;
        width: max-content;
        border-radius: 0.5rem;
        max-width: 200px;
        background: var(--tooltip-colour);
    }

    .required-icon:hover::before,
    .required-icon:hover::after {
        --scale: 1;
    }

    .required-icon::after {
        --translate-y: calc(-1 * var(--arrow-size));
        content: '';
        border: var(--arrow-size) solid transparent;
        border-top-color: var(--tooltip-colour);
        transform-origin: top center;
    }

details > summary {
    padding: 10px 0 0 10px;
    width: 100%;
    height: 40px;
    border: none;
    box-shadow: 1px 1px 2px #bbbbbb;
    cursor: pointer;
}

details[open] {
    border: none;
}

details > p {
    background-color: #eeeeee;
    padding: 4px;
    margin: 0;
    box-shadow: 1px 1px 2px #bbbbbb;
    border: 1px solid #333;
    margin: 0 10px 0 10px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}

details.active {
    border: none;
}

summary:before {
    color: #696f7c;
    margin-right: 5px;
    font-weight: 900;
    font-size: 2rem;
}

.highlight {
    font-weight: 900 !important;
}

.bossWarning {
    color: #fa004a;
    font-size: 2em;
}

.errorImage {
    width: 450px;
    height: auto;
}

.anchor, .anchor:link, .anchor:visited, .anchor:active {
    color: white;
    text-decoration: none;
}

.anchor:hover {
    color: white;
    text-decoration: none;
}
