:root {
    --cold-gray-50: #F9F9F9;
    --cold-gray-100: #F2F2F2;
    --cold-gray-150: #EBEBEB;
    --cold-gray-200: #DBDBDB;
    --cold-gray-250: #C9C9C9;
    --cold-gray-300: #B8B8B8;
    --cold-gray-350: #A8A8A8;
    --cold-gray-400: #9C9C9C;
    --cold-gray-450: #8C8C8C;
    --cold-gray-500: #808080;
    --cold-gray-550: #707070;
    --cold-gray-600: #636363;
    --cold-gray-700: #4A4A4A;
    --cold-gray-750: #3D3D3D;
    --cold-gray-800: #2E2E2E;
    --cold-gray-850: #1F1F1F;
    --cold-gray-900: #0F0F0F;
    --cold-gray-950: #000000;
    --white: #fff;
    --black: #000;
    --tv-blue-50: #E3EFFD;
    --tv-blue-100: #BBD9FB;
    --tv-blue-200: #90BFF9;
    --tv-blue-300: #5B9CF6;
    --tv-blue-400: #3179F5;
    --tv-blue-500: #2962FF;
    --tv-blue-600: #1E53E5;
    --tv-blue-700: #1848CC;
    --tv-blue-800: #143EB2;
    --tv-blue-900: #0C3299;
    --tv-blue-500-focus: rgba(41, 98, 255, 0.8);
    --minty-green-500: #089981;
    --ripe-red-500: #F23645;
    --grapes-purple-500: #9C27B0;
    --tv-body-backdrop: #d1d1d14d;
}

* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

*:before,
*:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box
}

a {
    text-decoration: none;
    background-color: transparent;
}

*:focus,
a:focus {
  outline: none;
}

input,button,select,textarea {
    color: inherit;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit
}

.body-overflow-hidden {
    overflow: hidden;
    max-height: 100vh;
}

.body-backdrop {
    max-height: 100vh;
}

.body-overflow-hidden:after,
.body-backdrop:after {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    content: '';
    z-index: 20;
}

.body-overflow-hidden:after {
    position: absolute;
    background: inherit;
}

.body-backdrop:after {
    position: fixed;
    background: var(--tv-body-backdrop);
}

.hidden {
    display: none !important;
}

.tv-custom-scroll {
    scrollbar-width: initial;
    scrollbar-color: initial;

    @supports (-moz-appearance:none) {
        scrollbar-color: var(--cold-gray-200) var(--white);
        scrollbar-width: thin;
    }
}

.tv-custom-scroll::-webkit-scrollbar {
    width: 6px;
}

.tv-custom-scroll::-webkit-scrollbar-thumb {
    border: 2px solid var(--white);
    border-radius: 8px;
    background-color: var(--cold-gray-200);
}

.tv-custom-scroll::-webkit-scrollbar-track {
    border-radius: 8px;
    background-color: var(--white);
}

table {
    width: 100%;
    margin: 0 0 24px;
    vertical-align: middle;
    border-collapse: collapse;
    border-spacing: 0;
}

table tbody td {
    text-align: center;
    padding: 14px;
    border: 1px solid #d9dbde;
}

table tbody tr:nth-child(even), table tfoot tr:nth-child(even) {
    background: var(--cold-gray-50);
}