﻿:root {
    --led-width: 1em;
    --led-height: 0.3em;
    --ledgap-size: 0.2em;
    --leddefault-dim-opacity: 0.15;
    --ledalmost-off-opacity: 0.05;
    --ledmargin-top: 0.1em;
}

html {
    font-family: var(--page-font);
    font-size: 0.95em;
    /*background: -webkit-gradient(linear, left top, left bottom, from(#FFF), to(#b7b7b7));
    background: -ms-linear-gradient(top, #FFF 0%, #b7b7b7 100%);
    background: -moz-linear-gradient(top, #FFF, #b7b7b7);
    filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#FFF', endColorstr='#b7b7b7');*/
    background-size: 7%;
    background-repeat: repeat;
    overflow: auto;
    padding-bottom: 2em;
    min-height: 100%;
}

body {
    padding-top: 5em;
}

.CONTENTWRAP {
    text-align: center;
}

.CONTENT {
    text-align: left;
    display: inline-block;
    max-width: 80% !important;
    width: 100%;
}

.CONTENTTITLE {
    font-size: 1.7em !important;
    font-weight: bold !important;
    margin: 1em 0 0 0 !important;
}

.CONTENTSUBTITLE {
    font-size: 1.2em !important;
    font-style: italic;
    font-weight: normal;
    color: #004f89;
    margin: 0.5em 0.5em 0.3em 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

    .CONTENTSUBTITLE .TAIL {
        font-weight: normal;
    }

@media only screen and (max-width: 670px) {
    .CONTENTSUBTITLE {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.25em;
    }
}

.CONTENTBODY {
    font-family: var(--page-font);
    background-color: #eef0f3;
    border: 1px solid #ced4de;
    padding: 1em 1.4em 1em 1.4em;
    -webkit-border-radius: 0.25em;
    -moz-border-radius: 0.25em;
    border-radius: 0.25em;
    margin-top: 0.5em;
}

    .CONTENTBODY a, .CONTENTBODY a:link, .CONTENTBODY a:link, .CONTENTBODY a:visited {
        color: #0068b3;
        font-weight: bold;
        /*text-decoration: none;*/
    }

    .CONTENTBODY p, .PARA {
        line-height: 1.4em;
        margin: 0.7em 0 0.7em 0;
    }

.CONTENTBODYNOTE {
    padding: 0.2em 0 0.3em 0.5em;
    background-color: #e3e9f7;
    -webkit-border-radius: 0.25em;
    -moz-border-radius: 0.25em;
    border-radius: 0.25em;
    border: 0.05em solid #d6dae4;
    border-left: 0.3em solid #004170 !important;
    line-height: 1.3em;
}

.HEADER {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background-color: #004170;
    z-index: 7777;
    -moz-box-shadow: 0px 2px 5px #333;
    -webkit-box-shadow: 0px 2px 5px #333;
    box-shadow: 0px 2px 5px #333;
    -ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=2, Direction=180, Color='#333')";
    filter: progid:DXImageTransform.Microsoft.Shadow(Strength=2, Direction=180, Color='#333');
}

    .HEADER ul {
        margin: 0;
        padding: 0;
    }

    .HEADER li {
        display: inline-block;
        margin: 0;
        text-transform: uppercase;
        font-weight: bold;
    }

        .HEADER li a {
            display: inline-block;
            padding: 0.8em 1em;
        }

        li.CURRENT, .HEADER li:hover {
            background-color: #d61a16 !important;
        }

            .HEADER li:hover a {
                color: #FFF;
            }

    .HEADER a:link, .HEADER a:link, .HEADER a:visited {
        color: #D0D0D0;
        text-decoration: none;
    }

li.CURRENT a:link, li.CURRENT a:link, li.CURRENT a:visited {
    color: #FFF;
}

.HEADER .LOGO {
    float: right;
}

    .HEADER .LOGO img {
        position: absolute;
        height: 2.7em;
        z-index: 99999;
        top: 0;
        right: 0;
        -webkit-border-radius: 0.15em;
        -moz-border-radius: 0.15em;
        border-radius: 0.15em;
    }

.HEADER .LOGOSMALLSCREEN {
    display: none;
    text-align: right;
}

@media only screen and (max-width: 670px) {
    .HEADER li a {
        /*padding: 0.8em 0.5em !important;*/
    }
}

@media only screen and (max-width: 620px) {
    .HEADER .LOGO img {
        top: 0.4em;
        right: 0.2em;
        height: 2.2em;
    }

    .HEADER .LOGO {
        display: none;
    }

    .HEADER .LOGOSMALLSCREEN {
        display: block;
    }

        .HEADER .LOGOSMALLSCREEN img {
            height: 2.2em;
        }
}

@media only screen and (max-width: 590px) {
    .HEADER .LOGO img {
        top: 0.5em;
        right: 0.2em;
        height: 2em;
    }
}

@media only screen and (max-width: 530px) {
    .HEADER .LOGO img {
        /*top: 0.6em;
        right: 0.2em;
        height: 1.8em;*/
    }
}

@media only screen and (max-width: 510px) {
    .HEADER .LOGO img {
        /*top: 3em;
        right: 0em;
        height: 1.8em;*/
    }
}

@media only screen and (max-width: 480px) {
    .HEADER li a {
        padding: 0.9em 0.4em !important;
        font-size: 0.9em;
    }
}

@media only screen and (max-width: 420px) {
    .HEADER li a {
        font-size: 0.85em;
    }
}

@media only screen and (max-width: 380px) {
    .HEADER li a {
        padding: 0.8em 0.3em !important;
        font-size: 0.8em;
    }
}

/*******/
.SOCIALMEDIAWRAP {
    float: right;
}

    .SOCIALMEDIAWRAP a {
        margin: 0 0.3em 0 0.1em;
    }

    .SOCIALMEDIAWRAP img {
        width: auto !important;
        height: 1em !important;
    }

        .SOCIALMEDIAWRAP img:hover {
            cursor: default !important;
            -moz-box-shadow: 0px 2px 5px #333;
            -webkit-box-shadow: 0px 2px 5px #333;
            box-shadow: 0px 2px 5px #333;
            -ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=2, Direction=180, Color='#333')";
            filter: progid:DXImageTransform.Microsoft.Shadow(Strength=2, Direction=180, Color='#333');
        }

.OTHERLOGOSUNDERHEADER {
    text-align: right;
    margin-top: -1em;
    margin-left: -1.4em;
    margin-right: -1.4em;
    padding: 0 0.6em;
    background-color: #eef0f3;
}

    .CONTENTTITLE img, .OTHERLOGOSUNDERHEADER img {
        display: inline-block;
        height: 3.7em;
    }

@media only screen and (max-width: 900px) {
    .CONTENT {
        max-width: 85% !important;
    }
}

@media only screen and (max-width: 800px) {
    .CONTENT {
        max-width: 90% !important;
    }
}

@media only screen and (max-width: 620px) {
    .CONTENT {
        max-width: 95% !important;
    }

    .CONTENTTITLE img, .OTHERLOGOSUNDERHEADER img {
        height: 3.4em;
    }
}

@media only screen and (max-width: 590px) {
    .CONTENT {
        max-width: 95% !important;
    }

    .CONTENTTITLE img, .OTHERLOGOSUNDERHEADER img {
        height: 3.2em;
    }
}

@media only screen and (max-width: 530px) {
    .CONTENT {
        max-width: 95% !important;
    }

    .OTHERLOGOSUNDERHEADER {
        top: 3.6em;
    }

        .CONTENTTITLE img, .OTHERLOGOSUNDERHEADER img {
            height: 3.1em;
        }
}

/* ===== HAMBURGER MENU ===== */
.HAMBURGERBTN {
    display: none;
    flex-direction: column;
    justify-content: space-around;
    width: 2.1em;
    height: 1.9em;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0.2em;
    position: absolute;
    right: 0.7em;
    top: 0.55em;
    z-index: 9999;
}

.HAMBURGERBTN span {
    display: block;
    height: 0.22em;
    background: #D0D0D0;
    border-radius: 2px;
    transition: transform 0.2s ease, opacity 0.2s ease, background-color 0.15s ease;
    transform-origin: center;
}

.HAMBURGERBTN:hover span {
    background: #ffffff;
}

/* Animate to X when open — translateY(0.50em) moves spans exactly to button centre */
.HAMBURGERBTN.HAMOPEN span:nth-child(1) { transform: translateY(0.50em) rotate(45deg); }
.HAMBURGERBTN.HAMOPEN span:nth-child(2) { opacity: 0; }
.HAMBURGERBTN.HAMOPEN span:nth-child(3) { transform: translateY(-0.50em) rotate(-45deg); }

@media only screen and (max-width: 480px) {
    body {
        padding-top: 0;
    }

    .HAMBURGERBTN {
        display: flex;
    }

    .HEADER {
        position: relative;
        min-height: 3em;
    }

    .HEADER ul {
        display: none;
        flex-direction: column;
        width: 100%;
        background-color: #004170;
        padding-top: 3.4em;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        z-index: 8888;
        box-shadow: 0 4px 8px rgba(0,0,0,0.35);
    }

    .HEADER ul.NAVOPEN {
        display: flex;
    }

    .HEADER li {
        display: block !important;
        width: 100%;
        margin: 0 !important;
    }

    .HEADER li a {
        display: block !important;
        width: 100%;
        padding: 0.85em 1.1em !important;
        font-size: 1em !important;
        border-bottom: 1px solid rgba(255,255,255,0.08);
    }

    .HEADER .LOGO {
        display: none !important;
    }

    .HEADER .LOGOSMALLSCREEN {
        display: block;
        position: absolute;
        left: 0.7em;
        top: 0.4em;
        z-index: 9999;
    }

    .CONTENTTITLE {
        margin-top: 1.5em !important;
    }
}

/* ===== END HAMBURGER ===== */

/* ===== SITE FOOTER ===== */
.egps-footer {
    background-color: #004170;
    color: #b8cfe0;
    width: 100%;
    margin-top: 2.5em;
}

.egps-footer-inner {
    max-width: 80%;
    margin: 0 auto;
    padding: 2.2em 1em 1.8em;
    display: flex;
    flex-wrap: wrap;
    gap: 2em 3em;
    justify-content: space-between;
}

.egps-footer-col {
    flex: 1;
    min-width: 11em;
}

.egps-footer-brand {
    font-size: 1.3em;
    font-weight: bold;
    color: #ffffff;
    letter-spacing: 0.04em;
    margin-bottom: 0.4em;
}

.egps-footer-tagline {
    font-size: 0.87em;
    color: #9abdd6;
    margin: 0 0 0.9em 0;
    line-height: 1.45;
}

.egps-footer-addr {
    font-size: 0.82em;
    color: #80adc8;
    line-height: 1.65;
    font-style: normal;
}

.egps-footer-col-title {
    font-size: 0.88em;
    font-weight: bold;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    margin: 0 0 0.7em 0;
    padding-bottom: 0.35em;
    border-bottom: 1px solid rgba(255,255,255,0.15);
}

.egps-footer-links {
    list-style: none;
    margin: 0;
    padding: 0;
}

.egps-footer-links li {
    margin-bottom: 0.42em;
    font-size: 0.87em;
}

.egps-footer-links a {
    color: #9abdd6;
    text-decoration: none;
    transition: color 0.15s;
}

.egps-footer-links a:hover {
    color: #ffffff;
}

.egps-footer-note {
    font-size: 0.82em;
    color: #80adc8;
    margin: 0.6em 0 0 0;
}

.egps-footer-bottom {
    background-color: #002d50;
    text-align: center;
    font-size: 0.8em;
    color: #6090b0;
    padding: 0.8em 1em;
}

@media only screen and (max-width: 620px) {
    .egps-footer-inner {
        max-width: 95%;
        flex-direction: column;
        gap: 1.5em;
        padding: 1.8em 1em;
    }
}
/* ===== END SITE FOOTER ===== */

.PHONENUMBERWRAP {
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 0.25em;
    flex-shrink: 0;
}

    .PHONENUMBERWRAP img {
        height: 1.1em;
    }

.PHONENUMBER {
    font-style: normal;
    color: #445 !important;
}

.SUPPORTEMAILADDRESS {
    text-decoration: none;
    font-style: normal;
    color: blue !important;
}

.SQUARESEP {
    display: inline-block;
    font-size: 0.75em;
}

.led-container {
    all: unset;
    display: inline-block;
    margin-left: 0.5em;
    margin-top: var(--ledmargin-top);
    background: unset;
    background-color: unset !important;
}

    .led-container * {
        display: inline-block;
        margin: var(--ledgap-size);
    }

.led {
    width: var(--led-width);
    height: var(--led-height);
    border-radius: 0.8em;
    opacity: var(--leddefault-dim-opacity);
    transition: opacity 0.1s;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    -ms-animation-iteration-count: infinite;
    -o-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
}

.blueled {
    background-color: #007bff;
    box-shadow: 0 0 0.5em #007bff;
}

.greenled {
    background-color: #28a745;
    box-shadow: 0 0 0.5em #28a745;
}

.orangeled {
    background-color: #ff8c00;
    box-shadow: 0 0 0.5em #ff8c00;
}

.redled {
    background-color: #dc3545;
    box-shadow: 0 0 0.5em #dc3545;
}

.standard-flash {
    -webkit-animation-name: flash-greenled;
    -moz-animation-name: flash-greenled;
    -ms-animation-name: flash-greenled;
    -o-animation-name: flash-greenled;
    animation-name: flash-greenled;
}

@-webkit-keyframes flash-greenled { /* Chrome, Safari */
    0% {
        opacity: 1;
    }

    15% {
        opacity: 1;
    }

    16% {
        opacity: var(--leddefault-dim-opacity);
    }

    40% {
        opacity: var(--leddefault-dim-opacity);
    }

    45% {
        opacity: 1;
    }

    50% {
        opacity: var(--leddefault-dim-opacity);
    }

    100% {
        opacity: var(--leddefault-dim-opacity);
    }
}

@-moz-keyframes flash-greenled { /* Firefox */
    0% {
        opacity: 1;
    }

    15% {
        opacity: 1;
    }

    16% {
        opacity: var(--leddefault-dim-opacity);
    }

    40% {
        opacity: var(--leddefault-dim-opacity);
    }

    45% {
        opacity: 1;
    }

    50% {
        opacity: var(--leddefault-dim-opacity);
    }

    100% {
        opacity: var(--leddefault-dim-opacity);
    }
}

@-o-keyframes flash-greenled { /* Opera */
    0% {
        opacity: 1;
    }

    15% {
        opacity: 1;
    }

    16% {
        opacity: var(--leddefault-dim-opacity);
    }

    40% {
        opacity: var(--leddefault-dim-opacity);
    }

    45% {
        opacity: 1;
    }

    50% {
        opacity: var(--leddefault-dim-opacity);
    }

    100% {
        opacity: var(--leddefault-dim-opacity);
    }
}

@keyframes flash-greenled { /* Standard */
    0% {
        opacity: 1;
    }

    15% {
        opacity: 1;
    }

    16% {
        opacity: var(--leddefault-dim-opacity);
    }

    40% {
        opacity: var(--leddefault-dim-opacity);
    }

    45% {
        opacity: 1;
    }

    50% {
        opacity: var(--leddefault-dim-opacity);
    }

    100% {
        opacity: var(--leddefault-dim-opacity);
    }
}

.mostly-always-on {
    -webkit-animation-name: flash-mostly-on;
    -moz-animation-name: flash-mostly-on;
    -ms-animation-name: flash-mostly-on;
    -o-animation-name: flash-mostly-on;
    animation-name: flash-mostly-on;
    opacity: 1;
}

@-webkit-keyframes flash-mostly-on {
    0% {
        opacity: 1;
    }

    45% {
        opacity: 1;
    }

    46% {
        opacity: var(--ledalmost-off-opacity);
    }

    48% {
        opacity: 1;
    }

    70% {
        opacity: 1;
    }

    71% {
        opacity: var(--ledalmost-off-opacity);
    }

    75% {
        opacity: 1;
    }

    90% {
        opacity: 1;
    }

    91% {
        opacity: var(--ledalmost-off-opacity);
    }

    94% {
        opacity: 1;
    }

    100% {
        opacity: 1;
    }
}

@-moz-keyframes flash-mostly-on {
    0% {
        opacity: 1;
    }

    45% {
        opacity: 1;
    }

    46% {
        opacity: var(--ledalmost-off-opacity);
    }

    48% {
        opacity: 1;
    }

    70% {
        opacity: 1;
    }

    71% {
        opacity: var(--ledalmost-off-opacity);
    }

    75% {
        opacity: 1;
    }

    90% {
        opacity: 1;
    }

    91% {
        opacity: var(--ledalmost-off-opacity);
    }

    94% {
        opacity: 1;
    }

    100% {
        opacity: 1;
    }
}

@-o-keyframes flash-mostly-on {
    0% {
        opacity: 1;
    }

    45% {
        opacity: 1;
    }

    46% {
        opacity: var(--ledalmost-off-opacity);
    }

    48% {
        opacity: 1;
    }

    70% {
        opacity: 1;
    }

    71% {
        opacity: var(--ledalmost-off-opacity);
    }

    75% {
        opacity: 1;
    }

    90% {
        opacity: 1;
    }

    91% {
        opacity: var(--ledalmost-off-opacity);
    }

    94% {
        opacity: 1;
    }

    100% {
        opacity: 1;
    }
}

@keyframes flash-mostly-on { /* Standard */
    0% {
        opacity: 1;
    }

    45% {
        opacity: 1;
    }

    46% {
        opacity: var(--ledalmost-off-opacity);
    }

    48% {
        opacity: 1;
    }

    70% {
        opacity: 1;
    }

    71% {
        opacity: var(--ledalmost-off-opacity);
    }

    75% {
        opacity: 1;
    }

    90% {
        opacity: 1;
    }

    91% {
        opacity: var(--ledalmost-off-opacity);
    }

    94% {
        opacity: 1;
    }

    100% {
        opacity: 1;
    }
}

.almost-always-on {
    -webkit-animation-name: flash-always-on;
    -moz-animation-name: flash-always-on;
    -ms-animation-name: flash-always-on;
    -o-animation-name: flash-always-on;
    animation-name: flash-always-on;
    opacity: 1;
}

@-webkit-keyframes flash-always-on {
    0% {
        opacity: 1;
    }

    95% {
        opacity: 1;
    }

    96% {
        opacity: var(--ledalmost-off-opacity);
    }

    98% {
        opacity: 1;
    }

    100% {
        opacity: 1;
    }
}

@-moz-keyframes flash-always-on {
    0% {
        opacity: 1;
    }

    95% {
        opacity: 1;
    }

    96% {
        opacity: var(--ledalmost-off-opacity);
    }

    98% {
        opacity: 1;
    }

    100% {
        opacity: 1;
    }
}

@-o-keyframes flash-always-on {
    0% {
        opacity: 1;
    }

    95% {
        opacity: 1;
    }

    96% {
        opacity: var(--ledalmost-off-opacity);
    }

    98% {
        opacity: 1;
    }

    100% {
        opacity: 1;
    }
}

@keyframes flash-always-on { /* Standard */
    0% {
        opacity: 1;
    }

    95% {
        opacity: 1;
    }

    96% {
        opacity: var(--ledalmost-off-opacity);
    }

    98% {
        opacity: 1;
    }

    100% {
        opacity: 1;
    }
}

.more-frequent-flash {
    -webkit-animation-name: flash-more-frequent;
    -moz-animation-name: flash-more-frequent;
    -ms-animation-name: flash-more-frequent;
    -o-animation-name: flash-more-frequent;
    animation-name: flash-more-frequent;
    opacity: 1;
}

/* Prefix Keyframes */
@-webkit-keyframes flash-more-frequent {
    0% {
        opacity: 1;
    }

    10% {
        opacity: 1;
    }

    11% {
        opacity: var(--ledalmost-off-opacity);
    }

    13% {
        opacity: 1;
    }

    35% {
        opacity: 1;
    }

    36% {
        opacity: var(--ledalmost-off-opacity);
    }

    38% {
        opacity: 1;
    }

    60% {
        opacity: 1;
    }

    61% {
        opacity: var(--ledalmost-off-opacity);
    }

    63% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    86% {
        opacity: var(--ledalmost-off-opacity);
    }

    88% {
        opacity: 1;
    }

    100% {
        opacity: 1;
    }
}

@-moz-keyframes flash-more-frequent {
    0% {
        opacity: 1;
    }

    10% {
        opacity: 1;
    }

    11% {
        opacity: var(--ledalmost-off-opacity);
    }

    13% {
        opacity: 1;
    }

    35% {
        opacity: 1;
    }

    36% {
        opacity: var(--ledalmost-off-opacity);
    }

    38% {
        opacity: 1;
    }

    60% {
        opacity: 1;
    }

    61% {
        opacity: var(--ledalmost-off-opacity);
    }

    63% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    86% {
        opacity: var(--ledalmost-off-opacity);
    }

    88% {
        opacity: 1;
    }

    100% {
        opacity: 1;
    }
}

@-o-keyframes flash-more-frequent {
    0% {
        opacity: 1;
    }

    10% {
        opacity: 1;
    }

    11% {
        opacity: var(--ledalmost-off-opacity);
    }

    13% {
        opacity: 1;
    }

    35% {
        opacity: 1;
    }

    36% {
        opacity: var(--ledalmost-off-opacity);
    }

    38% {
        opacity: 1;
    }

    60% {
        opacity: 1;
    }

    61% {
        opacity: var(--ledalmost-off-opacity);
    }

    63% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    86% {
        opacity: var(--ledalmost-off-opacity);
    }

    88% {
        opacity: 1;
    }

    100% {
        opacity: 1;
    }
}

@keyframes flash-more-frequent { /* Standard */
    0% {
        opacity: 1;
    }

    10% {
        opacity: 1;
    }

    11% {
        opacity: var(--ledalmost-off-opacity);
    }

    13% {
        opacity: 1;
    }

    35% {
        opacity: 1;
    }

    36% {
        opacity: var(--ledalmost-off-opacity);
    }

    38% {
        opacity: 1;
    }

    60% {
        opacity: 1;
    }

    61% {
        opacity: var(--ledalmost-off-opacity);
    }

    63% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    86% {
        opacity: var(--ledalmost-off-opacity);
    }

    88% {
        opacity: 1;
    }

    100% {
        opacity: 1;
    }
}
