html {
    position: relative;
    min-height: 100%;
    font-size: 14px;
}

body {
  margin-bottom: 60px;
}

/* Everything above this line came standard .*/

:root {
    --primary-color: #002d74;
    --secondary-color: #f18a00;
    --box-shadow: 0 0 0 0px rgb(255, 255, 255), 0em 0 .75em rgba(0, 0, 0, .3);
    --border-radius: 8px;
    --body-font: 'Questrial', Arial, sans-serif;
    --gray: #F5F6F6;
    --black: #111111;
    --purple: #002d74;
    --title-font: 'Inter', Arial, sans-serif;
}

body {
    font-family: var(--body-font);
}

header {
    background-color: var(--primary-color);
    padding: 2em 1em;
    padding-bottom: 1.5em;
    text-align: center;
}

.header-div {
    background-color: var(--gray);
}

.header-div a.hide {
    opacity: 0;
    cursor: default;
}

.filter-display,
#attendee-exhibitor,
#attendee-sessions {
    display: none;
}

.k-icon:before,
.k-i-sort-desc-sm:before,
.k-i-sort-asc-sm:before {
    pointer-events: none;
}

.k-grid .k-cell-inner > .k-link > .k-icon.k-i-sort-asc-sm,
.k-grid .k-cell-inner > .k-link > .k-icon.k-i-sort-desc-sm {
    display: none;
}

header *,
#login-div *,
#attendee-login-div * {
    display: block;
}

header a {
    display: inline-block;
}

header svg {
/*    fill: white;*/
    fill: var(--secondary-color);
    width: 100%;
    height: auto;
    max-width: 40px;
}

header svg:active {
    fill: white;
}

header img {
    width: 205px;
    margin: auto;
    margin-bottom: 1em;
}

header {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
}

header#login-header {
    display: block;
}

header a:first-of-type {
    margin-right: 2em;
    background-color: white;
    padding: 3px;
    border: 2px solid var(--secondary-color);
    border-radius: var(--border-radius);
}

header a:last-of-type {
    margin-left: 2em;
    background-color: white;
    padding: 3px;
    border: 2px solid var(--secondary-color);
    border-radius: var(--border-radius);
}

/*header a:first-of-type:hover,*/
header a:first-of-type:active,
/*header a:last-of-type:hover,*/
header a:last-of-type:active {
    background: var(--secondary-color);
}

/*header a:nth-child(3) svg:active,
header a:nth-child(3) svg:focus {
    animation: loader 1.25s infinite
}*/

@keyframes loader {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* Use rotate instead, but only if it is supported */
@supports (rotate: 0deg) {
    @keyframes loader {
        0% {
            rotate: 0deg;
        }

        100% {
            rotate: 360deg;
        }
    }
}

.svg-toggle {
    fill: white;
}

header + div p {
    color: white;
    background-color: var(--primary-color);
    margin-bottom: 0;
    padding-bottom: 1em;
    text-align: center;
    font-size: 1.5rem;
}

.container {
    max-width: none;
    padding: 0;
    display: block;
    position: relative;
    margin: auto;
}

h1 {
    font-family: var(--title-font);
    font-weight: 900;
    display: inline-block;
    color: white;
    margin-bottom: 0 !important;
    vertical-align: middle;
    font-size: 2.5rem;
}

nav div {
    width: 100%;
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 1024px;
    margin: auto;
}

button {
    width: fit-content;
    padding: 1em;
    padding-top: 1.1em;
    background-color: white;
    color: var(--secondary-color);
    font-weight: bold;
    border: 2px solid var(--secondary-color);
    border-radius: var(--border-radius);
}

nav button {
    flex: 1 1 0px;
    padding-left: .5em;
    padding-right: .5em;
}

button:hover,
button:focus,
button:visited,
button:active,
button:target,
button.selected {
    background-color: var(--secondary-color);
    color: white;
}

button#login-btn,
button#attendee-login-btn,
#logout,
#techlogout {
    padding: .5em 1em;
    padding-top: .65em;
    margin: auto;
}

#logout,
#techlogout {
    margin-bottom: 1em;
    padding-top: .5em;
}

#content {
    max-width: 1024px;
    margin: auto;
}

#content.home {
    padding: 0 15px;
}

#login-div,
#attendee-login-div {
    max-width: 340px;
    width: 100%;
    margin: auto;
    padding: 1em 15px;
    box-shadow: var(--box-shadow);
    border-radius: var(--border-radius);
}

#ShowSelect,
#OffsetSelect,
#RoleSelect{
    width: 100%;
    height: 40px;
    border-radius: var(--border-radius) !important;
    margin-bottom: 16px;
}

#RoleSelect{
    display: none;
}

#widget {
    box-shadow: var(--box-shadow);
    border-radius: var(--border-radius);
    padding: 1em;
    color: white;
    background-color: var(--purple);
    margin-bottom: 1em;
}

#widget:last-of-type {
    margin-bottom: 0;
}

#widget p {
    font-size: 1.5rem;
    font-family: var(--title-font);
}

#widget p a {
    text-decoration: none;
    color: white;
}

#widget li {
    font-size: 1.25rem;
}

#widget li a {
    color: white;
    text-decoration: none;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#widget li a span + span span {
    padding: 0px 10px;
    background-color: var(--secondary-color);
    margin-left: 0.5em;
    border-radius: var(--border-radius);
    box-shadow: var(--box-shadow);
    margin-top: 4px;
    height: 25px;
}

#widget li a span + span {
    display: flex;
}

@keyframes grow-shrink {
    0% {
        transform: scale(1, 1);
    }

    25% {
        transform: scale(.98, .98);
    }

    50% {
        transform: scale(1.001,1.001);
    }

    75% {
        transform: scale(.98, .98);
    }

    100% {
        transform: scale(1,1);
    }
}

#widget ul {
    padding: 0;
    list-style: none;
    margin-bottom: 0;
}

#widget svg {
    width: 16px;
    fill: white;
    vertical-align: bottom;
    float: right;
}

#widget svg:hover,
#widget svg:active {
    fill: var(--secondary-color);
}

#login-div input,
#attendee-login-div input {
    margin-bottom: 1em;
    width: 100%;
    height: 40px;
}

#login {
    margin: auto;
    padding: 0.5em 1.5em;
    padding-top: 0.55em;
}

#content {
    margin-top: 15px;
}

.home>p:first-of-type {
    text-align: center;
}

#LeadsSubMenu,
#SessionsSubMenu,
#RegistrationSubMenu {
    display: none;
}

.k-grid-header {
    padding-right: 0 !important;
}

#more-info {
    padding: 0;
    border: none;
    color: unset;
    background-color: unset;
    width: 100%;
}

#more-info svg {
    width: 15px;
    fill: var(--secondary-color);
}

#more-info i {
    cursor: pointer;
    vertical-align: middle;
}

table {
    width: 100%;
}

table td i {
    color: var(--secondary-color);
}

.k-grid tr:hover {
     background-image: none; 
     background-position: unset;
}

table tbody tr:hover {
    background-color: unset !important;
    color: unset !important;
}

table tbody tr:nth-child(even):hover {
    background-color: var(--gray) !important;
}

table:focus-visible {
    outline: none;
}

.k-grid-header {
    background-image: none; 
    background-position: unset; 
    background-color: #eae8e8;
}

.no-scrollbar .k-grid-header {
    padding: 0 !important;
}

.no-scrollbar .k-grid-content {
    overflow-y: visible;
}

footer {
    margin-top: 15px;
    text-align: center;
}

footer * {
    display: block;
    margin: auto;
    margin-top: 1em;
}

footer button svg {
    fill: var(--secondary-color);
    margin-top: 0;
    width: 20px;
    display: inline-block;
}

footer button:hover svg {
    fill: white;
}

footer button span {
    margin-top: 0;
    display: inline-block;
    vertical-align: middle;
}

#QRCode {
/*    width: max-content;*/
    width: 70%;
    margin: auto;
}

thead tr,
tbody tr:nth-child(even) {
    background-color: var(--gray);
}

thead tr {
    border: 1px solid black;
}

thead th,
td {
    text-align: right;
}

.sessions thead th:first-child,
.sessions td:first-child,
.sessions thead th:nth-child(2),
.sessions td:nth-child(2) {
    text-align: left;
}

.sessions.attendee-grid thead th:first-child,
.sessions.attendee-grid td:first-child {
    text-align: center !important;
}

.sessions.attendee-grid thead th:first-child .k-link {
    width: 100%;
    display: block;
}

.sessions .k-grid-header th.k-header:nth-child(4) {
    text-align: right;
}

thead th:nth-child(3),
td:nth-child(3),
.leads thead th:nth-child(3),
.leads td:nth-child(3) {
    text-align: left;
    /*    padding-left: 15px;*/
}

thead th:nth-last-child(2),
td:nth-last-child(2) {
    text-align: center;
}

.leads thead th,
.leads td {
    text-align: left;
}

.leads thead th:last-child,
.leads td:last-child {
    text-align: right;
}

.registration thead th:first-child,
.registration td:first-child,
.registration thead th:nth-child(2),
.registration td:nth-child(2){
    text-align: left;
}

nav div button {
    font-size: .95rem;
    border-radius: 0;
}

.outstanding {
    background-color: var(--secondary-color) !important;
    color: white !important;
}

table .outstanding td i {
    color: white;
}

#grid {
    border: none;
}

#grid p {
    text-align: center;
}

.k-grid-header-wrap{
    border-right: none;
}

.k-toolbar .k-input{
    width: 100%;
}

.k-toolbar .k-spacer{
    display: none;
}

.k-input-inner {
    z-index: unset;
}

.k-pager-wrap .k-link.k-state-selected {
    background-color: var(--secondary-color);
}

.k-grid td,
.k-filter-row th, .k-grid-header th.k-header {
    padding: 0 10px;
}

/*CSS for loader dots*/

.loader > span {
    width: 15px;
    height: 15px;
    display: block;
    background: lightgrey;
    border-radius: 50%;
    position: relative;
    margin: 0 5px;
}

.loader-outer {
    padding: 15px;
}

.loader-mssg {
    text-align: center;
    color: grey;
    padding: 10px;
    font-size: 15pt;
    font-weight: 500;
}

.loader {
    display: flex;
    align-items: center;
    justify-content: center;
}

.dot-1 {
    animation: anim 1s linear 0s infinite;
}

.dot-2 {
    animation: anim 1s linear 0.25s infinite;
}

.dot-3 {
    animation: anim 1s linear 0.50s infinite;
}

.tech {
    display: none;
}

.grayed-out {
    color: darkgray;
}

.attendee-home #widget ul li:not(li:last-child) {
    margin-bottom: 1rem;
}

@media (max-width: 499px) {
    .k-grid .k-cell-inner > .k-link {
        padding: 1em 0.6em 0.8em 0.6em !important;
    }

    #widget ul li:not(li:last-child) {
        margin-bottom: 1rem;
    }
}

@keyframes anim {
    0% {
        top: 0;
    }

    50% {
        top: 15px;
        background-color: #000;
    }

    100% {
        top: 0;
    }
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }

    header img {
        width: 240px;
    }

    header {
        justify-content: center;
    }

    #home {
        display: flex;
        width: 100%;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: stretch;
    }

    #home.attendee-home {
        justify-content: center;
    }

    #widget {
        display: flex;
        width: 49%;
        flex-direction: column;
        min-height: 265px;
        height: 100%;
    }

    #widget:nth-last-child(2) {
        margin-bottom: 0;
    }

    #widget svg {
        vertical-align: top;
        width: 18px;
    }

    #content {
        margin-top: 2em;
    }

    #more-info svg {
        max-width: 18px;
    }

    header a:first-of-type {
        margin-right: 5em;
    }

    header a:last-of-type {
        margin-left: 5em;
    }

    #widget p {
        font-size: 1.45rem;
    }

    #widget li {
        font-size: 1.14rem;
    }

    nav div button {
        font-size: 1rem;
    }
    
    #widget li a span + span span {
        height: 100%;
        margin-top: 4.5px;
    }

    .k-toolbar .k-input {
        width: 70%;
        margin-left: auto;
        margin-right: auto;
    }

    #login-div,
    #attendee-login-div{
        max-width: 350px;
    }

    .k-grid td,
    .k-filter-row th, .k-grid-header th.k-header {
        padding: .4em .6em;
    }
}

@media (min-width: 992px) {
    #widget p {
        font-size: 1.75rem;
    }

    #widget li {
        font-size: 1.5rem;
        margin-bottom: 3px;
    }

    #widget li a span + span span {
        height: 100%;
        margin-top: 0;
    }

    #widget {
        width: 49.15%;
        min-height: 290px;
    }

    .k-toolbar .k-input {
        width: 50%;
    }
}