
/****************************************************************************************************
    some classes have been prefixed with an underscore as bootstrap causes class overrides
****************************************************************************************************/

html, body {
    height: 100%;
}

body {
    background: #363636;
    font-size: 0;
}

:root {
    --headerHeight: 58px;
    --columnHeaderHeight: 28px;

    --columnEncodersWidth: 360px;
    --minEncodersWidth: 280px;
    --minChatWidth: 280px;

    --prevColour: #258bbb;
    --privateColour: #8e1769;
}

/* cellcast */
@media only screen and (max-width: 1022px) {

    :root {
        --columnEncodersWidth: 100%;
    }

}

@media only screen and (min-width: 1281px) {

    :root {
        --columnEncodersWidth: 500px;
    }

}

icon[name="hush"],
icon[name="lush"],
icon[name="lush2"],
icon[name="domi"],
icon[name="nora"],
icon[name="gemini"],
icon[name="xmachine"]
{
    display: inline-block;
    vertical-align: middle;
    --size: 18px;
    width: var(--size);
    height: var(--size);
    background-image: url('https://iptv.firestormmedia.tv/iframes/firecall-responsive/css/icons/hush.svg?20220810.1300');
    background-size: var(--size) var(--size);
    background-repeat: no-repeat;
    background-position: center;
}

icon[name="lush"],
icon[name="lush2"]
{
    background-image: url('https://iptv.firestormmedia.tv/iframes/firecall-responsive/css/icons/lush2.svg?20220810.1300');
}

icon[name="nora"]
{
    background-image: url('https://iptv.firestormmedia.tv/iframes/firecall-responsive/css/icons/nora.svg?20220810.1300');
}

icon[name="domi"]
{
    background-image: url('https://iptv.firestormmedia.tv/iframes/firecall-responsive/css/icons/domi.svg?20220810.1300');
}

icon[name="xmachine"]
{
    background-image: url('https://iptv.firestormmedia.tv/iframes/firecall-responsive/css/icons/xmachine.svg?20220810.1300');
    --size: 32px;
}

icon[name="gemini"]
{
    background-image: url('https://iptv.firestormmedia.tv/iframes/firecall-responsive/css/icons/gemini.svg?20241003.1600');
}



#main-container,
#admin-container
{
    position: relative;
    left: 240px;
    display: block;
    width: calc(100% - 240px);
    vertical-align: top;
    font-family: 'Segoe UI', 'Arial';
    font-size: small;
}

button {
    font-size: small;
}

body[nav="closed"] #main-container {
    width: calc(100% - 55px);
    left: 55px;
}

.font-zero {
    font-size: 0;
}

.font-reset {
    font-size: small;
}

.clear,
.bootstrap-float-clear
{
    clear: both;
}

.readmore
{
    color: #ffffff80;
    /* rendering of alpha channel isn't consistent on all browsers */
    color: #cfcfcf;
    cursor: pointer;
}

.alert {
    margin: 10px;
}

#admin-container pre
{
    font-family: monospace, monospace;
    font-size: 1em;

    background: none;
    border: 1px solid #252525;
    font-size: 12px;
    font-weight: 400;
    text-align: center;
    line-height: 16px;
    color: #757575;
    padding: 10px;

    text-align: left;
}

.admin-buttons button,
.admin-buttons select
{
    margin: 2px;
    padding: 5px 8px;
}

.admin-buttons hr {
    margin: 4px 0;
    padding: 0;
    border-top: 1px solid #ffffff10;
    border-bottom: 1px solid #00000050;
}

nav .admin-buttons button,
nav .admin-buttons select
{
    margin: 2px;
    padding: 3px 4px;
    font-size: 10px;
}

nav .admin-buttons hr {
    margin: 2px 0;
}

body[nav="open"] #main-container .admin-buttons,
body[nav="closed"] nav .admin-buttons
{
    display: none;
}

a,
a:hover {
    color: #d8d8d8;
}

.left,
.right
{
    display: inline-block;
    width: 50%;
    vertical-align: top;
}

._columns {
    font-size: 0;
}

._column ._column-header-row {
    display: block;
    margin-bottom: 4px;
}

._column ._column-header-row ._column-title {
    display: inline-block;
    width: 100%;
    height: var(--columnHeaderHeight);
    font-size: 18px;
    color: #d8d8d8;
    font-family: 'Segoe UI', 'Arial';
    font-weight: 600;
    text-transform: uppercase;
    vertical-align: top;
}

._column {
    display: inline-block;
    height: calc(100vh - var(--headerHeight));
    vertical-align: top;
    padding: 10px;
    box-sizing: border-box;
}

._column1 {
    display: block;
    width: 100%;
}

._column2 {
    float: left;
    display: inline-block;
    width: calc(100% / 2);
    padding-right: 10px;
}

._column2 + ._column2 {
    padding-right: 0;
    padding-left: 10px;
}

._column2 + ._column2:after {
    clear: both;
    display: block;
    height: 0;
    content: ".";
    visibility: hidden;
}

._columns-flex {
    clear: both;
    display: flex;
    -webkit-flex-flow: row wrap;
}

._columns-flex ._column2 {
    float: none;
    display: flex;
}

._columns-flex ._column2:nth-child(odd) {
    padding-right: 10px;
    padding-left: 0;
}

._columns-flex ._column2:nth-child(even) {
    padding-left: 10px;
    padding-right: 0;
}


._column._column-full {
    width: 100%;
    padding: 20px;
}

._columns,
body[clientID="589"][inStudio="1"] ._columns[hasFTA="0"][hasPAYWALL="1"]
{
    --columnsCount: 3;
    min-height: calc(100vh - var(--headerHeight));
}

._columns ._column:not([content="chat"]) {
    height: 100%;
}

._columns[hasFTA="0"][hasPAYWALL="1"],
._columns[hasFTA="1"][hasPAYWALL="0"]
{
    --columnsCount: 2;
}



._column[content="encoders"] {
    width: var(--columnEncodersWidth);
}

._column[content="chat"]
{
    width: calc((100% - (var(--columnEncodersWidth) + 8px)) / (var(--columnsCount) - 1));
    --minHeight: calc(
        ((var(--columnEncodersWidth) / 16) * 9) /* encoder height */
        + 32px /* encoder box header */
        + 60px /* channel details */
    );
    min-height: var(--minHeight);
}

._columns[hasFTA="1"][hasPAYWALL="1"] ._column[content="chat"]
{
    min-height: calc(2 * var(--minHeight));
}


._column[content="chat"] .chatframe {
    width: 100%;
    height: calc(100% - var(--columnHeaderHeight));
    border: 0;
}

._columns ._column:nth-child(2) {
    background: #00000010;
}

._columns ._column:nth-child(3) {
    background: #00000020;
}

@media only screen and (max-width: 640px)
{

    ._columns ._column,
    ._column
    {
        width: 100%;
        height: auto;
        padding-bottom: 0;
    }

    ._columns-flex {
        display: block;
    }

    ._columns-flex ._column2 {
        display: block;
        width: 100%;
    }

    ._columns-flex ._column2:nth-child(even),
    ._columns-flex ._column2:nth-child(odd)
    {
        padding-right: 0;
        padding-left: 0;
    }

}

/****************************************************************************************************
    rows
****************************************************************************************************/

._column ._row .l4
{
    display: inline-block;
    width: calc(100% / 3);
}

._column ._row .s6
{
    vertical-align: top;
}

@media only screen and (min-width: 801px) and (max-width: 1000px)
{

    ._column ._row .s12
    {
        display: block;
        width: 100%;
    }

    ._column ._row .s6
    {
        width: calc(100% / 2);
    }

}

/****************************************************************************************************
    panels
****************************************************************************************************/

._panel,
._panel-double
{
    display: block;
    width: 50%;
    max-width: 600px;
    height: 100%;
    margin: 40px auto;
    padding: 0;
    border-radius: 5px;
    font-size: 0;
    vertical-align: top;
}


.breadcrumbs + ._panel
{
    margin-top: 20px;
}

._page,
._panel-double
{
    width: 100%;
    max-width: 900px;
}

._page-max
{
    width: calc(100% - 20px);
    width: calc(100% - 32px);
    max-width: none;
}

._panel ._progress {
    display: none;
}

._panel[processing="processing"] ._progress {
    display: none;
    display: block;
    width: 100%;
    position: relative;
    height: 5px;
    margin: 0 0 -5px 0;
    overflow: hidden;
    background: none;
    border-radius: 5px 5px 0 0;
    box-shadow: none;
}

._panel[processing="processing"] ._progress ._progress-bar {
    display: block;
    width: 25%;
    height: 5px;
    background: #449d44;
    border-radius: 5px 0 0 0;
    box-shadow: none;
    animation: progressBar 5s ease-out forwards;
}

@keyframes progressBar {
    0% {
        width: 0;
    }
    100% {
        width: 100%;
    }
}

._panel ._column {
    display: inline-block;
    width: 100%;
    height: 100%;
    min-height: 400px;
    padding: 0;
    background: #00000075;
    border-radius: 5px;
}

._panel-double ._column {
    width: 50%;
    border-radius: 0;
}

._panel-double ._column:nth-child(1) {
    background: #00000090;
}

._panel ._column-header-row {
    position: relative;
    height: auto;
    padding: 12px 3rem;
    background: #00000050;
}

._panel ._column ._column-header-row
{
    border-radius: 5px 5px 0 0;
}

._panel-double ._column ._column-header-row
{
    border-radius: 0;
}

._panel-double ._column:nth-child(1),
._panel-double ._column:nth-child(1) ._column-header-row
{
    border-top-left-radius: 5px;
}

._panel-double ._column:nth-child(1)
{
    border-bottom-left-radius: 5px;
}

._panel-double ._column:nth-child(2),
._panel-double ._column:nth-child(2) ._column-header-row
{
    border-top-right-radius: 5px;
}

._panel-double ._column:nth-child(2)
{
    border-bottom-right-radius: 5px;
}



._panel ._column-header-row ._column-title {
    display: inline-block;
    width: auto;
    color: #ffffff;
    font-size: 18px;
    font-weight: 600;
}

._panel ._column-header-row .material-icons {
    display: inline-block;
    color: #ffffff;
    font-size: 18px;
    position: relative;
    top: 4px;
    left: 10px;
}

._column-footer-row {
    display: block;
    padding: 10px;
    bottom: 0;
    position: absolute;
    width: 100%;
    background: #00000050;
    color: #fff;
}

/****************************************************************************************************
 * BS FOOTER STUFF
****************************************************************************************************/

.bs_privacy_links {
    display: flex;
    width: 100%;
    color: #d8d8d8;

    position: relative;
    justify-content: center;
}

.bs_privacy_links a {
    font-size: 1.4rem;
}

.bs_privacy_links span {
    font-size: 1.4rem;
}

/****************************************************************************************************

****************************************************************************************************/

body .toast-top-right {
    top: calc(var(--headerHeight) + 12px);
    right: 12px;
}

body .toast-info {
    font-size: 14px;
}


/****************************************************************************************************

****************************************************************************************************/

.material-icons[icon="success"]
{
    color: #41a452;
}

.material-icons[icon="error"]
{
    color: #ff2c37;
}

.material-icons[icon="pending"]
{
    color: #FF5722;
}

.material-icons[icon="info"]
{
    color: #2196f3;
}

.material-icons[icon="on"]
{
    color: #DAA520;
    background: linear-gradient(to bottom,
        #DAA520,
        #936a02
    );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.material-icons[icon="off"]
{
    opacity: .25;
}

/****************************************************************************************************

****************************************************************************************************/

._column ._column-text-content
{
    padding: 20px 3rem;
    color: #cccccc;
    font-size: small;
}

._column ._column-text-content button:not([name]),
._column button[name="register"]
{
    display: inline-block;
    width: auto;
    height: 40px;
    margin: 15px 0;
    padding: 0 19px;
    background: linear-gradient(to bottom,
        #449d44,
        #008000
    );
    border: none;
    box-shadow: 0 1px 0 #00000030;
    border-radius: 5px;
    outline: none;
    color: #cccccc;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    text-align: center;
    text-shadow: 0 1px #00000080;
    text-transform: uppercase;
    cursor: pointer;
    line-height: 14px;
    vertical-align: middle;

    line-height: 40px;
    background: linear-gradient(to bottom,
        #337ab7,
        #204d74
    );
}

._column button[name="add"],
._column button[name="delete"],
._column button[name="edit"],
._column button[name="save"],
._column button[name="reset"]
{
    display: inline-block;
    padding: 6px 12px;
    margin-bottom: 0;
    background: #ffffff25;
    border: none;
    border-radius: 5px;
    color: #ffffff;
    font-size: 14px;
    font-weight: normal;
    line-height: 22px;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    cursor: pointer;
    text-transform: uppercase;
}

._column button[name="edit"],
._column button[name="reset"]
{
    min-width: 70px;
    padding: 3px 8px;
    color: #ffffff90;
    font-size: 12px;
    line-height: 18px;
}

._column button[name="add"],
._column button[name="save"]
{
    background: #64b95e;
}

._column button[name="delete"]
{
    background: #d43f3a;
}

._column button[name="delete"][disabled],
._column button[name="save"][disabled]
{
    background: linear-gradient(to bottom,
        #00000080,
        #00000050
    );
    box-shadow: 0 1px 0 #ffffff10;
    color: #cccccc80;
    cursor: not-allowed;
}

._column button[name="add"] .material-icons,
._column button[name="delete"] .material-icons,
._column button[name="edit"] .material-icons,
._column button[name="reset"] .material-icons,
._column button[name="save"] .material-icons
{
    margin-top: -2px;
    margin-right: 4px;
    font-size: 18px;
    line-height: 18px;
    vertical-align: middle;
}

._column button[name="edit"] .material-icons,
._column button[name="reset"] .material-icons
{
    font-size: 16px;
    line-height: 16px;
}

._column button .material-icons + .material-icons[icon="loading"]
{
	animation: spinner 2s linear infinite;
}

._column button:not([disabled]) .material-icons[icon="loading"],
._column button[disabled] .material-icons:not([icon="loading"])
{
	display: none;
}

._column button[name="register"]
{
    margin-left: 10px;
    background: linear-gradient(to bottom,
        #DAA520,
        #936a02
    );
    color: #000000;
    text-shadow: 0 1px #ffffff35;
}

._column[name="benefits"] button[name="register"]
{
    display: block;
    margin: 25px auto 10px;
}

._column ._column-text-content button:not([name])[disabled="disabled"]
{
    box-shadow: none;
    color: rgba(204, 204, 204, 0.145);
    text-shadow: none;
    cursor: not-allowed;
    background: linear-gradient(rgb(34, 34, 34), rgb(51, 51, 51));
}

/****************************************************************************************************
    breadcrumbs
****************************************************************************************************/

.breadcrumbs
{
    margin: 40px 16px 0 16px;
    padding: 0;
    border: none;
    vertical-align: top;
    font-family: 'Segoe UI', 'Arial';
}

.breadcrumbs li {
    display: inline-block;
    background: #00000090;
    width: auto;
    /*
    height: 30px;
    */
    font-size: 0;
    vertical-align: top;
}

.breadcrumbs li a {
    display: inline-block;
    height: 30px;
    line-height: 30px;
    font-size: 14px;
    vertical-align: top;
    padding-left: 25px;
    text-transform: capitalize;
    color: #ffffff90;
}

.breadcrumbs li:first-child
{
    border-radius: 3px 0 0 3px;
}

.breadcrumbs li:last-child
{
    border-radius: 0 3px 3px 0;
}

.breadcrumbs li > a::after,
.breadcrumbs li::after
{
    display: inline-block;
    width: 0;
    height: 0;
    vertical-align: top;
    content: '';
    overflow: hidden;
}

.breadcrumbs li > a::after
{
    position: absolute;
    height: 30px;
    margin-top: -6px;
    margin-left: 15px;
    border-top: 21px solid transparent;
    border-bottom: 21px solid transparent;
    border-left: 21px solid #363636;
}

.breadcrumbs li::after {
    position: relative;
    left: 15px;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
    border-left: 15px solid #00000090;
}

.breadcrumbs li:last-child::after,
.breadcrumbs li:last-child > a::after
{
    display: none;
}

.breadcrumbs li:last-child a
{
    padding-right: 15px;
}

/****************************************************************************************************
    page list
****************************************************************************************************/

.list-container {
    position: relative;
    width: 100%;
    padding: 10px 3rem 20px;
    color: #CFD8DC;
    font-size: small;
}

.list-container ul li
{
    margin-bottom: 10px;
    margin-top: 10px;
    font-size: medium;
}

.list-container .instruction-image
{
    display: block;
    max-width: 500px;
    margin: 20px auto;
    border: 10px solid #00000050;
    border-radius: 5px;
}

.list-container .video-box
{
    display: none;
    width: 100%;
    margin: 10px auto;
    padding: 5px;
    border: 1px solid #ffffff10;
    border-radius: 3px;
}

.list-container .video-box video
{
    width: 100%;
    margin: 0;
    vertical-align: top;
}

.file-link
{
    width: 100%;
    margin: 10px auto;
    padding: 20px;
    border: 1px solid #ffffff10;
    border-radius: 3px;
}

.file-link .file-link-icon
{
    margin-right: 10px;
    vertical-align: top;
    color: #ffffff;
    font-size: 32px;
}

.file-link .file-link-indent
{
    display: inline-block;
    width: calc(100% - (32px + 10px));
}

.file-link .file-link-title
{
    display: inline-block;
    vertical-align: top;
    color: #ffffff;
    font-size: 18px;
    font-weight: 600;
    text-align: left;
}

.file-link .file-link-title:hover
{
    text-decoration: underline;
    cursor: pointer;
}

.file-link .file-link-title-secondary
{
    display: block;
    color: #ffffff50;
    font-size: small;
    vertical-align: top;
}


/****************************************************************************************************
    checkbox toggles
****************************************************************************************************/

.toggle
{
    display: inline-block;
    margin: 5px 0 0 0;
    padding: 0;
    vertical-align: top;
    background: none;
    border: 0;
    outline: 0;
    font-size: 0;
}

.toggle .toggle-switch
{
    display: inline-block;
    width: 60px;
    height: 30px;
    padding: 5px 5px;
    vertical-align: top;
    background: #00000025;

    border-radius: 15px;
    text-align: left;

    box-shadow: 0 1px 0 #ffffff10;

}

.toggle .toggle-switch .toggle-slider
{
    width: 20px;
    height: 20px;
    background: #ffffff;
    border: 0;
    outline: 0;
    border-radius: 50%;
    display: inline-block;
    transition: margin .4s ease;

}

.toggle .toggle-switch .toggle-slider .material-icons
{
    display: none;
}

.toggle[active="1"] .toggle-switch .toggle-slider .material-icons,
header .broadcast-header-button[active="1"] .toggle .toggle-switch .toggle-slider .material-icons
{
    display: inline;
    width: 20px;
    height: 20px;
    position: relative;
    top: 2px;
    left: 2px;
    font-size: 16px;
}


.toggle[active="0"] .toggle-switch .toggle-slider,
header .broadcast-header-button[active="0"] .toggle .toggle-switch .toggle-slider
{
    background: #ffffff50;
    margin-left: 0;
}

.toggle[active="1"] .toggle-switch .toggle-slider,
header .broadcast-header-button[active="1"] .toggle .toggle-switch .toggle-slider
{
    background: #64b95e;
    margin-left: calc(100% - 20px);
}


/****************************************************************************************************
    custom modals
****************************************************************************************************/


#operator-reset-password-modal .modal-content{
    background-color: rgba(33,33,33 ,1);
}

#operator-reset-password-modal .modal-header {
    background-color: rgba(38,50,56 ,1);
    color: #fff;
    border-bottom: 0;
}

#operator-reset-password-modal .modal-header  .close {
    color: #fff;
}

#operator-reset-password-modal .modal-footer {
    border-top: 0;
}

#operator-reset-password-modal .modal-body .control-label {
    color: #fff;
}

#paywallComplete .modal-dialog
{
    width: 400px;
}

/****************************************************************************************************/

body[data-firecast_chat_layout="1"] ._columns
{
    --columnsCount: 2;
}

body[data-firecast_chat_layout="1"] ._column[content="chat"] ._column-header-row
{
	display: none;
}

body[data-firecast_chat_layout="1"] ._column[content="chat"] .chatframe
{
    height: 100%;
}
