
/*000_html.css*/
/*
Put over all styles here

php $vars can be used when expressed as ?vars?
*/

*,*:before,*:after {
    font-family: Arial, sans-serif;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    color: #555555;
}

* > :last-child {
    margin-bottom: 0 !important;
}

html {
    font-size: 87.5%;
    height: 100vh;
    scroll-behavior: smooth;
}

body {
    position: relative;
    padding: 7rem 0 1rem 0;
    border-bottom: 2.85rem solid #eeeeee;
    height: 100%;
}

body.ifPage {
    padding: 0;
    border: none;
    height: 100%;
}

pre {
    font-family: monospace;
}

a {
    text-decoration: none;
    cursor: pointer;
}

.link {
    text-decoration: underline;
}

hr {
    display: block;
    width: 100%;
    border: none;
    border-top: 1px solid #cccccc;
    margin: 1rem 0;
}

li {
    margin-bottom: .5rem;
}

parent > li:last-child {
    margin-bottom: 0;
}
/*001_talkBubbles.css*/
.tBubbleB, .tBubbleG {
    position: relative;
    display: inline-block;
    padding: .5rem 1rem;
    border-radius: 1rem;
    margin-bottom: 1rem;
    min-width: 3.5rem;
    min-height: 2rem;
}

.tBubbleB:after, .tBubbleG:after {
    content: "\25bc";
    position: absolute;
    top: calc(100% - .5rem);
    font-size: 1.5rem;
}

.tBubbleB:after {
    right: 1rem;
}

.tBubbleG:after {
    left: 1rem;
}

.tBubbleG {
    background: #eeeeee;
}

.tBubbleB {
    background: #ddeeff;
}

.tBubbleG:after {
    color: #eeeeee;
}

.tBubbleB:after {
    color: #ddeeff;
}


/*002_mobileDevice.css*/
.deviceFrame {
    position: relative;
    float: left;
    width: 100%;
    max-width: 360px;
    height: 20rem;
    overflow: hidden;
}

.deviceFade {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 25%;
    background-image: linear-gradient(to top, rgba(255,255,255,1), rgba(255,255,255,.8), rgba(255,255,255,0));
}

.deviceBezel {
    background: #000000;
    width: 100%;
    height: 100%;
    padding: .5rem .25rem;
    border-top: 3px solid #cccccc;
    border-left: 3px solid #999999;
    border-right: 3px solid #555555;
    border-radius: 1rem 1rem 0 0;
}

.deviceSpeaker {
    margin: .25rem auto;
    width: 30%;
    height: .25rem;
    background: #555555;
    border-radius: .125rem;
    border-bottom: 1px solid #cccccc;
    border-right: 1px solid #999999;
    border-top: 1px solid #555555;
    border-left: 1px solid #555555;
}

.deviceLCD {
    height: calc(100% - .5rem);
    margin: .5rem 0;
    padding: 1rem;
    text-align: left;
    background: #99d1ed;
    border-radius: .5rem .5rem 0 0;
    overflow-Y: scroll;
    -ms-overflow-style: none;
}

.deviceLCD::-webkit-scrollbar {
    display: none;
}

#summaryMessage {
    font-size: 1rem;
}

#summaryMessage:before {
    content: "\200b";
}

#summaryMedia img {
    display: block;
    margin: 0 auto .5rem auto;
    max-width: 100%;
    max-height: 9rem;
}

.demoWarning {
    position: absolute;
    bottom: -1rem;
    padding: 1rem;
    line-height: 1em;
    text-align: left;
    font-size: .6rem;
}
/*010_debug.css*/
.code, .noHovCode {
    position: relative;
    z-index: 999;
    font-family: monospace;
    margin: .25rem;
    width: 2.1rem;
    height: 2rem;
    border-radius: 100%;
}

.code:before {
    position: absolute;
    z-index: 998;
    top: 0;
    display: block;
    content: " ";
    width: 2rem;
    height: 2rem;
    font-size: .1rem;
    background: #ffcc00;
    border: .25rem solid #000000;
    border-radius: 100%;
}

.code table, .noHovCode table {
}
:is(.code,.noHovCode) table {
    display: none;
    margin: -.25rem -.5rem;
}

.code:hover, .noHovCode {
    max-width: 100%;
    background: #000000;
    width: 4rem;
    border-radius: 1rem 0 0 1rem;
}

.code:hover table {
    display: table;
}

.code:hover > table, .noHovCode > table {
    position: absolute;
    left: 2.09rem;
    margin: 0;
}

:is(.code,.noHovCode) td {
    padding: .25rem .5rem;
    font-size: .8rem;
    font-weight: 600;
}

is:(.code,.noHovCode) td * {
    white-space: nowrap;
}

:is(.code,.noHovCode) td::first-child {
    color: #1d9ad6;
}

:is(.code,.noHovCode) td.varType {
    color: #4c9a37;
    font-weight: 200;
    text-transform: uppercase;
    border-bottom: 1px solid #cccccc;
}

:is(.code,.noHovCode) td.varType.noLine {
    border: none;
}

:is(.code,.noHovCode) span.varTypeInline {
    color: #4c9a37;
    font-weight: 200;
    font-style: italic;
}

.errorBox {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 999;
    width: auto;
    padding: .125rem;
    background: #ff0000;
    border: 1px solid #cccccc;
    font-size: 2rem;
}

.errorBox:before {
    content: "\1f62c";
}

.errorBox .errorLine {
    display: none;
}

.errorBox:hover {
    background: #eeeeee;
    padding: .5rem;
    font-size: .8rem;
}

.errorBox:hover .errorLine {
    display: table-row;
}

.errorBox:hover:before {
    content: "";
}

.errorLine {
    padding: 0;
}

.errorLine.fatal {
    background: #ff0000;
    color: #ffffff;
}

.errorLine.nonfatal {
    background: #ffcc00;
    color: #000000;
}

.errorLine.framework {
    background: #999999;
    color: #ffffff;
}

.errorNum, .errorMsg {
    padding: .5rem;
    color: inherit;
}

.errorNum {
    font-weight: 800;
    color: inherit;
}
/*020_table.css*/
table {
    width: 100%;
    border-collapse: collapse;
    background: #ffffff;
    padding: .25rem;
    margin-bottom: 1rem;
    border: 1px solid #cccccc;
}

tr:nth-child(even) {
    background: #eeeeee;
}

tr:hover {
    background: rgba(255,204,0,.2);
}

th {
    background: rgba(153,153,153,.7);
    color: #ffffff;
    padding: .5rem 1rem;
    text-align: left;
}

td {
    padding: .25rem;
}

td p {
    margin-bottom: .5em;
}

td > *:last-child {
    margin-bottom: 0;
}

.hzTable {
    table-layout: fixed;
    border: none;
}

.hzTable tr {
    background: none;
    border: 1px solid #cccccc;
}

.hzTable th {
    text-align: right;
    background: #eeeeee;
    color: #555555;
    font-weight: normal;
    border: none;
    border-right: 1px solid #cccccc;
}

.hzTable td {
    text-align: right;
}

.tableFuncButton,.divButton.tableFuncButton {
    padding: .125rem .25rem;
    font-size: .75rem;
    min-height: auto;
}

.tableFuncButton.edit {
    background: #4c9a37;
    color: #ffffff;
    margin-right: 1em;
}

.tableFuncButton.del {
    background: #ff0000;
    color: #ffffff;
}

.tableFuncButton.undel {
    background: #ffcc00;
    color: #555555;
}
.tableFuncButton.undel:before {
    content: "un";
    color: #555555;
}

tr.deletedRow {
    background: #999999;
}

tr.deletedRow td {
    color: #eeeeee;
}

tr.editingRow {
    background: #ddeeff;
}

.summaryTable {
    margin-right: 2rem;
}

.grid_1_1x1x1 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    align-items: start;
}

.grid_1_1x2x1 {
    display: grid;
    grid-template-columns: 1fr 2fr 1fr;
    align-items: start;
}

.grid_1_2x2x3 {
    display: grid;
    grid-template-columns: 2fr 2fr 3fr;
    align-items: start;
}

.grid_1_2x3x1 {
    display: grid;
    grid-template-columns: 2fr 3fr 1fr;
    align-items: start;
}

.grid_1_2x3x2 {
    display: grid;
    grid-template-columns: 2fr 3fr 2fr;
    align-items: start;
}

.grid_1_1x2 {
    display: grid;
    grid-template-columns: 1fr 2fr;
    align-items: start;
}

.grid_1_1x2x1 {
    display: grid;
    grid-template-columns: 1fr 2fr 1fr;
    align-items: start;
}

.grid_1_4x2x1 {
    display: grid;
    grid-template-columns: 4fr 2fr 1fr;
    align-items: start;
}

.grid_1_1x3 {
    display: grid;
    grid-template-columns: 1fr 3fr;
    align-items: start;
}

.grid_1_1x3x1 {
    display: grid;
    grid-template-columns: 1fr 3fr 1fr;
    align-items: start;
}

.grid_1_2x3 {
    display: grid;
    grid-template-columns: 2fr 3fr;
    align-items: start;
}

.grid_1_1x4 {
    display: grid;
    grid-template-columns: 1fr 4fr;
    align-items: start;
}

.grid_1_2x1 {
    display: grid;
    grid-template-columns: 2fr 1fr;
    align-items: start;
}

.grid_1_3x1 {
    display: grid;
    grid-template-columns: 3fr 1fr;
    align-items: start;
}

.grid_1_1x1 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: start;
}

.grid_1_5x2 {
    display: grid;
    grid-template-columns: 5fr 2fr;
    align-items: start;
}

.grid_1_3x2 {
    display: grid;
    grid-template-columns: 3fr 2fr;
    align-items: start;
}

.grid_8_1x1 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
    width: 100%;
    column-gap: .0625rem;
    margin-bottom: .0625rem;
}

.grid_12x1 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
    grid-template-rows: 1fr;
    width: 100%;
    column-gap: .0625rem;
    margin-bottom: .0625rem;
}

.grid_12x1 > * {
    padding: .5rem 1rem;
    background: #eeeeee;
    border-radius: 0.125rem;
}

.grid_12x1 > :first-child {
    color: #000000;
    background: #cccccc;
}

.gcs_1 {
    grid-column-start: 1;
}

.gcs_4 {
    grid-column-start: 4;
}

.gcs_7 {
    grid-column-start: 7;
}

.gcs_10 {
    grid-column-start: 10;
}

.gce_4 {
    grid-column-end: 4;
}

.gce_7 {
    grid-column-end: 7;
}

.gce_10 {
    grid-column-end: 10;
}

.gce_13 {
    grid-column-end: 13;
}

.charMap {
    margin: 1rem 0;
    padding: 1rem;
    border: .125rem solid #eeeeee;
    border-radius: 0.25rem;
    font-size: 1.25rem;
    line-height: 1.5em;
    letter-spacing: .1em;
}

.charMapLegend {
    
}

:is(.charMap,.charMapLegend) .ucsChar {
    font-weight: 700;
    margin: 0 .125rem;
    padding: 0 .25rem;
    color: #000000;
    background: #ffbfbf;
    border: .125rem solid #ffbfbf;
    border-radius: 0.25rem;
}

:is(.charMap,.charMapLegend) .dblChar {
    font-weight: 700;
    margin: 0 .125rem;
    padding: 0 .25rem;
    color: #000000;
    background: #fff2bf;
    border: .125rem solid #fff2bf;
    border-radius: 0.25rem;
}
/*021_chart.css*/
.chartFrame {
    position: relative;
    height: 24rem;
    padding: 1rem;
    border: 1px solid #eeeeee;
    border-radius: 0.25rem;
}

.chart {
    position: relative;
    z-index: 1;
    display: grid;
    grid-column-gap: 1px;
    height: 100%;
}

.chartRowLines {
    position: absolute;
    z-index: 0;
    height: calc(100% - 1.2em - 2rem);
    width: calc(100% - 2rem);
    background-image: linear-gradient(0deg, #eeeeee 3%, #ffffff 3%, #ffffff 100%);
    background-position: 50% 100%;
    border-top: .5px solid #eeeeee;
}

.col {
    display: grid;
    height: 100%;
    border-top: 1% solid #eeeeee;
}

.colbar {
    position: relative;
    align-self: end;
    background: #1d9ad6;
    background-image: linear-gradient(0deg, #ddeeff 0, #99d1ed 7rem, #1d9ad6 14rem);
    border-top: 1px solid #1d9ad6;
    border-bottom: .5px solid #cccccc;
    border-radius: 0.25rem 0.25rem 0 0;
    opacity: .7;
}

.colVal {
    display: none;
    position: absolute;
    bottom: 100%;
    left: 50%;
    z-index: 2;
    transform: translate(-50%,50%);
    font-size: .6em;
    padding: .2em .3em 0 .3em;
    background: #ffffff;
    border: 1px solid #99d1ed;
    border-radius: 0.25rem;
}

.colbar:hover .colVal {
    display: block;
}

.collabel {
    font-size: .8em;
    line-height: .8em;
    text-align: center;
    padding: .6em 0;
}

.colsteps {
    position: relative;
    height: 100%;
}

.step {
    position: absolute;
    width: calc(100% - 1em);
    font-size: .8em;
    text-align: right;
    background: #ffffff;
}






.graphFrame {
    position: relative;
    height: 300px;
    font-size: .75rem;
}

.graphDivisions {
    position: absolute;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: calc(100% - 2em);
}

.divisionBox {
    position: relative;
    flex-grow: 1;
    border-top: 1px solid #eeeeee;
}

.divisionLabel {
    position: absolute;
    top: calc(-1em - 1px);
    width: 3em;
    padding: .5em;
    background: #ffffff;
    text-align: right;
}

.zeroDivision {
    position: absolute;
    top: 100%;
    width: 100%;
    border-top: 1px solid #eeeeee;
}

.graphColumns {
    position: absolute;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    width: 100%;
    padding-left: 4em;
    height: calc(100% - 2em + 1px);
}

.columnBox {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    position: relative;
    flex-grow: 1;
    border-bottom: 1px solid #cccccc;
    cursor: pointer;
}

.columnBox:first-child {
    border-left: 1px solid #eeeeee;
}

.columnLabel {
    position: absolute;
    top: calc(100% + .25em);
    width: 100%;
    text-align: center;
}

.columnBar {
    position: relative;
    width: 98%;
    max-width: 900px;
    background: rgba(153,209,237,0.75);
    border-radius: .25em .25em 0 0;
}

.columnValue {
    opacity: 0;
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translate(-50%,0);
    padding: .25em .5em 0 .5em;
    background: inherit;
    color: #ffffff;
    border-radius: .5em .5em 0 0;
}

.columnBox:hover .columnBar {
    background-color: rgba(29,154,214,0.75);
    transition: background-color .5s;
}

.columnBox:hover .columnValue {
    opacity: 1;
    transition: opacity .5s;
}

/*030_form.css*/
form {
    padding: 1rem;
    max-width: 100%;
    background: #eeeeee;
    border: 1px solid #efefef;
    border-radius: 0.5rem;
    margin-bottom: 1rem;
}

form hr {
    background: #ffffff;
}

#loginHeader {
    background: #ffffff;
    padding: 3rem 2rem 2rem 2rem;
    border-width: 1px;
    border-style: solid;
    border-color: #cccccc;
    border-radius: 0.5rem 0.5rem 0 0 !important;
}

#loginHeader img {
    height: 5rem;
    margin-bottom: 1rem;
}

#loginHeader *:last-child {
    margin-bottom: 0;
}

.loginForm {
    margin-bottom: 0;
    border-bottom: 1px solid #cccccc;
}

.loginForm *:last-child {
    margin-bottom: 0;
}

.loginForm label {
    width: 6rem;
    text-align: right;
}

.loginForm input {
    width: 18rem;
}

.loginForm input:disabled {
    padding-left: 0;
    border: none;
    color: #555555;
}

.loginForm .formRow {
    display: inline-block;
    width: 30rem;
    text-align: left;
}

.stackForm label {
    width: 6rem;
}

.stackForm :is(input,select,textarea) {
    width: 40rem;
}

.stackForm textarea {
    height: 5rem;
}

.halfWidth, .stackForm .halfWidth {
    width: 20rem;
}

.thirdWidth, .stackForm .thirdWidth {
    width: 13.3rem;
}

.quarterWidth, .stackForm .quarterWidth {
    width: 10rem;
}

.stackForm .formRow {
    letter-spacing: -1rem;
}

.stackForm .formRow * {
    letter-spacing: initial;
}

input, select, textarea, button, label, .divButton {
    -moz-appearance: none;
    -webkit-appearance: none;
    -ms-appearance: none;
    appearance: none;
    display: inline-block;
    padding: .25rem .5rem;
    min-height: 2rem;
    max-width: 100%;
    margin: 0;
    background: #ffffff;
    border: 1px solid #cccccc;
    vertical-align: top;
    font-size: 1rem;
    resize: vertical;
    border-radius: 0.25rem;
}

:is(input,select,textarea,button,label,.divButton).small {
    padding: .125rem .25rem;
    min-height: 1.5rem;
    max-width: 100%;
    font-size: .75rem;
}

input :is([type=text],[type=email],[type=number]):disabled {
    background: #eeeeee;
    color: #999999;
}

button > * {
    color: #ffffff;
}

label {
    border-color: rgba(0,0,0,0);
    background: none;
}

:is(input,select,textarea,button):focus {
    outline: none;
    box-shadow: 0 0 0 .125rem #99d1ed;
}

input:is([type=radio],[type=checkbox]) {
    position: relative;
    top: .4rem; /* Adjust to make box-shadow align */
    width: 1rem;
    height: 1rem;
    min-height: 1rem;
    padding: .25rem;
    border: 2px solid #ffffff;
    box-shadow: 0 0 0 1px #cccccc;
    border-radius: 100%;
}

input[type=number] {
    text-align: right;
}

.chkbxLabel, .inputinlinetext {
    display: inline-block;
    padding: .375rem;
    white-space: nowrap;
}

.chkbxPair {
    display: inline-block;
    margin-left: 1rem;
}

.chkbxPair .chkbxLabel {
    font-size: .75em;
}

.saverow {
    position: relative;
    padding: 0;
}

.saverow.saveOK:after {
    content: "SAVED";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translate(0,-50%);
    font-size: .75em;
    padding: .25rem .5rem;
    color: #ffffff;
    background: #4c9a37;
    border-radius: .25rem;
}

.saverow.saveNO:after {
    content: "ERROR";
    position: absolute;
    right: 0;
    font-size: .75em;
    padding: .25rem .5rem;
    color: #ffffff;
    background: #ff0000;
    border-radius: .25rem;
}

.saverow>input[type=radio],.saverow>input[type=checkbox] {
    top: 0; /* remove Adjustment for inline elements */
}

.saverow>input[type=text],.saverow>input[type=submit],
.saverow>button,
.saverow>select,
.saverow .selectCustomParent {
    margin-top: calc(-.25rem - 1px); /* remove Adjustment for inline elements */
}

td .saverow>input[type=text],td .saverow>input[type=email],td .saverow>input[type=submit],
td .saverow>button,
td .saverow>select,
td .saverow .selectCustomParent {
    margin-top: 0; /* remove Adjustment for inline elements */
}

td .saverow>input[type=text],
td .saverow>input[type=email],
td .saverow>select,
td .saverow .selectCustomParent {
    width: 100%;
}

input[type=radio]:focus,input[type=checkbox]:focus {
    box-shadow:  0 0 0 1px #cccccc, 0 0 0 .125rem #99d1ed;
}

input[type=radio]:checked {
    background: #1d9ad6;
}

input[type=checkbox] {
    border-radius: 0;
    cursor: pointer;
}

input[type=checkbox]:checked {
    background: #1d9ad6;
}

input[type=submit], button, .divButton {
    background: #1d9ad6;
    color: #ffffff;
    border-color: #99d1ed;
    cursor: pointer;
}

.divButton {
    padding-top: calc(.25rem + 2px);
}

input[type=submit]:disabled, button[disabled] {
    background: #eeeeee !important;
    color: #cccccc !important;
    border-color: #cccccc !important;
    cursor: not-allowed !important;
}

input[type=submit].big,button.big {
    font-size: 1.25rem;
    padding: .5em 1em;
}

select {
    padding-right: 2rem;
    background: #ffffff url("https://broadcastsms.ca/img/downarrow.svg") calc(100% - .5rem) 50% no-repeat;
    background-size: .5em;
}

option {
    padding: .25rem .5rem;
}

::placeholder {
    color: #cccccc;
}

#backBtn, #nextBtn {
    margin-top: 1em;
}

#backBtn::before {
    content: '\0025c0';
    margin-right: 1em;
    color: #99d1ed;
}

#nextBtn::after {
    content: '\0025b6';
    margin-left: 1em;
    color: #99d1ed;
}

.JSbutton {
    position: relative;
    top: .1875rem;
    display: inline-block;
    padding: .125rem .375rem;
    margin: 0;
    color: #ffffff;
    background: #4c9a37;
    border: 1px solid #d2e5cd;
    vertical-align: top;
    font-size: .875rem;
    resize: vertical;
    border-radius: 0.25rem;
    cursor: pointer;
}

table .JSbutton {
    position: static;
}

#jsForms {
    flex-grow: 5;
    position: relative;
    margin-left: 3rem;
}

#jsForms .jsFormItem {
    visibility: hidden;
    position: absolute;
    top: 0;
    width: 100%;
}

form.jsFormItem {
    padding: 0;
    background: none;
    border: none;
}

form.jsFormItem input[type=checkbox] {
    top: 0;
    margin: 0 .25rem 0 .5rem;
}

form.jsFormItem input[type=text],form.jsFormItem select,button) {
    margin: -.5rem .25rem 0 .5rem;
}

form.jsFormItem label {
    width: 9rem;
}

form.jsFormItem input[type=password]:disabled {
    background: #eeeeee;
    cursor: not-allowed;
}

form.jsFormItem :is(.notOK,.isOK) {
    list-style-type: none;
}

form.jsFormItem .isOK:before {
    content: '\002714';
    color: #ffffff;
    background: #4c9a37;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 1em;
    height: 1em;
    line-height: 1em;
    margin: 0 0 0 -1.5em;
    position: absolute;
    border-radius: 100%;
}

.inputTailButton {
    display: inline-block;
    padding: .375rem .5rem;
    color: #ffffff;
    font-size: .75rem;
    background: #999999;
    border-radius: 0 0.25rem 0.25rem 0;
    border: 1px solid #999999;
    cursor: pointer;
}

.inlineFormBlock {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
}

.inlineFormElement {
    margin-right: .25rem;
}

.selectCustomParent {
    display: inline-block;
    position: relative;
}

.selectCustomParent input:disabled {
    background: #ffffff;
    color: #555555;
}

ul.selectCustom {
    position: absolute;
    top: 0;
    visibility: hidden;
    list-style-type: none;
    max-height: 20rem;
    overflow-y: scroll;
    border: 1px solid #eeeeee;
    padding: .5rem;
    background: #ffffff;
}

.selectCustomParent:hover ul.selectCustom {
    visibility: visible;
}

li.selectCustomItem {
    cursor: pointer;
    padding: 0 .25rem;
}

li.selectCustomItem:hover {
    background: #99d1ed;
}

li.selectCustomItem ul {
    list-style-type: none;
    padding: 0 .5rem .5rem .5rem;
    margin: 0;
}

li.selectCustomSubItem {
    font-size: .8em;
}

.tabForm {
}

.tabSet {
    display: flex;
}

.tabSet .tabOpen,.tabSet .tabClosed,.tabSet .tabBlank,.tabSet .subTabOpen,.tabSet .subTabClosed,.tabSet .subSubTabOpen,.tabSet .subSubTabClosed) {
    display: inline-block;
    float: none;
    position: relative;
}

.tabOpen, .tabClosed, .tabBlank, .subTabOpen, .subTabClosed, .subSubTabOpen, .subSubTabClosed {
    padding: .5rem 1rem;
    white-space: nowrap;
    overflow: hidden;
    cursor: pointer;
    border: 1px solid #eeeeee;
    border-radius: .5rem .5rem 0 0;
}

.tabOpen, .subTabOpen, .subSubTabOpen {
    z-index: 2;
    color: #555555;
    background: #ffffff;
    border-color: #cccccc;
    border-bottom: 1px solid #ffffff;
    margin-bottom: -1px !important;
    min-width: 16rem;
}

.tabClosed, .subTabClosed, .subSubTabClosed {
    background: #eeeeee;
    border: 1px solid #ffffff;
    border-bottom: none;
    max-width: 20ch;
}

.tabBlank {
    padding: 0;
    border: none;
    background: none;
    overflow: visible;
    cursor: default;
}

.tabBlank .tabName {
    position: absolute;
    font-size: .75em;
    bottom: calc(100% + .25rem);
}

.tabClosed::after,.subTabClosed::after,.subSubTabClosed::after {
/*    content: linear-gradient(to right,rgba(239,239,239,0),rgba(239,239,239,1)); */
    width: 2rem;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
}

.tabClosed:hover {
    min-width: 16rem;
    max-width: none;
}

.tabClosed:hover .tabName,.subTabClosed:hover .tabName,.subSubTabClosed:hover .tabName {
    color: #555555;
}

.tabClosed[disabled],.subTabClosed[disabled],.subSubTabClosed[disabled] {
    background: #eeeeee;
    cursor: not-allowed;
}

.tabClosed[disabled]:hover,.subTabClosed[disabled]:hover,.subSubTabClosed[disabled]:hover {
    min-width: auto;
}

.tabLocked {
    display: none;
}

.tabName {
    margin: 0;
}

.stepNo {
    display: inline-block;
    position: relative;
    z-index: 9;
    background: #1d9ad6;
    color: #ffffff;
    text-align: center;
    width: 1.3rem;
    height: 1.3rem;
    line-height: 1rem;
    font-size: 1rem;
    font-weight: 700;
    border-radius: 100%;
    border: .125rem solid #99d1ed;
    margin: -.125rem -.125rem -.125rem .25rem;
}

.tabClosed .tabName,.subTabClosed .tabName,.subSubTabClosed .tabName,
.tabClosed .tabName b,.subTabClosed .tabName b,.subSubTabClosed .tabName b {
    color: #999999;
}

.tabClosed .stepNo {
    background: #1d9ad6;
    color: #ffffff;
    border: .125rem solid #99d1ed;
}

.tabClosed[disabled] .tabName,.subTabClosed[disabled] .tabName,.subSubTabClosed[disabled] .tabName {
    color: #ffffff;
}

.tabOpen .stepNo[title="ok"],.tabClosed .stepNo[title="ok"] {
    background: #4c9a37;
    color: #ffffff;
    border: .125rem solid #d2e5cd;
}

.tabClosed[disabled] .stepNo {
    background: #cccccc;
    color: #ffffff;
    border: .125rem solid #eeeeee;
}

.tabPageOpen, .tabPageClosed {
    padding: 2rem;
    background: ?05?;
    border: 1px solid #cccccc;
    border-radius: 0 0 .5rem .5rem;
}

.tabPageClosed {
    display: none;
}

.subTabPageOpen, .subTabPageClosed {
    padding: 2rem 0 0 0;
    border-top: 1px solid #cccccc;
}

.subTabPageClosed {
    display: none;
}

.subTabPageOpen {
}

#listDropMenu, .listDropMenu {
    display: inline-block;
    padding: .5rem 1rem;
    margin-bottom: .5rem;
    border: 1px solid #eeeeee;
    border-radius: 0.25rem;
    cursor: pointer;
}

.arrowDown {
    position: relative;
    top: -.125rem;
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 1rem;
    border-left: .375rem solid transparent;
    border-right: .375rem solid transparent;
    border-top: .375rem solid #555555;
}

.listDropMenuOpen #listDropMenuChosen {
    display: none;
}

.listDropMenuClosed .listDropMenuItem {
    display: none;
}

.listDropMenuOpen .listDropMenuItem {
    padding: .25rem .5rem;
    border-radius: 0.25rem;
}

.listDropMenuOpen .listDropMenuItem:hover {
    background: #fff2bf;
}

.subSubTabPageOpen, .subSubTabPageClosed {
    padding: 1rem 0 0 0;
    border-top: 1px solid #cccccc;
}

.subSubTabPageClosed {
    display: none;
}

.subSubTabPageOpen {
}

.listGroupFrame {
    width: calc(100% / 4);
    height: 2rem;
}

.listGroupBox {
    background: #eeeeee;
    padding: .25rem .5rem;
    margin: .25rem;
    border-radius: 0.125rem;
    width: calc(100% - .5rem);
    max-height: 25rem;
    overflow-y: scroll;
}

.listChkBoxes {
    columns: 3;
    margin-top: .25em;
    padding-top: .5em;
    border-top: 1px solid #ddd;
}

.chkBxRow {
    white-space: nowrap;
}

.chkBxSubHead {
    margin: .25em 0;
    font-size: .75em;
    font-weight: bold;
    color: #1d9ad6;
    border-bottom: 1px solid #eee;
    white-space: nowrap;
}

.listGroupBox .chkBxRow label {
    font-size: .75em;
    padding: 0;
    min-height: inherit;
}

.listGroupBox .chkBxRow input[type=checkbox] {
    top: .05em;
    font-size: .75em;
}

.summaryBlock {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr auto auto;
    grid-row-gap: 1rem;
    padding: 0 0 0 2rem;
    font-size: .8em;
}

.summaryDevice {
    text-align: center;
}

.summaryText {
    padding: 0 0 0 1rem;
}

.summaryBlock button {
    grid-column: 1 / span 2;
}

.summaryValue {
    color: #1d9ad6;
}

.textSummary {
    align-self: stretch;
    padding: 0 0 0 2rem;
}


#selectedImg {
    width: 100%;
    height: 100%;
    background-size: contain;
    background-position: 50% 50%;
    background-repeat: no-repeat;
}

.moreInfoFrame {
    position: relative;
}

#moreInfoButton, #lessInfoButton {
    position: absolute;
    bottom: 100%;
    right: 0;
    padding-top: .125em;
    cursor: pointer;
}

.moreInfoClosed {
    height: 0;
    visibility: hidden;
}

.moreInfoOpen {
    height: auto;
    visibility: visible;
}

.asLink {
    display: inline;
    text-decoration: underline;
    background: none;
    color: #1d9ad6;
    border: none;
}

.buttonDropMenuButton {
    position: relative;
}

button .buttonDropMenu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 100%;
    max-height: 8rem;
    overflow-y: scroll;
    padding: .5rem;
    background: #eeeeee;
    color: #555555;
    border-radius: 0 0 0.25rem 0.25rem;
}

button:hover .buttonDropMenu {
    display: initial;
}

button .buttonDropMenu > div {
    padding: .25rem .125rem;
    
}

button .buttonDropMenu > div:hover {
    background: #ffffff;
}

#searchSubForm {
    display: flex;
}

.searchInputBlock {
    max-width: 20%;
}

.searchInputBlock input,.searchInputBlock select,.searchInputBlock label {
    display: block;
}

#AReditSuite {
    height: 100%;
    max-width: 1366px;
    margin: 4rem;
    padding: 2rem;
    background: #ffffff;
    border-radius: 0.25rem;
    overflow-y: scroll;
}

.oneButtonForm {
    padding: 0;
    border: none;
    background: none;
}

/* ### Below for Subscriber/List selector tab ### */

.selectorbox {
    position: absolute;
    z-index: 2;
    width: 60ch;
    max-height: 50rem;
    border: 1px solid #ccc;
    border-bottom: 1px solid #fff;
    margin-bottom: -1px;
    border-radius: .5em .5em 0 0;
    overflow-y: scroll;
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;
}

.selectorbox::-webkit-scrollbar {
    display: none;
}

.selectorbox::after {
    content: "\0025bc";
    position: absolute;
    top: .5em;
    right: .5em;
    font-size: .75rem;
    font-stretch: expanded;
}

.selectorbox .selector,.selectorbox .defaultselectortext {
    padding: .25em .5em;
    background: #fff;
    cursor: default;
}

.selector.closed {
    display: none;
}

.selector.open {
    position: absolute;
    top: 0;
    left: 0;
}

.selectorbox:hover .selector.closed {
    display: block;
    background: #eee;
    cursor: pointer;
}

.selectorbox:hover .selector.closed:hover {
    background: #ccc;
}

.subpage {
    position: relative;
    top: 1.75rem;
    z-index: 1;
    border-radius: 0 .25rem .25rem .25rem;
}

/*040_feedback.css*/
#fbContainer {
    position: absolute;
    top: -2px;
    left: 50%;
    z-index: 999;
    transform: translate(-50%,0);
    width: 50vw;
    min-width: 480px;
    border: 1px solid #ffffff;
    border-radius: 0 0 0.5rem 0.5rem;
    background: #555555;
    overflow: hidden;
}

.fbBox {
    position: relative;
    padding: 2rem 1rem 1rem 1rem;
}

#fbinfo, #fbinfo .message {
    background: #1d9ad6;
    color: #ffffff;
}


#fbok, #fbok .message, #fbok .message b {
    background: #4c9a37;
    color: #ffffff;
}


#fbwarn, #fbwarn .message, #fbwarn .message b {
    background: #ffcc00;
    color: #000000;
}

#fberr, #fberr .message, #fberr .message b {
    background: #ff0000;
    color: #ffffff;
}

:is(#fbok,#fberr) a {
    color: #ffffff;
    text-decoration: underline;
}

#fbwarn a {
    color: #000000;
    text-decoration: underline;
}

#logoutWarning {
    position: fixed;
    z-index: 999;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: rgba(0,0,0,.8);
    padding: 2rem;
}

#logoutWarning #warnForm {
    max-width: 30rem;
    padding: 2rem;
    background: #ffffff;
    text-align: center;
    border: 1px solid #000000;
    border-radius: 0.5rem;
}

#fbContainer form {
    display: inline-block;
    padding: 0;
    border: none;
}
/*050_page.css*/
#overscreen,#overscreenII {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 998;
    width: 100vw;
    height: 100vh;
    background: #1d9ad6 url(https://broadcastsms.ca/img/paisleyBG.svg) 50% 50% repeat;
    background: url(https://broadcastsms.ca/img/paisleyBG.svg) 50% 50% repeat, radial-gradient(circle, rgba(153,209,237,1) 0%, rgba(29,154,214,1) 80%);
    background-size: 30rem, 100%;
    overflow-y: scroll;
}

#overscreen > *:not(iframe):not(.closeButton),#overscreenII > *:not(iframe):not(.closeButton) {
    width: 500px;
    max-width: 100%;
    text-align: center;
    border-top: none;
    border-radius: 0;
}

#overscreen > *:not(iframe):not(.closeButton):first-child,#overscreenII > *:not(iframe):not(.closeButton):first-child {
    border-radius: 0.5rem 0.5rem 0 0;
}

#overscreen > *:not(iframe):not(.closeButton):last-child,#overscreenII > *:not(iframe):not(.closeButton):last-child {
    border-radius: 0 0 0.5rem 0.5rem;
}

#overscreen > iframe {
    width: calc(100% - 12rem);
    height: calc(100% - 12rem);
    min-width: 500px;
    min-height: 500px;
    max-width: 1200px;
    border-radius: 0.5rem;
    background: #ffffff;
}

#inpage_overscreen {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 999;
    width: 100vw;
    height: 100vh;
    overflow-y: scroll;
    background: #1d9ad6 url(https://broadcastsms.ca/img/paisleyBG.svg) 50% 50% repeat;
    background: url(https://broadcastsms.ca/img/paisleyBG.svg) 50% 50% repeat, radial-gradient(circle, rgba(153,209,237,1) 0%, rgba(29,154,214,1) 80%);
    background-size: 30rem, 100%;
}

#page {
}

#pageBox {
    display: flex;
}

#pageContent {
    display:flex;
    flex-direction: column;
    height: calc(100vh - 10rem);
    width: calc(100% + 20px);
    padding: 2rem;
    overflow-y: scroll;
}

#pageContent::-webkit-scrollbar {
    display: none;
}

.ifPage #page {
    padding: 1rem;
    height: 100%;
}

.headline {
    font-size: 1.5rem;
    color: #1d9ad6;
    padding-bottom: .25rem;
    margin-bottom: 1rem;
}

.subhead {
    font-size: 1.125rem;
    color: #000000;
    padding-bottom: .25rem;
    margin-bottom: 1rem;
}

.leadblock {
    padding-bottom: 1rem;
    margin-bottom: 1rem;
}

.leadtext {
    padding-right: 10rem;
    margin-bottom: 1rem;
}

iframe {
    display: block;
    width: 100%;
    border: 1px solid #cccccc;
    border-radius: 0.25rem;
}

.colsX2 {
    column-count: 2;
    column-gap: 1rem;
}

.colsX3 {
    column-count: 3;
    column-gap: 1rem;
}

.colsX4 {
    column-count: 4;
    column-gap: 1rem;
}

.colsX5 {
    column-count: 5;
    column-gap: 1rem;
}

.colsX6 {
    column-count: 6;
    column-gap: 1rem;
}

.colsX7 {
    column-count: 7;
    column-gap: 1rem;
}

.colsX8 {
    column-count: 8;
    column-gap: 1rem;
}

/*051_dashboard.css*/
.dashboard {
    padding-right: 1rem;
}

.dashboard table {
    background: #ffffff;
}

.dashboard table th {
    background: rgba(29,154,214,.7);
}

.dashboard table td {
    background: rgba(255,255,255,.2);
}
/*052_imageLibrary.css*/
.libraryBox {
    display: flex;
    flex-wrap: wrap;
    padding: 1rem;
    background-image:
      linear-gradient(45deg, #eeeeee 25%, transparent 25%),
      linear-gradient(45deg, transparent 75%, #eeeeee 75%),
      linear-gradient(45deg, transparent 75%, #eeeeee 75%),
      linear-gradient(45deg, #eeeeee 25%, #ffffff 25%);    
    background-size: 2rem 2rem;       
    background-position:0 0, 0 0, -1rem -1rem, 1rem 1rem;
}

.imgBox {
    position: relative;
    width: 12.5%;
    padding-top: 12.5%;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    cursor: pointer;
    margin: .25rem;
    border: 1vh solid transparent;
}

.imgBox:hover:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(255,204,0,.2);
    outline: 1rem solid rgba(255,204,0,.2);
}

.imgBox.selected:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(29,154,214,.2);
    outline: 1rem solid rgba(29,154,214,.2);
}

.imgTitle {
    position: absolute;
    bottom: 0;
    width: 100%;
    text-align: center;
    padding: .25rem .5rem;
    font-size: .8em;
    color: #ffffff;
    background: rgba(0,0,0,.7);
    border-radius: 0.125rem;
}

#selImgSummary {
    display: flex;
    align-items: center;
}

#selectedImg {
    width: 30%;
    padding-top: 30%;
    border: 1rem solid #ffffff;
    outline: 1px solid #eeeeee;
    border-radius: 0.125rem;
}

#imgData {
    margin-left: 1rem;
}

#imgData p {
    margin: 0;
}

.delImgBtn {
    position: absolute;
    top: -2%;
    right: -2%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
    width: 1rem;
    height: 1rem;
    background: #ff0000;
    border: .25rem solid #ff0000;
    border-radius: 100%;
}

.delImgBtn::before {
    position: absolute;
    content: "\0000d7";
    color: #ffffff;
}
/*053_twoway.css*/
.dividedLeadBlock {
    display: flex;
    justify-content: space-between;
}

.dividedLeadBlock::first-child {
    flex-grow: 1;
}

.dividedLeadBlock::last-child {
    flex-grow: 0;
    margin-left: auto;
}

.ppRespondio {
    display: flex;
    align-items: flex-end;
    margin-right: 6rem;
}

.twowayportal {
    display: flex;
    align-items: stretch;
    gap: 1rem;
    height: calc(100vh - 21rem);
}

#inTable {
    flex-grow: 1;
//    font-size: .85rem;
    overflow-Y: scroll;
}

#inTable .unread {
    background: #ddeeff;
}

#inTable .reading {
    background: #fff2bf;
}

#chatWindow {
    width: 33%;
    min-width: 20rem;
    padding: 1.5rem;
    background: #eeeeee;
    border-radius: .5rem;
}

.chatBox {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    height: 100%;
}

.convo {
    flex-grow: 1;
    padding: 1rem;
    background: #ffffff;
    border: 1px solid #cccccc;
    border-radius: .25rem;
    overflow-Y: scroll;
    margin-right: -.75rem;
}

#talkBubbles {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.talkBubble {
    position: relative;
    max-width: calc(100% - 4rem);
    padding: .5rem;
    border-radius: .5rem;
}

:is(.sub,.user):before {
    content: attr(data-name)" "attr(data-dtime);
    position: absolute;
    left: 0;
    bottom: calc(100% + .1em);
    white-space: nowrap;
    font-size: .7em;
    color: #cccccc;
}

.sub {
    align-self: flex-start;
    background: #99d1ed;
    border-top-left-radius: 0;
}

.user {
    align-self: flex-start;
    background: #eeeeee;
    border-top-left-radius: 0;
}

.me {
    align-self: flex-end;
    background: #555555;
    border-top-right-radius: 0;
    color: #ffffff;
}

.me:before {
    content: attr(data-name)" "attr(data-dtime);
    position: absolute;
    right: 0;
    bottom: calc(100% + .1em);
    white-space: nowrap;
    font-size: .7em;
    color: #cccccc;
}

:is(.typeBK,.typeSR,.typeAR) {
    align-self: center;
    border-radius: .5rem;
}

:is(.typeBK,.typeSR,.typeAR):before {
    text-align: center;
    width: 100%;
}

:is(.typeBK,.typeAR) {
    background: #eeeeee;
    color: #555555;
}

.typeSR {
    background: #eeeeee;
    color: #cccccc;
//    font-size: .75em;
}

:is(.typeJO,.typeAJ) {
    background: #d2e5cd;
    color: #555555;
//    font-size: .75em;
}

.typeST {
    background: #ffbfbf;
    color: #555555;
//    font-size: .75em;
}

.send {
    flex-grow: 0;
    display: flex;
    gap: 1rem;
    background: none;
    border: none;
    padding: 0;
}

.send input {
    width: 100%;
}

.send button {
    flex-grow: 0;
}

/*060_text.css*/
h1,h2,h3,h4,p {
    margin-bottom: 1em;
}

a {
    color: #1d9ad6;
}

.smtxt {
    font-size: .85rem;
}

.txtRight {
    text-align: right;
}

.txtCenter {
    text-align: center;
}

dl {
    font-size: 1rem;
}

dt {
    padding: .25rem 0;
    font-weight: 700;
    border: 1px solid #eeeeee;
    border-width: 1px 0 1px 0;
    margin-top: .5rem;
}

dt:first-child {
    margin: 0;
}

dd {
    padding: .25rem;
}
/*070_list.css*/
ul, ol {
    padding-left: 1rem;
    margin-bottom: 1em;
}
/*080_misc.css*/
.c00 {
    background: #000000 !important;
    border-color: #555555 !important;
    color: #eeeeee !important;
}

.c03 {
    background: #cccccc !important;
    border-color: #eeeeee !important;
    color: #555555 !important;
    cursor: not-allowed !important;
}

.c05 {
    background: #ffffff !important;
    color: #555555 !important;
}

.c10 {
    background: #1d9ad6 !important;
    border-color: #99d1ed !important;
}

.c12 {
    background: #ddeeff !important;
    border-color: #99d1ed !important;
}

.c20 {
    background: #4c9a37 !important;
    border-color: #d2e5cd !important;
}

.c21 {
    background: #ffcc00 !important;
    border-color: #fff2bf !important;
    color: #000000;
}

.c22 {
    background: #ff0000 !important;
    border-color: #ffbfbf !important;
}

.c201 {
    background: #d2e5cd !important;
    border-color: #d2e5cd !important;
}

.c211 {
    background: #fff2bf !important;
    border-color: #fff2bf !important;
}

.c221 {
    background: #ffbfbf !important;
    border-color: #ffbfbf !important;
}

.c00t {
    color: #000000 !important;
}

.c03t {
    color: #cccccc !important;
}

.c04t {
    color: #eeeeee !important;
}

.c05t {
    color: #ffffff !important;
}

.c10t {
    color: #1d9ad6 !important;
}

.c20t {
    color: #4c9a37 !important;
}

.c21t {
    color: #ffcc00 !important;
}

.c22t {
    color: #ff0000 !important;
}

.colx2 {
    columns: 2;
}

.warnIcon {
    display: inline-block;
    position: relative;
    top: .1em;
    width: .9em;
    height: .9em;
    background: #ff0000;
    border-radius: 100%;
    text-align: center;
}

.warnIcon:before {
    content: "!";
    position: relative;
    top: -.1em;
    color: #ffffff;
    font-size: .9em;
}

.centerBox {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
}

.vrule {
    border-left: 1px solid #cccccc;
}

.click {
    cursor: pointer;
}

.flex {
    display: flex;
    flex-wrap: wrap;
}

.hzOnly {
    white-space: nowrap;
    overflow: none;
    overflow-x: scroll;
}

.hidden {
    display: none !important;
}

.closeButton {
    position: absolute;
    top: 1em;
    right: 1em;
    z-index: 999;
    width: 2em;
    height: 2em;
    background: #ff0000 url(https://broadcastsms.ca/img/X05.svg) 50% 50% no-repeat;
    background-size: 1em;
    border-radius: 100%;
    cursor: pointer;
}

.minusButton {
    position: absolute;
    top: .5em;
    right: .5em;
    width: 1em;
    height: 1em;
    background: #ff0000;
    border-radius: 100%;
    cursor: pointer;
}

.minusButton::before {
    position: absolute;
    top: .275em;
    content: "-";
    width: 100%;
    text-align: center;
    color: #ffffff;
    font-size: 1.5em;
    line-height: 0;
}

.framedBox {
    padding: 1rem;
    border: 1px solid #eeeeee;
    border-radius: 0.25rem;
}

.bluebox {
    padding: 1rem;
    background: #99d1ed;
    border-radius: 0.25rem;
}

.greybox {
    padding: 1rem;
    background: #eeeeee;
    border-radius: 0.25rem;
}

.pleasenote {
    padding: 1rem;
    background: #fff2bf;
    border-radius: 0.25rem;
}

.bluebox > *:last-child, .greybox > *:last-child, .pleasenote > *:last-child {
    margin-bottom: 0;
}

.redbox {
    padding: 1rem;
    background: #ffbfbf;
    border-radius: 0.25rem;
}

.importantInfo {
    position: relative;
    padding-left: 4em;
    background: url(https://broadcastsms.ca/img/stop.svg) 0em .25em no-repeat;
    background-size: 3em 3em;
}

.padBox {
    padding: 1rem;
}

.quickLinks {
    padding: 1rem;
    border: 1px solid #cccccc;
    border-radius: 0.25rem;
}

.quickLink {
    display: block;
    padding: .5rem;
}

.small {
    font-size: .8rem;
}
/*090_header.css*/
#headBanner {
    position: fixed;
    top: 0;
    z-index: 998;
    width: 100vw;
    background: #ffffff;
    border-bottom: 1px solid #cccccc;
}

#headBanner #statusBar {
    display: flex;
    justify-content: flex-end;
    padding: .5rem 2rem .375rem 2rem;
    background: #1d9ad6;
    color: #ffffff;
}

#statusBar > * {
    color: #ffffff;
}

#statusBar img {
    width: 1em;
    height: 1em;
}

#statusBar .vrule {
    border-color: #99d1ed;
    margin: 0 1em;
}

#statusBar .menuSpace {
    margin: 0 1em;
}

#headBanner #headContent {
    display: flex;
    justify-content: space-between;
    height: 5rem;
    padding: 1rem 2rem;
}

#headContent #logo {
    display: inline-block;
}

#headContent #logo img {
    height: 3rem;
}

#headContent #headMenu {
    display: flex;
    justify-content: flex-end;
}

#headMenu #headMenuItems {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#headMenuItems .headMenuItem, #headMenuItems .headMenuItemSysAdmin {
    display: block;
    padding: .5rem 1rem;
    text-decoration: none;
    font-weight: 600;
}

#headMenuItems .headMenuItem.here, #headMenuItems .headMenuItemSysAdmin.here {
    background: #1d9ad6;
    box-shadow: 0 0 1px 1px #99d1ed;
    border-radius: 0.25rem;
    color: #ffffff;
}

#headMenuItems .headMenuItemSysAdmin {
    color: #ff0000;
}

#headMenuItems .headMenuItemSysAdmin.here {
    background: #ff0000;
    box-shadow: 0 0 1px 1px #ffbfbf;
    color: #ffffff;
}

.dropMenu {
    position: relative;
}

.dropMenu > img {
    display: block;
}

.dropMenu .dropItems {
    display: none;
    position: absolute;
    right: -1em;
    padding: 1em 0;
    background: #ddeeff;
    border-radius: 0.25rem 0 0.25rem 0.25rem;
}

.dropMenu:hover {
    background: #ddeeff;
    border: 1em solid #ddeeff;
    margin: -1em !important;
}

.dropMenu:hover .dropItems {
    display: block;
    box-shadow: 0 1em 1em .5em #ffffff;
}

.dropItems a {
    display: block;
    padding: 1em 2em;
    color: #1d9ad6;
    white-space: nowrap;
}

.dropItems a:hover {
    background: rgba(255,255,255,.7);
}

/*091_footer.css*/
.footer {
    position: fixed;
    bottom: 1rem;
    width: 100%;
    text-align: center;
    font-size: .85rem;
}

.footer a {
    margin: 0 1rem;
}
/*100_menus.css*/
#jsMenu {
    flex-grow: 1;
    border: 1px solid #cccccc;
    padding: .25rem .25rem calc(.25rem + 1px) .25rem;
}

#jsMenu .jsMenuItem {
    display: block;
    width: 100%;
    text-align: left;
    color: #000000;
    background: #eeeeee;
    margin-bottom: -1px;
    border-color: #ffffff;
    border-radius: 0;
}

#jsMenu .jsMenuItemOpen:focus {
    box-shadow: none;
}

#jsMenu .jsMenuItemOpen {
    position: relative;
    display: block;
    width: calc(100% + 1.5rem);
    text-align: left;
    margin-bottom: -1px;
    border-radius: 0 1rem 1rem 0;
    border-color: #eeeeee;
    cursor: auto;
}

#jsMenu .jsMenuItemOpen:after {
    content: "\25b6";
    position: absolute;
    right: .5rem;
    color: #ffffff;
}

#jsMenu .jsMenuItem:hover {
    background: #99d1ed;
}

.menuHeaderBar {
    padding: .25rem;
    margin: 1rem 0 .25rem 0;
}

.menuHeader {
    font-size: 1.25rem;
    font-weight: 400;
    margin-bottom: .25em;
}

.pagination {
    display: flex;
    flex-wrap: wrap;
    max-width: 100%;
}

.pgButton {
    position: relative;
    padding: .25em .5em;
    background: #1d9ad6;
    border-radius: 0.125rem;
    margin: 1px;
    cursor: pointer;
}

#pHere.pgButton {
    background: #000000;
}

.pgNum {
    color: #ffffff;
}

.pgRange {
    display: none;
    position: absolute;
    bottom: calc(100% + .125em);
    left: 50%;
    transform: translate(-50%,0);
    background: #999999;
    color: #ffffff;
    font-size: .75rem;
    padding: .25em .5em;
    border-radius: 0.125rem;
    white-space: nowrap;
    text-transform: capitalize;
    letter-spacing: .125em;
}

.pgButton:hover .pgRange {
    display: block;
}

.paginateTotal {
    position: relative;
    padding: .25em .5em;
    background: #eeeeee;
    border-radius: 0.125rem;
    margin: 1px;
}

#statusBar .badge {
    display: inline-block;
    padding: .375rem 0;
    width: 1.75rem;
    height: 1.75rem;
    margin: -.375rem 0 -2rem .5rem;
    text-align: center;
    color: #000 !important;
    background: #ffcc00;
    border-radius: 100%;
}
/*admin.css*/
.adminToolBox {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.adminTool {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: .5rem 1rem;
    transition: 0.5s;
    background-image: linear-gradient(135deg, rgba(153,209,237,.7) 0%, rgba(221,238,255,.7) 50%, rgba(153,209,237,.7) 70%, rgba(29,154,214,.7) 100%);
    border: .25rem solid #1d9ad6;
    border-radius: 0.5rem;
    cursor: pointer;
}

.adminTool:hover {
    background-position: right center;
    transition: 0.5s;
    background-size: 200% auto;
    background-image: linear-gradient(135deg, rgba(153,209,237,.7) 0%, rgba(255,255,255,.7) 50%, rgba(153,209,237,.7) 70%, rgba(29,154,214,.7) 100%);
    box-shadow: inset 0 0 2rem #1d9ad6;
    border-radius: 1rem;
}

.popMark {
    position: absolute;
    transition: 0.25s;
    top: .25rem;
    left: .25rem;
    border: .5rem solid transparent;
    border-top: .5rem solid #ffffff;
    border-left: .5rem solid #eeeeee;
    border-radius: 0.125rem;
}

.adminTool:hover .popMark {
    transition: 0.25s;
    top: -.5rem;
    left: -.5rem;
    border-top: .5rem solid #99d1ed;
    border-left: .5rem solid #1d9ad6;
}
/*help.css*/
.hh {
    position: relative;
    display: inline-block;
    top: .125em;
    width: 1.125em;
    height: 1.125em;
    margin-bottom: -.125em;
    background: url(https://broadcastsms.ca/img/help10.svg) 0 .125em no-repeat;
    background-size: 1em;
}

.hh > * {
    visibility: hidden;
}

.hh:hover > * {
    visibility: visible;
}

.hhLiner {
    position: absolute;
    bottom: calc(100% + .9em);
    left: -1em;
    width: 20em;
    z-index: 999;
}

.hhtriangle {
    position: absolute;
    z-index: 1000;
    top: 100%;
    left: 1em;
    width: 0; 
    height: 0; 
    border-left: .5em solid transparent;
    border-right: .5em solid transparent;
    border-top: 1em solid #99d1ed;
}

.hhText {
    padding: 1em;
    background: #99d1ed;
    border-radius: 0.25rem;
    text-align: left;
    font-size: .85rem;
    font-weight: normal;
    box-shadow: 0 0 1em .5em #ffffff;
    white-space: normal;
}

.JSbutton .hh {
    width: 1em;
    height: 1em;
    margin-bottom: -.125em;
    background: url(https://broadcastsms.ca/img/help01.svg) 0 0em no-repeat;
    background-size: 1em;
}

.hw {
    position: relative;
    display: inline-block;
    top: .125em;
    width: 1.125em;
    height: 1.125em;
    margin-bottom: -.125em;
    background: url(https://broadcastsms.ca/img/warn21.svg) 0 .125em no-repeat;
    background-size: 1em;
}

.hw > * {
    visibility: hidden;
}

.hw:hover > * {
    visibility: visible;
}

.hwLiner {
    position: absolute;
    bottom: calc(100% + .9em);
    left: -1em;
    width: 20em;
    z-index: 999;
}

.hwtriangle {
    position: absolute;
    z-index: 1000;
    top: 100%;
    left: 1em;
    width: 0; 
    height: 0; 
    border-left: .5em solid transparent;
    border-right: .5em solid transparent;
    border-top: 1em solid #fff2bf;
}

.hwText {
    padding: 1em;
    background: #fff2bf;
    border-radius: 0.25rem;
    text-align: left;
    font-size: .85rem;
    font-weight: normal;
    box-shadow: 0 0 1em .5em #ffffff;
    white-space: normal;
}


.he {
    position: relative;
    display: inline-block;
    top: .125em;
    width: 1.125em;
    height: 1.125em;
    margin-bottom: -.125em;
    background: url(https://broadcastsms.ca/img/warn22.svg) 0 .125em no-repeat;
    background-size: 1em;
}

.he > * {
    visibility: hidden;
}

.he:hover > * {
    visibility: visible;
}

.heLiner {
    position: absolute;
    bottom: calc(100% + .9em);
    left: -1em;
    width: 20em;
    z-index: 999;
}

.hetriangle {
    position: absolute;
    z-index: 1000;
    top: 100%;
    left: 1em;
    width: 0; 
    height: 0; 
    border-left: .5em solid transparent;
    border-right: .5em solid transparent;
    border-top: 1em solid #ffbfbf;
}

.heText {
    padding: 1em;
    background: #ffbfbf;
    border-radius: 0.25rem;
    text-align: left;
    font-size: .85rem;
    font-weight: normal;
    box-shadow: 0 0 1em .5em #ffffff;
    white-space: normal;
}


.hi {
    position: relative;
    display: inline-block;
    top: .125em;
    width: 1.125em;
    height: 1.125em;
    margin-bottom: -.125em;
    background: #cccccc url(https://broadcastsms.ca/img/idea05.svg) 50% 50% no-repeat;
    background-size: .6em;
    border-radius: 100%;
}

.hi > * {
    visibility: hidden;
}

.hi:hover > * {
    visibility: visible;
}

.hiLiner {
    position: absolute;
    bottom: calc(100% + .9em);
    left: -1em;
    width: 20em;
    z-index: 999;
}

.hitriangle {
    position: absolute;
    z-index: 1000;
    top: 100%;
    left: 1em;
    width: 0; 
    height: 0; 
    border-left: .5em solid transparent;
    border-right: .5em solid transparent;
    border-top: 1em solid #eeeeee;
}

.hiText {
    padding: 1em;
    background: #eeeeee;
    border-radius: 0.25rem;
    text-align: left;
    font-size: .85rem;
    font-weight: normal;
    box-shadow: 0 0 1em .5em #ffffff;
    white-space: normal;
}

/*################################################*/

#pageHelpTip {
    position: relative;
    width: 0;
    padding: 0;
    transition: width .25s;
}

#pageHelpTip img {
    max-width: 100%;
}

#pageHelpTip.drawerOpen {
    width: 50rem;
    max-width: 30%;
    min-width: 20rem;
}

#closeTab {
    display: none;
    position: absolute;
    right: calc(100% + .25rem);
    top: .5rem;
    width: 1.25rem;
    height: 1.25rem;
    background: #ff0000 url(https://broadcastsms.ca/img/X05.svg) 50% 50% no-repeat;
    background-size: auto .625rem;
    border-radius: 100%;
    cursor: pointer;
}

#closeTab.openCloseTab {
    display: block;
}

#pagequickstartTab,#pageHelpTab,#pageTipTab {
    display: block;
    position: absolute;
    right: 100%;
    width: 4rem;
    height: 3rem;
    border-radius: 1.5rem 0 0 1.5rem;
    cursor: pointer;
}

#pagequickstartTab:before, #pageHelpTab:before, #pageTipTab:before {
    display: block;
    margin: 1rem 0 0 1rem;
    font-size: 1rem;
    font-weight: 700;
    color: #ffffff;
}

#pagequickstart,#pageHelp,#pageTip {
    display: none;
    padding: 1rem;
    background: #ffffff;
    height: 100%;
    border: none;
}

#pagequickstart.openDisplay, #pageHelp.openDisplay, #pageTip.openDisplay {
    display: block;
}

/*################################################*/

#pagequickstartTab {
    top: 2.25rem;
    background: #4c9a37;
}

#pagequickstartTab:before {
    content: "Quick Start";
    margin: .5rem 0 0 .75rem;
    line-height: 1rem;
}

#pagequickstart {
    border-left: .25rem solid #4c9a37;
}

/*################################################*/

#pageHelpTab {
    top: 5.375rem;
    background: #1d9ad6;
}

#pageHelpTab:before {
    content: "HELP";
}

#pageHelp {
    border-left: .25rem solid #1d9ad6;
}

/*################################################*/

#pageTipTab {
    top: 8.5rem;
    background: #ffcc00;
}

#pageTipTab:before {
    content: "TIPS";
}

#pageTip {
    border-left: .25rem solid #ffcc00;
}

/*################################################*/


/*video.css*/
.vidgrid {
    display: grid;
    max-width: 50rem;
    grid-template-columns: 16fr 9fr;
    grid-template-rows: 9fr 9fr;
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    border: 1px solid #eeeeee;
    border-radius: 0.25rem;
    padding: 1rem;
    background: #eeeeee;
}

.vidblock {
    background: #ffffff;
    border: .125rem solid #1d9ad6;
    border-radius: 0.25rem;
    max-width: 50rem;
    margin: auto;
}

.vidblock:first-child {
    grid-row: 1 / span 2;
}

.vidblock .greybox {
    margin: 0 .375rem .375rem .375rem !important;
    background: #cccccc;
}

.vidButton {
    background: linear-gradient(20deg, rgba(29,154,214,.7) 0%, rgba(153,209,237,.7) 48%, rgba(29,154,214,.7) 51%, rgba(153,209,237,.7) 100%) #1d9ad6;
    background: #eeeeee;
    width: 100%;
    padding: calc(9/16 * 100%) 0 0 0;
    position: relative;
    border: .375rem solid #ffffff;
}

.vidblock:first-child .vidButton {
    font-size: 300%;
}

.vidButton * {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-2rem);
    color: #999999;
    white-space: nowrap;
}

.vidButton:before {
    display: flex;
    justify-content: center;
    align-items: center;
    content: "";
    background: url(https://broadcastsms.ca/img/play05.svg);
    width: 4em;
    height: 4em;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-2em,-2em);
}

.vidText {
    padding: .5em 1em;
    font-size: .8em;
    overflow: hidden;
}

.vidblock:first-child .vidText {
    font-size: 1rem;
}

.emptyVid {
    width: 100%;
    padding: calc(9/16 * 100%) 0 0 0;
    position: relative;
    background: url(https://broadcastsms.ca/img/static.gif);
}

.emptyVid * {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    padding: .5em 1em;
    background: #ffffff;
    color: #ff0000;
    white-space: nowrap;
    border-radius: 0.5rem;
}

.vidLink {
    width: max-content;
    padding-left: 1.5em;
    margin: 1em 0;
    color: #1d9ad6;
    background: url(https://broadcastsms.ca/img/play10.svg) 0 0 no-repeat;
    background-size: 1em;
    cursor: pointer;
}