:root {
    --purple: #9e80d9;
    --cyan: #7fc2c4;
    --grey: #dfdfdf;
    --dark-purple: #594879;
    --dark-cyan: #588586;
    --dark-grey: #434343;
    --white: #fffffc
}

@media (prefers-color-scheme: dark) {
    :root {
    --purple: #9e80d9;
    --cyan: #7fc2c4;
    --grey: #dfdfdf;
    --dark-purple: #594879;
    --dark-cyan: #588586;
    --dark-grey: #434343;
    --white: #fffffc
}



hr {width: 60%; height: 2px; background-color: #dfdfdf; border: none; margin: auto;}
br {clear:both;}

html {background-color: #dfdfdf !important;}

body {
    background-color: var(--grey) !important;
    font-family: "Raleway", "Century Gothic", "AppleGothic", "Avant Garde", "sans-serif";
    color: var(--dark-grey) !important;
    font-size: 1.25rem;
    line-height: 1.5rem;
    margin: 0;
    overflow: auto;
}

h1, .h1 {
    color: var(--purple);
    text-align: center;
    line-height: 4rem;
    font-size: 3rem;
    font-family: "Raleway", "Century Gothic", "AppleGothic", "Avant Garde", "sans-serif";
    font-weight: bold;
    text-shadow: 0 0 1px var(--dark-grey);
    /*text-shadow: 1px 2px 4px var(--dark-purple);*/
    padding: 1px;
    margin: 1px;
}

h2, .h2 {
    color: var(--cyan);
    text-align: center;
    line-height: 4rem;
    font-size: 3rem;
    font-family: "Raleway", "Century Gothic", "AppleGothic", "Avant Garde", "sans-serif";
    font-weight: bold;
    text-shadow: 0 0 1px var(--dark-grey);
    /*text-shadow: 1px 2px 4px var(--dark-cyan);*/
    padding: 1px;
    margin: 1px;
}

h3, .h3 {
    color: var(--purple);
    text-align: center;
    line-height: 2.5rem;
    font-size: 2rem;
    font-family: "Raleway", "Century Gothic", "AppleGothic", "Avant Garde", "sans-serif";
    font-style: italic;
    text-shadow: 0 0 1px var(--dark-grey);
    /*text-shadow: 1px 2px 4px var(--dark-purple);*/
    padding: 1px;
    margin: 1px;
}

h4, .h4 {
    color: var(--cyan);
    text-align: center;
    line-height: 2.5rem;
    font-size: 2rem;
    font-family: "Raleway", "Century Gothic", "AppleGothic", "Avant Garde", "sans-serif";
    font-style: italic;
    text-shadow: 0 0 1px var(--dark-grey);
    /*text-shadow: 1px 2px 4px var(--dark-cyan);*/
    padding: 1px;
    margin: 1px;
}

h5, .h5 {
    color: var(--grey);
    text-align: center;
    line-height: 2rem;
    font-size: 1.5rem;
    font-family: "Raleway", "Century Gothic", "AppleGothic", "Avant Garde", "sans-serif";
    text-shadow: 0 0 1px var(--dark-grey);
    /*text-shadow: 2px 2px 4px var(--dark-grey);*/
    padding: 1px;
    margin: 1px;
}

.ff {
    width: 90%;
    display: inline-block;
    white-space: nowrap;
    overflow: hidden;
}
.fn {
    width: 30%;
    display: inline-block;
    white-space: nowrap;
    padding-left: 1vw;
    padding-right: 2rem;
    text-align: left !important;
}
.fi {
    width: 50%;
    display: inline-block;
}

input, textarea, select, select option {
    line-height: 1.5rem;
    font-size: 1.5rem;
    font-family: "Raleway", "Century Gothic", "AppleGothic", "Avant Garde", "sans-serif";
    font-weight: bold;
    width: 90%;
    height: 2rem;
    vertical-align: middle;
    padding: 0.25rem;
    padding-left: 2vw;
    margin: 0;
    border: 2px solid var(--cyan);
    color: var(--dark-grey);
    background-color: var(--grey);
    border-radius: 30px;
}
input:focus, textarea:focus {
    background-color: var(--white);
    border-color: var(--dark-cyan);
    color: var(--dark-cyan);
}
textarea {resize: vertical; height: auto;}
select, select option {cursor: pointer; height: auto; width: 95%;}
button {
    text-align: center;
    line-height: 2rem;
    font-size: 2rem;
    font-family: "Raleway", "Century Gothic", "AppleGothic", "Avant Garde", "sans-serif";
    font-weight: bold;
    vertical-align: middle;
    height: 3rem;
    margin: 1vw;
    padding: 0.5rem 1rem 0.5rem 1rem;
    border: 3px solid var(--dark-grey);
    background-color: var(--grey);
    color: var(--dark-grey);
    border-radius: 30px;
}
button.stop {
    color: #c11;
    border-color: #c11;
    background-color: #fcc;
}
button.yield {
    color: #cc1;
    border-color: #cc1;
    background-color: #ffc;
}
button.go {
    color: #1c1;
    border-color: #1c1;
    background-color: #cfc;
}
button:hover {
    background-color: var(--white);
    cursor: pointer;
}
button.go:hover {
    color: #393;
    border-color: #393;
}
button.yield:hover {
    color: #993;
    border-color: #993;
}
button.stop:hover, button.disabled:hover {
    color: #933;
    border-color: #933;
}
button.disabled {
    color: var(--dark-grey);
    background-color: var(--grey);
    border-color: var(--dark-grey);
    cursor: not-allowed;
}

.bb {max-width: 100%; overflow: none; padding: 0; margin: 10px; margin-right: 13vw;}

.main-background {background-color: var(--grey) !important; margin: 0; padding: 0; width: 97vw;}
.main-border {
    margin: 1vw !important;
    padding: 0 !important;    
}
.main-container {
    background-color: var(--white);
    border: 3px solid var(--dark-grey); 
    border-radius: 30px;
    margin: 0 !important;
    padding: 1vw !important;
    width: 99%;
    height: 99%;
    text-align: center;
}
div.navigation {
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 90vw;
    background: transparent;
    margin: 1vw 2vw;
    padding: 0;
}

#alert {
    width: 95%;
    min-height: 3rem;
    height: auto;
    line-height: 2rem;
    font-size: 1.5rem;
    font-weight: bold;
    font-style: italic;
    border: 2px solid var(--white);
    border-radius: 30px;
    margin: 2px 2vw;
    padding: 0.25rem;
    cursor: pointer;
}
div>a.close {width: 100%; text-align: right;}
.close {
    width: 100%;
    color: #933;
    text-align: right !important;
    font-size: 2rem;
    padding: 0;
    margin: 0;
    text-decoration: none;
}
.close:hover {color: #c00; text-decoration: none;}

.error {color: #c11; border-color: #c11 !important; background-color: var(--grey);}
.conf {color: #1c1; border-color: #1c1 !important; background-color: var(--grey);}

.bgt {background: transparent !important; background-color: transparent;}

.footer {
    font-size: 1rem;
    font-style: italic;
}

#gstnum {display:none;}

a, a:link, a:visited {
    color: var(--cyan);
    text-decoration: none;
}

a:hover, a:active {
    color: var(--dark-cyan);
    text-shadow: 0 0 10px var(--cyan);
    text-decoration: underline;
}

a.mm, a:link.mm, a:visited.mm {
    color: var(--purple);
    text-shadow: 0 0 20px var(--white), -2px 0 var(--white), 0 -2px var(--white), 0 2px var(--white), 2px 0 var(--white), 0 0 5px var(--white);
    font-size: 3vw;
    line-height: 4vw;
    font-weight: bold;
    text-decoration: none;
}

a:hover.mm, a:active.mm {
    color: var(--dark-purple);
    text-shadow: 0 0 10px var(--purple);
    text-decoration: underline;
}

p {
    text-align: left;
    text-indent: 2vw;
    margin: 10px 1vw;
    padding: 10px 1vw;
}
ul {padding-left: 4vw;} 
li {text-align: left;}
table, th, td {background: transparent;}

p#gpi-info {
    font-style: italic;
    text-align: right;
    font-size: 1vw;
}

.cb {
    color: var(--purple);
    width: 70%;
    font-weight: bold;
    text-align: left;
    float: left;
    margin: 0;
    padding: 1px 3vw;
}
.cbb {
    margin: 0;
    padding: 1px;
    width: 30%;
}
.cb0 {
    color: #c11;
    cursor: pointer;
    text-align: right;
    width: 3vw;
    font-size: 3vw;
}
.cb1 {
    color: #1c1;
    cursor: pointer;
    text-align: right;
    width: 3vw;
    font-size: 3vw;
    display: none;
}
.cb0:hover {
    color: #0c0;
    cursor: pointer;
    text-align: right;
    width: 3vw;
    font-size: 3vw;
}
.cb1:hover {
    color: #c00;
    cursor: pointer;
    text-align: right;
    width: 3vw;
    font-size: 3vw;
    display: none;
}
.fullw {width: 100%;}
.left {text-align: left !important;}
.centre {text-align: center !important; text-indent: 0;}
.right {text-align: right !important;}
.bottom {vertical-align: bottom !important;}
.top {vertical-align: top !important;}
.tab {text-align: left; text-indent: 3vw;}
.i {font-style: italic;}
.b {font-weight: bold;}

@media (max-width: 101vh) {
    .ff, .fn, .fi {
        display: block !important; 
        width: 100% !important; 
        white-space: normal !important; 
        clear: both !important;
    }
    p#gpi-info {
        font-size: 2vw;
    }
}

.hidden {display: none;}