@charset "UTF-8";
:root {
  --admin-bg: #020202;
  --control-bg: #434343;
}

@font-face {
  font-family: "Bull";
  src: url("/fonts/BullLatin-Bold.woff2") format("woff2");
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: "Bull";
  src: url("/fonts/BullLatin-Heavy1.woff2") format("woff2");
  font-weight: 900;
  font-style: normal;
}
@font-face {
  font-family: "Bull";
  src: url("/fonts/BullLatin-Regular.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Bull";
  src: url("/fonts/BullLatin-Thin1.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: "Neue-Haas-Grotesk-Roman";
  src: url("/fonts/NHaasGroteskTXStd-55Rg.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Neue-Haas-Grotesk-Medium";
  src: url("/fonts/NHaasGroteskTXStd-65Md.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Neue-Haas-Grotesk-Italic";
  src: url("/fonts/NHaasGroteskTXStd-66MdIt.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Neue-Haas-Grotesk-Bold";
  src: url("/fonts/NHaasGroteskTXStd-75Bd.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Editor-Icons";
  src: url("/fonts/editor-font-icons.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "eurostile";
  src: url("/fonts/Eurostile-Regular.otf") format("opentype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "eurostile";
  src: url("/fonts/Eurostile-Regular-Italic.otf") format("opentype");
  font-weight: normal;
  font-style: italic;
}
@font-face {
  font-family: "eurostile";
  src: url("/fonts/Eurostile-Regular-Oblique.otf") format("opentype");
  font-weight: normal;
  font-style: oblique;
}
@font-face {
  font-family: "eurostile";
  src: url("/fonts/Eurostile-Bold.otf") format("opentype");
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: "eurostile";
  src: url("/fonts/Eurostile-Bold-Italic.otf") format("opentype");
  font-weight: bold;
  font-style: italic;
}
@font-face {
  font-family: "eurostile-condensed";
  src: url("/fonts/Eurostile-Condensed.otf") format("opentype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "eurostile-condensed";
  src: url("/fonts/Eurostile-Condensed-heavy.otf") format("opentype");
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: "eurostile-extended";
  src: url("/fonts/Eurostile-Extd-Regular.otf") format("opentype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "eurostile-extended";
  src: url("/fonts/Eurostile-Extd-Regular-Italic.otf") format("opentype");
  font-weight: normal;
  font-style: italic;
}
@font-face {
  font-family: "eurostile-extended";
  src: url("/fonts/Eurostile-Extd-Medium.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "eurostile-extended";
  src: url("/fonts/Eurostile-Extd-Black.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: "raleway";
  src: url("/fonts/raleway-bold.woff2") format("woff2");
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: "raleway-semibold";
  src: url("/fonts/raleway-semibold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: "raleway-medium";
  src: url("/fonts/raleway-medium.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "raleway-medium";
  src: url("/fonts/raleway-mediumitalic.woff2") format("woff2");
  font-weight: normal;
  font-style: italic;
}
/* lato-100 - latin */
@font-face {
  font-family: "Lato";
  font-style: normal;
  font-weight: 100;
  src: url("/fonts/lato-v16-latin-100.woff2") format("woff2");
}
/* lato-100italic - latin */
@font-face {
  font-family: "Lato";
  font-style: italic;
  font-weight: 100;
  src: url("/fonts/lato-v16-latin-100italic.woff2") format("woff2");
}
/* lato-300 - latin */
@font-face {
  font-family: "Lato";
  font-style: normal;
  font-weight: 300;
  src: url("/fonts/lato-v16-latin-300.woff2") format("woff2");
}
/* lato-300italic - latin */
@font-face {
  font-family: "Lato";
  font-style: italic;
  font-weight: 300;
  src: url("/fonts/lato-v16-latin-300italic.woff2") format("woff2");
}
/* lato-italic - latin */
@font-face {
  font-family: "Lato";
  font-style: italic;
  font-weight: 400;
  src: url("/fonts/lato-v16-latin-italic.woff2") format("woff2");
}
/* lato-regular - latin */
@font-face {
  font-family: "Lato";
  font-style: normal;
  font-weight: 400;
  src: url("/fonts/lato-v16-latin-regular.woff2") format("woff2");
}
/* lato-700 - latin */
@font-face {
  font-family: "Lato";
  font-style: normal;
  font-weight: 700;
  src: url("/fonts/lato-v16-latin-700.woff2") format("woff2");
}
/* lato-700italic - latin */
@font-face {
  font-family: "Lato";
  font-style: italic;
  font-weight: 700;
  src: url("/fonts/lato-v16-latin-700italic.woff2") format("woff2");
}
/* lato-900 - latin */
@font-face {
  font-family: "Lato";
  font-style: normal;
  font-weight: 900;
  src: url("/fonts/lato-v16-latin-900.woff2") format("woff2");
}
/* lato-900italic - latin */
@font-face {
  font-family: "Lato";
  font-style: italic;
  font-weight: 900;
  src: url("/fonts/lato-v16-latin-900italic.woff2") format("woff2");
}
@font-face {
  font-family: "Source Sans Pro";
  src: url("/fonts/SourceSansPro/SourceSansPro-Light.otf") format("opentype");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: "Source Sans Pro";
  src: url("/fonts/SourceSansPro/SourceSansPro-LightIt.otf") format("opentype");
  font-weight: 300;
  font-style: italic;
}
@font-face {
  font-family: "Source Sans Pro";
  src: url("/fonts/SourceSansPro/SourceSansPro-Regular.otf") format("opentype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Source Sans Pro";
  src: url("/fonts/SourceSansPro/SourceSansPro-It.otf") format("opentype");
  font-weight: normal;
  font-style: italic;
}
@font-face {
  font-family: "Source Sans Pro";
  src: url("/fonts/SourceSansPro/SourceSansPro-Semibold.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "Source Sans Pro";
  src: url("/fonts/SourceSansPro/SourceSansPro-SemiboldIt.otf") format("opentype");
  font-weight: 500;
  font-style: italic;
}
@font-face {
  font-family: "Source Sans Pro";
  src: url("/fonts/SourceSansPro/SourceSansPro-Bold.otf") format("opentype");
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: "Source Sans Pro";
  src: url("/fonts/SourceSansPro/SourceSansPro-BoldIt.otf") format("opentype");
  font-weight: bold;
  font-style: italic;
}
@font-face {
  font-family: "Source Sans Pro";
  src: url("/fonts/SourceSansPro/SourceSansPro-Black.otf") format("opentype");
  font-weight: 900;
  font-style: normal;
}
@font-face {
  font-family: "Source Sans Pro";
  src: url("/fonts/SourceSansPro/SourceSansPro-BlackIt.otf") format("opentype");
  font-weight: 900;
  font-style: italic;
}
@font-face {
  font-family: "FF Gothic";
  src: url("/fonts/FF-Gothic.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Big Star";
  src: url("/fonts/BigStar-Regular.otf") format("opentype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Titillium Web";
  src: url("/fonts/TitilliumWeb/TitilliumWeb-ExtraLight.otf") format("opentype");
  font-weight: 200;
  font-style: normal;
}
@font-face {
  font-family: "Titillium Web";
  src: url("/fonts/TitilliumWeb/TitilliumWeb-ExtraLightItalic.otf") format("opentype");
  font-weight: 200;
  font-style: italic;
}
@font-face {
  font-family: "Titillium Web";
  src: url("/fonts/TitilliumWeb/TitilliumWeb-Light.otf") format("opentype");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: "Titillium Web";
  src: url("/fonts/TitilliumWeb/TitilliumWeb-LightItalic.otf") format("opentype");
  font-weight: 300;
  font-style: italic;
}
@font-face {
  font-family: "Titillium Web";
  src: url("/fonts/TitilliumWeb/TitilliumWeb-Regular.otf") format("opentype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Titillium Web";
  src: url("/fonts/TitilliumWeb/TitilliumWeb-Italic.otf") format("opentype");
  font-weight: normal;
  font-style: italic;
}
@font-face {
  font-family: "Titillium Web";
  src: url("/fonts/TitilliumWeb/TitilliumWeb-SemiBold.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "Titillium Web";
  src: url("/fonts/TitilliumWeb/TitilliumWeb-SemiBoldItalic.otf") format("opentype");
  font-weight: 500;
  font-style: italic;
}
@font-face {
  font-family: "Titillium Web";
  src: url("/fonts/TitilliumWeb/TitilliumWeb-Bold.otf") format("opentype");
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: "Titillium Web";
  src: url("/fonts/TitilliumWeb/TitilliumWeb-BoldItalic.otf") format("opentype");
  font-weight: bold;
  font-style: italic;
}
@font-face {
  font-family: "Titillium Web";
  src: url("/fonts/TitilliumWeb/TitilliumWeb-Black.otf") format("opentype");
  font-weight: 900;
  font-style: normal;
}
@font-face {
  font-family: "Outfit";
  src: url("/fonts/Outfit/Outfit-Thin.otf") format("opentype");
  font-weight: 100;
  font-style: normal;
}
@font-face {
  font-family: "Outfit";
  src: url("/fonts/Outfit/Outfit-ExtraLight.otf") format("opentype");
  font-weight: 200;
  font-style: normal;
}
@font-face {
  font-family: "Outfit";
  src: url("/fonts/Outfit/Outfit-ExtraLight.otf") format("opentype");
  font-weight: 200;
  font-style: italic;
}
@font-face {
  font-family: "Outfit";
  src: url("/fonts/Outfit/Outfit-Light.otf") format("opentype");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: "Outfit";
  src: url("/fonts/Outfit/Outfit-Light.otf") format("opentype");
  font-weight: 300;
  font-style: italic;
}
@font-face {
  font-family: "Outfit";
  src: url("/fonts/Outfit/Outfit-Regular.otf") format("opentype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Outfit";
  src: url("/fonts/Outfit/Outfit-Regular.otf") format("opentype");
  font-weight: normal;
  font-style: italic;
}
@font-face {
  font-family: "Outfit";
  src: url("/fonts/Outfit/Outfit-SemiBold.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "Outfit";
  src: url("/fonts/Outfit/Outfit-SemiBold.otf") format("opentype");
  font-weight: 500;
  font-style: italic;
}
@font-face {
  font-family: "Outfit";
  src: url("/fonts/Outfit/Outfit-Bold.otf") format("opentype");
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: "Outfit";
  src: url("/fonts/Outfit/Outfit-Bold.otf") format("opentype");
  font-weight: bold;
  font-style: italic;
}
@font-face {
  font-family: "Outfit";
  src: url("/fonts/Outfit/Outfit-Black.otf") format("opentype");
  font-weight: 900;
  font-style: normal;
}
@font-face {
  font-family: "Outfit";
  src: url("/fonts/Outfit/Outfit-Black.otf") format("opentype");
  font-weight: 900;
  font-style: italic;
}
@font-face {
  font-family: "Onry";
  src: url("/fonts/Onry/OnryDisplay-Light.otf") format("opentype");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: "Onry";
  src: url("/fonts/Onry/OnryDisplay-LightItalic.otf") format("opentype");
  font-weight: 300;
  font-style: italic;
}
@font-face {
  font-family: "Onry";
  src: url("/fonts/Onry/OnryDisplay-Regular.otf") format("opentype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Onry";
  src: url("/fonts/Onry/OnryDisplay-RegularItalic.otf") format("opentype");
  font-weight: normal;
  font-style: italic;
}
@font-face {
  font-family: "Onry";
  src: url("/fonts/Onry/OnryDisplay-SemiBold.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "Onry";
  src: url("/fonts/Onry/OnryDisplay-SemiBold.otf") format("opentype");
  font-weight: 500;
  font-style: italic;
}
@font-face {
  font-family: "Onry";
  src: url("/fonts/Onry/OnryDisplay-Bold.otf") format("opentype");
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: "Onry";
  src: url("/fonts/Onry/OnryDisplay-BoldItalic.otf") format("opentype");
  font-weight: bold;
  font-style: italic;
}
@font-face {
  font-family: "Onry";
  src: url("/fonts/Onry/OnryDisplay-Black.otf") format("opentype");
  font-weight: 900;
  font-style: normal;
}
@font-face {
  font-family: "Onry";
  src: url("/fonts/Onry/OnryDisplay-BlackItalic.otf") format("opentype");
  font-weight: 900;
  font-style: italic;
}
@font-face {
  font-family: "Milo";
  src: url("/fonts/Milo/Milo-Regular.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Milo";
  src: url("/fonts/Milo/Milo-Bold.woff2") format("woff2");
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: "Milo";
  src: url("/fonts/Milo/Milo-BoldItalic.woff2") format("woff2");
  font-weight: bold;
  font-style: italic;
}
@font-face {
  font-family: "Milo";
  src: url("/fonts/Milo/Milo-BlackItalic.woff2") format("woff2");
  font-weight: 900;
  font-style: italic;
}
@font-face {
  font-family: "Open Sans";
  src: url("/fonts/OpenSans/OpenSans-Light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: "Open Sans";
  src: url("/fonts/OpenSans/OpenSans-Regular.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Open Sans";
  src: url("/fonts/OpenSans/OpenSans-Bold.woff2") format("woff2");
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: "Open Sans";
  src: url("/fonts/OpenSans/OpenSans-ExtraBold.woff2") format("woff2");
  font-weight: 900;
  font-style: normal;
}
@font-face {
  font-family: "Open Sans";
  src: url("/fonts/OpenSans/OpenSans-LightItalic.woff2") format("woff2");
  font-weight: 300;
  font-style: italic;
}
@font-face {
  font-family: "Open Sans";
  src: url("/fonts/OpenSans/OpenSans-Italic.woff2") format("woff2");
  font-weight: normal;
  font-style: italic;
}
@font-face {
  font-family: "Open Sans";
  src: url("/fonts/OpenSans/OpenSans-BoldItalic.woff2") format("woff2");
  font-weight: bold;
  font-style: italic;
}
@font-face {
  font-family: "Open Sans";
  src: url("/fonts/OpenSans/OpenSans-ExtraBoldItalic.woff2") format("woff2");
  font-weight: 900;
  font-style: italic;
}
@font-face {
  font-family: "Hemi Head";
  src: url("/fonts/hemi-head-bd-it.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: "Rubik";
  src: url("/fonts/Rubik/Rubik-Light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: "Rubik";
  src: url("/fonts/Rubik/Rubik-LightItalic.woff2") format("woff2");
  font-weight: 300;
  font-style: italic;
}
@font-face {
  font-family: "Rubik";
  src: url("/fonts/Rubik/Rubik-Regular.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Rubik";
  src: url("/fonts/Rubik/Rubik-RegularItalic.woff2") format("woff2");
  font-weight: normal;
  font-style: italic;
}
@font-face {
  font-family: "Rubik";
  src: url("/fonts/Rubik/Rubik-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "Rubik";
  src: url("/fonts/Rubik/Rubik-MediumItalic.woff2") format("woff2");
  font-weight: 500;
  font-style: italic;
}
@font-face {
  font-family: "Rubik";
  src: url("/fonts/Rubik/Rubik-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: "Rubik";
  src: url("/fonts/Rubik/Rubik-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: italic;
}
@font-face {
  font-family: "Rubik";
  src: url("/fonts/Rubik/Rubik-Bold.woff2") format("woff2");
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: "Rubik";
  src: url("/fonts/Rubik/Rubik-BoldItalic.woff2") format("woff2");
  font-weight: bold;
  font-style: italic;
}
@font-face {
  font-family: "Rubik";
  src: url("/fonts/Rubik/Rubik-Black.woff2") format("woff2");
  font-weight: 900;
  font-style: normal;
}
@font-face {
  font-family: "Rubik";
  src: url("/fonts/Rubik/Rubik-BlackItalic.woff2") format("woff2");
  font-weight: 900;
  font-style: italic;
}
@font-face {
  font-family: "Airstrike";
  src: url("/fonts/Airstrike/airstrike.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Airstrike";
  src: url("/fonts/Airstrike/airstrikecond.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Airstrike";
  src: url("/fonts/Airstrike/airstrikeexpand.woff") format("woff");
  font-weight: 900;
  font-style: normal;
}
@font-face {
  font-family: "Airstrike";
  src: url("/fonts/Airstrike/airstrikebold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: "Oswald";
  src: url("/fonts/TCR/Oswald/Oswald-Regular.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Oswald";
  src: url("/fonts/TCR/Oswald/Oswald-Light.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Oswald";
  src: url("/fonts/TCR/Oswald/Oswald-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: "Oswald";
  src: url("/fonts/TCR/Oswald/Oswald-Bold.woff2") format("woff2");
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: "BungeeTint";
  src: url("/fonts/TCR/BungeeTint/BungeeTint-Regular.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Avouch";
  src: url("/fonts/TCR/Avouch/AvouchBravo-Regular.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Gabarito";
  src: url("/fonts/TCR/Gabarito/Gabarito-Regular.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Gabarito";
  src: url("/fonts/TCR/Gabarito/Gabarito-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: "Gabarito";
  src: url("/fonts/TCR/Gabarito/Gabarito-Bold.woff2") format("woff2");
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: "Gabarito";
  src: url("/fonts/TCR/Gabarito/Gabarito-Black.woff2") format("woff2");
  font-weight: 900;
  font-style: normal;
}
@keyframes blinks {
  0% {
    background-position: 50% 0;
  }
  50% {
    background-position: 50% 100%;
  }
  75% {
    background-position: 0 50%;
  }
  100% {
    background-position: 50% 0;
  }
}
.preview:hover {
  transform: scale3d(0.8, 0.8, 0.8) translateX(0) translateY(0);
  transition: transform 0.2s linear;
  z-index: 10;
  opacity: 1;
}
.preview iframe {
  width: 100%;
  height: 100%;
  border: 0;
}
.preview.active-preview {
  border: solid 1px #cd0d0e;
}

.sessionData {
  width: 800px;
  height: 300px;
  position: absolute;
  overflow: scroll;
  left: 30%;
  top: 10%;
  white-space: pre;
}

.heat-admin {
  width: 100vw;
  height: 100vh;
  display: flex;
  align-items: flex-start;
}

/* font families */
/* text transforms */
/* tracking / letter spacing */
.m-admin-bugs-control {
  vertical-align: top;
  flex-flow: wrap;
  margin-top: 3px;
  width: 100%;
  align-content: flex-start;
}
.m-admin-bugs-control input[type=file] {
  position: absolute;
  opacity: 0;
  top: -100vh;
}
.m-admin-bugs-control .row .tabs {
  display: flex;
  flex-direction: row;
}
.m-admin-bugs-control .row .tabs .tab {
  display: inline-flex;
}
.m-admin-bugs-control .row.tabContent {
  display: none;
}
.m-admin-bugs-control .row.tabContent.is-active {
  display: inline-flex;
}
.m-admin-bugs-control .images,
.m-admin-bugs-control .logos,
.m-admin-bugs-control .videos {
  color: #fffdf3;
  display: inline-flex;
  flex-flow: wrap;
  height: 60vh;
  overflow-y: auto;
  min-width: 80vw;
}
.m-admin-bugs-control .images .image,
.m-admin-bugs-control .logos .image,
.m-admin-bugs-control .videos .image {
  position: relative;
  display: inline-flex;
  flex-flow: column wrap;
  user-select: none;
  -webkit-user-drag: none;
  background: #6d6d6d;
  padding: 5px 10px 25px 10px;
  border-radius: 5px 5px 0 0;
  width: 240px;
  height: 120px;
  cursor: pointer;
  margin: 5px 5px 40px 5px;
  background: url("/images/preview_bg.jpg") no-repeat;
  background-size: cover;
  border: solid 2px #000;
  border-bottom-width: 0;
}
.m-admin-bugs-control .images .image.is-selected,
.m-admin-bugs-control .logos .image.is-selected,
.m-admin-bugs-control .videos .image.is-selected {
  border-color: #0dcd27;
}
.m-admin-bugs-control .images .image.is-selected .name,
.m-admin-bugs-control .logos .image.is-selected .name,
.m-admin-bugs-control .videos .image.is-selected .name {
  border-color: #0dcd27;
}
.m-admin-bugs-control .images .image.is-active,
.m-admin-bugs-control .logos .image.is-active,
.m-admin-bugs-control .videos .image.is-active {
  border-color: #cd0d0d;
}
.m-admin-bugs-control .images .image.is-active .name,
.m-admin-bugs-control .logos .image.is-active .name,
.m-admin-bugs-control .videos .image.is-active .name {
  border-color: #cd0d0d;
}
.m-admin-bugs-control .images .image img,
.m-admin-bugs-control .logos .image img,
.m-admin-bugs-control .videos .image img {
  position: absolute;
  max-width: 100%;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  max-height: 100%;
}
.m-admin-bugs-control .images .image .name,
.m-admin-bugs-control .logos .image .name,
.m-admin-bugs-control .videos .image .name {
  position: absolute;
  bottom: 0;
  left: -2px;
  right: -2px;
  transform: translateY(100%);
  font-size: 10px;
  padding: 10px;
  border-radius: 0 0 5px 5px;
  background: var(--black);
  border: solid 2px #000;
  border-top-width: 0;
}
.m-admin-bugs-control .images .image {
  width: 349.0909090909px;
  height: 196.3636363636px;
}
.m-admin-bugs-control .logos .image img {
  max-width: 80%;
  max-height: 80%;
}
.m-admin-bugs-control .videos .image {
  width: 349.0909090909px;
  height: 196.3636363636px;
}
.m-admin-bugs-control .videos .image img {
  max-width: 100%;
  max-height: 100%;
}
.m-admin-bugs-control .admin {
  position: absolute;
  width: 400px;
  right: 20px;
  display: none;
}
.m-admin-bugs-control .admin.is-active {
  display: block;
}
.m-admin-bugs-control .admin .preview {
  width: 1920px;
  height: 1080px;
  transform-origin: top right;
  transform: scale(0.15) translateX(0) translateY(0);
  background: #3b5998;
  background-size: 120%;
  left: unset;
  right: 0;
  bottom: unset;
  position: absolute;
  display: block;
  box-shadow: inset 0px 0px 2px 7px #fff;
  z-index: 10;
  top: -20px;
  opacity: 0.5;
  transition: opacity 0.2s ease 0.3s, transform 0.2s ease 0.3s, box-shadow 0.2s ease 0.3s;
  cursor: pointer;
}
.m-admin-bugs-control .admin .preview:hover:before {
  content: "CLICK TO POSITION";
  font-weight: bold;
  font-size: 75px;
  background: #ffffff;
  border: solid 1px #000000;
  padding: 5px 10px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  opacity: 1;
  transition: opacity 0.3s ease 0.5s;
}
.m-admin-bugs-control .admin .preview:hover:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  box-shadow: 0vh 10vh 0 100vh rgba(0, 0, 0, 0);
  z-index: -1;
  transition: box-shadow 0.5s ease;
}
.m-admin-bugs-control .admin .preview.is-active {
  transform: scale(0.5) translateX(-45%) translateY(30%);
  z-index: 10;
  opacity: 1;
  box-shadow: inset 0px 0px 2px 7px #fff, inset 20px 0px 0px 40px #3765b0, inset -20px 0px 0px 40px #3765b0;
  transition: opacity 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease 0.3s;
}
.m-admin-bugs-control .admin .preview.is-active:before {
  opacity: 0;
  transition-delay: 0s;
  font-size: 35px;
}
.m-admin-bugs-control .admin .preview.is-active:after {
  content: "";
  position: absolute;
  box-shadow: 0vh 10vh 0 100vh rgba(0, 0, 0, 0.6);
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
  transition: box-shadow 0.5s ease 0.3s;
}
.m-admin-bugs-control .admin .preview .imgHolder {
  user-select: none;
  -webkit-user-drag: none;
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 70px;
  transform-origin: center center;
  transform: translateY(-50%) translateX(-50%);
}
.m-admin-bugs-control .admin .preview .imgHolder img {
  width: inherit;
  user-select: none;
  -webkit-user-drag: none;
}
.m-admin-bugs-control .admin .position {
  display: none;
  position: relative;
  width: 110px;
  left: 45px;
}
.m-admin-bugs-control .admin .position input {
  position: absolute;
  border: none;
  width: 40px;
  left: 50%;
  top: 50%;
  text-align: center;
}
.m-admin-bugs-control .admin .position input.top {
  transform: translateX(-100%);
}
.m-admin-bugs-control .admin .position input.left {
  transform: translateY(-100%);
}

.m-admin-ident-control {
  vertical-align: top;
  flex-flow: wrap;
  margin-top: 3px;
  width: 100vw !important;
  height: calc(100vh - 100px);
  display: none;
}
.m-admin-ident-control.is-visible {
  display: inline-flex;
}
.m-admin-ident-control .vehicleIcon {
  position: fixed;
  right: 30px;
  bottom: 40px;
  transform: translateX(200%);
  transition: transform 0.5s ease;
}
.m-admin-ident-control .vehicleIcon.animate-in {
  transform: translateX(0);
  transition: transform 0.5s ease 0.2s;
}
.m-admin-ident-control .vehicleIcon img {
  width: 400px;
}
.m-admin-ident-control .override {
  position: absolute;
  width: 300px;
  top: 150px;
  right: 300px;
  height: 400px;
}
.m-admin-ident-control .override input {
  display: block;
  padding: 5px;
  font-size: 15px;
  border: none;
  margin: 5px 0;
  width: 100%;
}
.m-admin-ident-control button {
  -webkit-user-select: none;
  outline: none;
  display: block;
  position: relative;
  background: #202020;
  color: #fff;
  text-shadow: 1px 1px 7px #000000;
  cursor: pointer;
  text-align: center;
  height: 50px;
  width: 110px;
  border: none;
  border-radius: 3px;
  font-size: 13px;
  overflow: hidden;
  text-indent: -2000px;
  box-shadow: 2px 4px 10px 0px #000;
}
.m-admin-ident-control button:before {
  content: "";
  position: absolute;
  height: calc(100% - 4px);
  width: calc(100% - 4px);
  transform: translateX(-50%) translateY(-50%);
  left: 50%;
  top: 50%;
  border-radius: 5px;
  background: linear-gradient(to bottom, #525556 10%, #2c2c2c 13%, #0a0e0a 51%, #0a0809 85%, #404040 100%);
}
.m-admin-ident-control button:after {
  content: attr(data-button-text);
  position: absolute;
  transform: translateX(-50%) translateY(-50%);
  top: 50%;
  left: 50%;
  color: #bcbcbc;
  z-index: 2;
  text-indent: 0;
}
.m-admin-ident-control button.space {
  opacity: 0;
  width: 40px;
}
.m-admin-ident-control button.space.fullButton {
  width: 120px;
}
.m-admin-ident-control button.is-ready {
  background: none;
}
.m-admin-ident-control button.is-active {
  background: linear-gradient(to bottom, rgb(157, 213, 58) 0%, rgb(161, 213, 79) 45%, rgb(128, 194, 23) 60%, rgb(124, 188, 10) 100%);
}
.m-admin-ident-control button.has-error {
  background: linear-gradient(to bottom, rgb(248, 80, 50) 0%, rgb(241, 111, 92) 50%, rgb(246, 41, 12) 51%, rgb(240, 47, 23) 71%, rgb(231, 56, 39) 100%);
}
.m-admin-ident-control button.is-preview:not(.is-active):not(.has-changes) {
  background: #ff0012;
}
.m-admin-ident-control button.has-changes {
  animation: blinks 1s ease infinite forwards;
  background: linear-gradient(359deg, #f5d000, #fbf604, #fbb404);
  background-size: 600% 600%;
}
.m-admin-ident-control button.show-shortcut:after {
  position: absolute;
  content: attr(data-shortcut);
  text-transform: uppercase;
  right: 0;
  bottom: 0;
  border: outset 1px RGBA(122, 134, 152, 1);
  border-width: 2px 0px 0px 2px;
  padding: 2px 2px 0 4px;
  border-radius: 10px 0 0 0;
}
.m-admin-ident-control button {
  margin: 0 10px 10px 0;
}
.m-admin-ident-control button.space {
  cursor: default;
}
.m-admin-ident-control .background {
  position: fixed;
  left: 50%;
  top: 50%;
  z-index: 0;
  transform: translateX(-40%) translateY(-50%);
  height: 200vh;
  opacity: 0.05;
}
.m-admin-ident-control .background img {
  height: inherit;
  filter: blur(10px) grayscale(0.8);
}
.m-admin-ident-control .row {
  display: inline-flex;
  width: 100%;
  position: relative;
  left: 0;
  margin-top: 0;
}
.m-admin-ident-control .row.active-rider {
  position: relative;
  margin-left: 4%;
  margin-bottom: 0;
  padding: 10px 30px 5px 30px;
  line-height: 50px;
  color: #cdcdcd;
  z-index: -2;
  background: #161616;
  width: 70vw;
}
.m-admin-ident-control .row.active-rider > div {
  font-weight: bold;
  display: inline-block;
  margin-right: 30px;
  font-size: 35px;
}
.m-admin-ident-control .row.active-rider .name,
.m-admin-ident-control .row.active-rider .number {
  font-size: 40px;
  text-transform: uppercase;
}
.m-admin-ident-control .row.active-rider .race-class {
  display: none;
  position: absolute;
  font-size: 20px;
  right: 50px;
  margin: 0;
  top: 50%;
  transform: translateY(-50%);
}
.m-admin-ident-control .row.active-rider .brand {
  position: absolute;
  margin: 0;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  z-index: -1;
  background: #646464;
  padding: 20px;
}
.m-admin-ident-control .row.active-rider .brand img {
  height: inherit;
}
.m-admin-ident-control .row .title {
  display: block;
  width: 100%;
  margin-bottom: 20px;
  z-index: -1;
}
.m-admin-ident-control > .buttons {
  -webkit-user-select: none;
  outline: none;
  display: inline-flex;
  padding: 10px;
  margin: 5px;
  cursor: pointer;
  width: 100px;
  height: 100px;
  border-radius: 23px;
  display: inline-block;
  background: linear-gradient(to top, rgb(226, 226, 226) 0%, rgb(219, 219, 219) 45%, rgb(209, 209, 209) 60%, rgb(254, 254, 254) 100%);
  font-weight: bold;
  position: relative;
  box-shadow: 4px 10px 4px 0 #8a8a8a;
  border: solid 4px rgba(255, 255, 255, 0.5882352941);
}
.m-admin-ident-control > .buttons:disabled {
  background: grey;
}
.m-admin-ident-control > .buttons.show-shortcut:after {
  position: absolute;
  content: attr(data-shortcut);
  text-transform: uppercase;
  right: 0;
  bottom: 0;
  border: outset 1px RGBA(122, 134, 152, 1);
  border-width: 2px 0 0 2px;
  padding: 1px 2px 1px 4px;
  border-radius: 10px 0 0 0;
}
.m-admin-ident-control > .buttons.is-ready {
  background: linear-gradient(to bottom, rgb(248, 80, 50) 0%, rgb(241, 111, 92) 50%, rgb(246, 41, 12) 51%, rgb(240, 47, 23) 71%, rgb(231, 56, 39) 100%);
}
.m-admin-ident-control > .buttons.is-active {
  background: linear-gradient(to top, rgb(157, 213, 58) 0%, rgb(161, 213, 79) 45%, rgb(128, 194, 23) 60%, rgb(124, 188, 10) 100%);
  top: 5px;
  box-shadow: 1px 4px 4px 0 #656565;
}
.m-admin-ident-control > .buttons:hover:not(.is-active) {
  background: linear-gradient(to top, rgb(226, 226, 226) 0%, rgb(219, 219, 219) 45%, rgb(209, 209, 209) 60%, rgb(254, 254, 254) 100%);
  top: 1px;
  box-shadow: 3px 7px 4px 0 #7a7a7a;
}
.m-admin-ident-control .list-controls {
  position: relative;
  display: inline-flex;
  vertical-align: top;
  flex-flow: wrap;
  max-width: 120px;
  margin-top: 15px;
}
.m-admin-ident-control .list-controls .row {
  display: inline-flex;
  margin: 0;
  flex-flow: column;
  position: relative;
  left: 0;
  width: 120px;
  height: calc(100vh - 300px);
  box-shadow: 2px 0 0 0 #9d9d9d, 4px 0 0 0 #cdcdcd;
}
.m-admin-ident-control .driverList.row {
  padding-left: 4%;
}
.m-admin-ident-control .driverList.row .title {
  display: none !important;
}
.m-admin-ident-control .drivers {
  display: flex;
  position: relative;
  margin-top: 10px;
  min-width: 80vw;
  padding-left: 0px;
}
.m-admin-ident-control .drivers .driver {
  position: relative;
  cursor: pointer;
  height: 200px;
  margin-right: 20px;
  width: 220px;
}
.m-admin-ident-control .drivers .driver:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  display: block;
  transition: background 0.1s ease-in-out;
  will-change: background;
  background: rgba(22, 22, 22, 0.6);
  border-radius: 0 13px;
}
.m-admin-ident-control .drivers .driver .nationality {
  border-radius: 0 13px 0 0;
  width: 67px;
  height: 30px;
  overflow: hidden;
  position: absolute;
  bottom: 0px;
  z-index: 2;
  right: 0px;
}
.m-admin-ident-control .drivers .driver .nationality img {
  width: 190%;
  height: 160%;
  opacity: 0.4;
  transform: rotate(347deg) translateY(-30%) translateX(-23%);
}
.m-admin-ident-control .drivers .driver .activate,
.m-admin-ident-control .drivers .driver .delete,
.m-admin-ident-control .drivers .driver .upload-photo {
  position: absolute;
  top: 90%;
  left: 50%;
  transform: translateX(-50%) translateY(-150%);
  background: #ff1919;
  color: white;
  border-radius: 5px;
  z-index: -1;
  padding: 5px 10px;
  white-space: pre;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.3s ease-in-out, z-index 0.3s ease-in-out;
}
.m-admin-ident-control .drivers .driver .activate:hover,
.m-admin-ident-control .drivers .driver .delete:hover,
.m-admin-ident-control .drivers .driver .upload-photo:hover {
  background: #ec8e1e;
  color: #666;
}
.m-admin-ident-control .drivers .driver .delete {
  transform: translateX(-50%) translateY(-300%);
}
.m-admin-ident-control .drivers .driver .upload-photo {
  transform: translateX(-50%) translateY(-450%);
  background: #0dcd27;
}
.m-admin-ident-control .drivers .driver .name {
  padding: 7px 10px;
  display: inline-flex;
  margin-right: 10px;
  cursor: pointer;
  background: linear-gradient(96deg, #b9b9b9 69%, transparent) !important;
  color: #000000;
  white-space: nowrap;
  position: relative;
  transform: translateY(-100%);
  width: 100%;
  top: 200px;
  z-index: 2;
  border-radius: 0 13px;
}
.m-admin-ident-control .drivers .driver .name:before {
  position: absolute;
  background: inherit;
  color: #fff;
  font-size: 12px;
  transform: translateY(-100%);
  border-radius: 5px 5px 0 0;
  left: 0;
  padding: 5px 10px;
  z-index: 3;
}
.m-admin-ident-control .drivers .driver.is-selected:before {
  background: rgba(186, 34, 37, 0.5);
}
.m-admin-ident-control .drivers .driver.is-selected .name {
  background: linear-gradient(96deg, #ba2225 69%, transparent) !important;
  color: var(--white) !important;
}
.m-admin-ident-control .drivers .driver.is-selected .name:before {
  content: "SELECTED";
  background: #ba2225;
}
.m-admin-ident-control .drivers .driver:hover .name {
  background: #005b8d;
  color: var(--white);
}
.m-admin-ident-control .drivers .driver:hover .activate,
.m-admin-ident-control .drivers .driver:hover .delete,
.m-admin-ident-control .drivers .driver:hover .upload-photo {
  opacity: 1;
  z-index: 10;
  transition-delay: 1s;
}
.m-admin-ident-control .drivers .driver.is-active:before {
  background: rgba(0, 91, 141, 0.5);
}
.m-admin-ident-control .drivers .driver.is-active .name {
  background: linear-gradient(96deg, #005b8d 69%, transparent) !important;
  color: var(--white);
}
.m-admin-ident-control .drivers .driver.is-active .name:before {
  content: "IN VEHICLE";
  background: #005b8d;
}
.m-admin-ident-control .drivers .driver .profile-image {
  display: block;
  position: absolute;
  transform: translateY(-130px) translateX(-50%);
  top: 10px;
  left: 50%;
  z-index: 1;
  height: 300px;
  width: 180px;
  overflow: hidden;
}
.m-admin-ident-control .drivers .driver .profile-image img {
  position: absolute;
  bottom: 0;
  max-width: 100%;
  left: 50%;
  transform: translateX(-50%);
}
.m-admin-ident-control .drivers .driver > div {
  display: inline-block;
}
.m-admin-ident-control .teamData {
  position: absolute;
  top: 20px;
  font-size: 33px;
  line-height: 34px;
  text-align: center;
  display: flex;
  flex-direction: column;
  right: 20px;
}
.m-admin-ident-control .teamData > div {
  display: block;
}
.m-admin-ident-control .teamData .content {
  order: 100;
  font-weight: 500;
  font-family: var(--base-font-mono-numbers);
  letter-spacing: var(--base-letter-spacing-mono-numbers);
  display: none;
  font-size: 18px;
  justify-content: space-between;
  background: rgba(25, 63, 95, 0.6);
  color: white;
  padding: 3px;
  margin-left: 2px;
  width: calc(100% - 4px);
  line-height: 30px;
  margin-bottom: 1px;
  transition: background 0.5s ease-in-out;
  z-index: 2;
  min-width: 330px;
}
.m-admin-ident-control .teamData .content.changed {
  background: rgba(47, 95, 50, 0.6);
}
.m-admin-ident-control .teamData .content .key,
.m-admin-ident-control .teamData .content .value,
.m-admin-ident-control .teamData .content input {
  display: inline-flex;
  text-align: left;
  padding: 0 5px 0 0;
}
.m-admin-ident-control .teamData .content input {
  display: none;
  width: 120px;
}
.m-admin-ident-control .teamData .content.edit input {
  display: inline-flex;
}
.m-admin-ident-control .teamData .content.edit .value {
  display: none;
}
.m-admin-ident-control .teamData .content .key {
  padding: 0 0 0 5px;
}
.m-admin-ident-control .teamData .content .key:after {
  content: ":";
}
.m-admin-ident-control .teamData .content.EnrollmentID {
  order: 1;
}
.m-admin-ident-control .teamData .content.MainTransponder {
  order: 2;
}
.m-admin-ident-control .teamData .content.DivisionName {
  order: 3;
}
.m-admin-ident-control .teamData .content.RaceClass {
  order: 4;
}
.m-admin-ident-control .teamData .content.TeamNameOverride {
  order: 20;
}
.m-admin-ident-control .teamData .content.EnrollmentID, .m-admin-ident-control .teamData .content.VehicleBrand, .m-admin-ident-control .teamData .content.VehicleType, .m-admin-ident-control .teamData .content.MainTransponder, .m-admin-ident-control .teamData .content.Laps, .m-admin-ident-control .teamData .content.FastLap, .m-admin-ident-control .teamData .content.GridPos, .m-admin-ident-control .teamData .content.State, .m-admin-ident-control .teamData .content.Gap, .m-admin-ident-control .teamData .content.Diff, .m-admin-ident-control .teamData .content.RaceClass, .m-admin-ident-control .teamData .content.DivisionName, .m-admin-ident-control .teamData .content.TeamNameOverride, .m-admin-ident-control .teamData .content.Onboard {
  display: flex;
}
.m-admin-ident-control .teamData .content.Laps .value:after {
  content: " Laps";
  white-space: pre;
}
.m-admin-ident-control .teamData .content.Diff {
  padding-top: 80px;
}
.m-admin-ident-control .teamData .content.Diff .value:before {
  content: "+";
  white-space: pre;
}
.m-admin-ident-control .teamData .content.VehicleBrand .key, .m-admin-ident-control .teamData .content.VehicleType .key {
  display: none;
}
.m-admin-ident-control .teamData .content.VehicleBrand .value, .m-admin-ident-control .teamData .content.VehicleType .value {
  padding: 0 5px;
}
.m-admin-ident-control .teamData .positions .pos,
.m-admin-ident-control .teamData .positions .pic,
.m-admin-ident-control .teamData .positions .pid {
  display: inline-block;
  position: relative;
  background: #787878;
  color: var(--white);
  left: 0;
  margin: 2px;
  padding: 20px 0 8px 0;
  width: 60px;
}
.m-admin-ident-control .teamData .positions .pos:before,
.m-admin-ident-control .teamData .positions .pic:before,
.m-admin-ident-control .teamData .positions .pid:before {
  content: "";
  position: absolute;
  font-size: 12px;
  line-height: 12px;
  top: -1px;
  left: -1px;
  text-align: center;
  width: calc(100% + 2px);
  padding: 2px 0;
}
.m-admin-ident-control .teamData .positions .pos:before {
  content: "POS";
  background: #303030;
}
.m-admin-ident-control .teamData .positions .pic {
  background: #787878;
}
.m-admin-ident-control .teamData .positions .pic:before {
  content: "PIC";
  background: #303030;
}
.m-admin-ident-control .teamData .positions .pid {
  background: #787878;
}
.m-admin-ident-control .teamData .positions .pid:before {
  content: "PID";
  background: #303030;
}

.m-admin-onboard-ident-control {
  vertical-align: top;
  flex-flow: wrap;
  margin-top: 3px;
  width: 100vw !important;
  height: calc(100vh - 100px);
  display: none;
}
.m-admin-onboard-ident-control.is-visible {
  display: inline-flex;
}
.m-admin-onboard-ident-control .vehicleIcon {
  position: fixed;
  right: 30px;
  bottom: 40px;
  transform: translateX(200%);
  transition: transform 0.5s ease;
}
.m-admin-onboard-ident-control .vehicleIcon.animate-in {
  transform: translateX(0);
  transition: transform 0.5s ease 0.2s;
}
.m-admin-onboard-ident-control .vehicleIcon img {
  width: 400px;
}
.m-admin-onboard-ident-control .override {
  position: absolute;
  width: 300px;
  top: 150px;
  right: 300px;
  height: 400px;
}
.m-admin-onboard-ident-control .override input {
  display: block;
  padding: 5px;
  font-size: 15px;
  border: none;
  margin: 5px 0;
  width: 100%;
}
.m-admin-onboard-ident-control button {
  -webkit-user-select: none;
  outline: none;
  display: block;
  position: relative;
  background: #202020;
  color: #fff;
  text-shadow: 1px 1px 7px #000000;
  cursor: pointer;
  text-align: center;
  height: 50px;
  width: 110px;
  border: none;
  border-radius: 3px;
  font-size: 13px;
  overflow: hidden;
  text-indent: -2000px;
  box-shadow: 2px 4px 10px 0px #000;
}
.m-admin-onboard-ident-control button:before {
  content: "";
  position: absolute;
  height: calc(100% - 4px);
  width: calc(100% - 4px);
  transform: translateX(-50%) translateY(-50%);
  left: 50%;
  top: 50%;
  border-radius: 5px;
  background: linear-gradient(to bottom, #525556 10%, #2c2c2c 13%, #0a0e0a 51%, #0a0809 85%, #404040 100%);
}
.m-admin-onboard-ident-control button:after {
  content: attr(data-button-text);
  position: absolute;
  transform: translateX(-50%) translateY(-50%);
  top: 50%;
  left: 50%;
  color: #bcbcbc;
  z-index: 2;
  text-indent: 0;
}
.m-admin-onboard-ident-control button.space {
  opacity: 0;
  width: 40px;
}
.m-admin-onboard-ident-control button.space.fullButton {
  width: 120px;
}
.m-admin-onboard-ident-control button.is-ready {
  background: none;
}
.m-admin-onboard-ident-control button.is-active {
  background: linear-gradient(to bottom, rgb(157, 213, 58) 0%, rgb(161, 213, 79) 45%, rgb(128, 194, 23) 60%, rgb(124, 188, 10) 100%);
}
.m-admin-onboard-ident-control button.has-error {
  background: linear-gradient(to bottom, rgb(248, 80, 50) 0%, rgb(241, 111, 92) 50%, rgb(246, 41, 12) 51%, rgb(240, 47, 23) 71%, rgb(231, 56, 39) 100%);
}
.m-admin-onboard-ident-control button.is-preview:not(.is-active):not(.has-changes) {
  background: #ff0012;
}
.m-admin-onboard-ident-control button.has-changes {
  animation: blinks 1s ease infinite forwards;
  background: linear-gradient(359deg, #f5d000, #fbf604, #fbb404);
  background-size: 600% 600%;
}
.m-admin-onboard-ident-control button.show-shortcut:after {
  position: absolute;
  content: attr(data-shortcut);
  text-transform: uppercase;
  right: 0;
  bottom: 0;
  border: outset 1px RGBA(122, 134, 152, 1);
  border-width: 2px 0px 0px 2px;
  padding: 2px 2px 0 4px;
  border-radius: 10px 0 0 0;
}
.m-admin-onboard-ident-control button {
  margin: 0 10px 10px 0;
}
.m-admin-onboard-ident-control button.space {
  cursor: default;
}
.m-admin-onboard-ident-control .background {
  position: fixed;
  left: 50%;
  top: 50%;
  z-index: 0;
  transform: translateX(-40%) translateY(-50%);
  height: 200vh;
  opacity: 0.05;
}
.m-admin-onboard-ident-control .background img {
  height: inherit;
  filter: blur(10px) grayscale(0.8);
}
.m-admin-onboard-ident-control .row {
  display: inline-flex;
  width: 100%;
  position: relative;
  left: 0;
  margin-top: 0;
}
.m-admin-onboard-ident-control .row.active-rider {
  position: relative;
  margin-left: 4%;
  margin-bottom: 0;
  padding: 10px 30px 5px 30px;
  line-height: 50px;
  color: #cdcdcd;
  z-index: -2;
  background: #161616;
  width: 70vw;
}
.m-admin-onboard-ident-control .row.active-rider > div {
  font-weight: bold;
  display: inline-block;
  margin-right: 30px;
  font-size: 35px;
}
.m-admin-onboard-ident-control .row.active-rider .name,
.m-admin-onboard-ident-control .row.active-rider .number {
  font-size: 40px;
  text-transform: uppercase;
}
.m-admin-onboard-ident-control .row.active-rider .race-class {
  display: none;
  position: absolute;
  font-size: 20px;
  right: 50px;
  margin: 0;
  top: 50%;
  transform: translateY(-50%);
}
.m-admin-onboard-ident-control .row.active-rider .brand {
  position: absolute;
  margin: 0;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  z-index: -1;
  background: #646464;
  padding: 20px;
}
.m-admin-onboard-ident-control .row.active-rider .brand img {
  height: inherit;
}
.m-admin-onboard-ident-control .row .title {
  display: block;
  width: 100%;
  margin-bottom: 20px;
  z-index: -1;
}
.m-admin-onboard-ident-control > .buttons {
  -webkit-user-select: none;
  outline: none;
  display: inline-flex;
  padding: 10px;
  margin: 5px;
  cursor: pointer;
  width: 100px;
  height: 100px;
  border-radius: 23px;
  display: inline-block;
  background: linear-gradient(to top, rgb(226, 226, 226) 0%, rgb(219, 219, 219) 45%, rgb(209, 209, 209) 60%, rgb(254, 254, 254) 100%);
  font-weight: bold;
  position: relative;
  box-shadow: 4px 10px 4px 0 #8a8a8a;
  border: solid 4px rgba(255, 255, 255, 0.5882352941);
}
.m-admin-onboard-ident-control > .buttons:disabled {
  background: grey;
}
.m-admin-onboard-ident-control > .buttons.show-shortcut:after {
  position: absolute;
  content: attr(data-shortcut);
  text-transform: uppercase;
  right: 0;
  bottom: 0;
  border: outset 1px RGBA(122, 134, 152, 1);
  border-width: 2px 0 0 2px;
  padding: 1px 2px 1px 4px;
  border-radius: 10px 0 0 0;
}
.m-admin-onboard-ident-control > .buttons.is-ready {
  background: linear-gradient(to bottom, rgb(248, 80, 50) 0%, rgb(241, 111, 92) 50%, rgb(246, 41, 12) 51%, rgb(240, 47, 23) 71%, rgb(231, 56, 39) 100%);
}
.m-admin-onboard-ident-control > .buttons.is-active {
  background: linear-gradient(to top, rgb(157, 213, 58) 0%, rgb(161, 213, 79) 45%, rgb(128, 194, 23) 60%, rgb(124, 188, 10) 100%);
  top: 5px;
  box-shadow: 1px 4px 4px 0 #656565;
}
.m-admin-onboard-ident-control > .buttons:hover:not(.is-active) {
  background: linear-gradient(to top, rgb(226, 226, 226) 0%, rgb(219, 219, 219) 45%, rgb(209, 209, 209) 60%, rgb(254, 254, 254) 100%);
  top: 1px;
  box-shadow: 3px 7px 4px 0 #7a7a7a;
}
.m-admin-onboard-ident-control .list-controls {
  position: relative;
  display: inline-flex;
  vertical-align: top;
  flex-flow: wrap;
  max-width: 120px;
  margin-top: 15px;
}
.m-admin-onboard-ident-control .list-controls .row {
  display: inline-flex;
  margin: 0;
  flex-flow: column;
  position: relative;
  left: 0;
  width: 120px;
  height: calc(100vh - 300px);
  box-shadow: 2px 0 0 0 #9d9d9d, 4px 0 0 0 #cdcdcd;
}
.m-admin-onboard-ident-control .driverList.row {
  padding-left: 4%;
}
.m-admin-onboard-ident-control .driverList.row .title {
  display: none !important;
}
.m-admin-onboard-ident-control .drivers {
  display: flex;
  position: relative;
  margin-top: 10px;
  min-width: 80vw;
  padding-left: 0px;
}
.m-admin-onboard-ident-control .drivers .driver {
  position: relative;
  cursor: pointer;
  height: 200px;
  margin-right: 20px;
  width: 220px;
}
.m-admin-onboard-ident-control .drivers .driver:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  display: block;
  transition: background 0.1s ease-in-out;
  will-change: background;
  background: rgba(22, 22, 22, 0.6);
  border-radius: 0 13px;
}
.m-admin-onboard-ident-control .drivers .driver .activate,
.m-admin-onboard-ident-control .drivers .driver .delete {
  position: absolute;
  top: 90%;
  left: 50%;
  transform: translateX(-50%) translateY(-150%);
  background: #ff1919;
  color: white;
  border-radius: 5px;
  z-index: -1;
  padding: 5px 10px;
  white-space: pre;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.3s ease-in-out, z-index 0.3s ease-in-out;
}
.m-admin-onboard-ident-control .drivers .driver .activate:hover,
.m-admin-onboard-ident-control .drivers .driver .delete:hover {
  background: #ec8e1e;
  color: #666;
}
.m-admin-onboard-ident-control .drivers .driver .delete {
  transform: translateX(-50%) translateY(-300%);
}
.m-admin-onboard-ident-control .drivers .driver .name {
  padding: 7px 10px;
  display: inline-flex;
  margin-right: 10px;
  cursor: pointer;
  background: #b9b9b9;
  color: #000000;
  text-wrap: none;
  position: relative;
  transform: translateY(-100%);
  width: 100%;
  top: 200px;
  z-index: 2;
  border-radius: 0 13px;
}
.m-admin-onboard-ident-control .drivers .driver .name:before {
  position: absolute;
  background: inherit;
  color: #fff;
  font-size: 12px;
  transform: translateY(-100%);
  border-radius: 5px 5px 0 0;
  left: 0;
  padding: 5px 10px;
  z-index: 3;
}
.m-admin-onboard-ident-control .drivers .driver.is-selected:before {
  background: rgba(186, 34, 37, 0.5);
}
.m-admin-onboard-ident-control .drivers .driver.is-selected .name {
  background: #ba2225 !important;
  color: var(--white) !important;
}
.m-admin-onboard-ident-control .drivers .driver.is-selected .name:before {
  content: "SELECTED";
}
.m-admin-onboard-ident-control .drivers .driver:hover .name {
  background: #005b8d;
  color: var(--white);
}
.m-admin-onboard-ident-control .drivers .driver:hover:not(.is-active) .activate,
.m-admin-onboard-ident-control .drivers .driver:hover:not(.is-active) .delete {
  opacity: 1;
  z-index: 10;
  transition-delay: 2s;
}
.m-admin-onboard-ident-control .drivers .driver.is-active:before {
  background: rgba(0, 91, 141, 0.5);
}
.m-admin-onboard-ident-control .drivers .driver.is-active .name {
  background: #005b8d;
  color: var(--white);
}
.m-admin-onboard-ident-control .drivers .driver.is-active .name:before {
  content: "IN VEHICLE";
}
.m-admin-onboard-ident-control .drivers .driver .profile-image {
  display: block;
  position: absolute;
  transform: translateY(-130px) translateX(-50%);
  top: 10px;
  left: 50%;
  z-index: 1;
  height: 300px;
  width: 180px;
  overflow: hidden;
}
.m-admin-onboard-ident-control .drivers .driver .profile-image img {
  position: absolute;
  bottom: 0;
  width: 180px;
}
.m-admin-onboard-ident-control .drivers .driver > div {
  display: inline-block;
}
.m-admin-onboard-ident-control .teamData {
  position: absolute;
  top: 20px;
  font-size: 33px;
  line-height: 34px;
  text-align: center;
  display: flex;
  flex-direction: column;
  right: 20px;
}
.m-admin-onboard-ident-control .teamData > div {
  display: block;
}
.m-admin-onboard-ident-control .teamData .content {
  order: 100;
  font-weight: 500;
  font-family: var(--base-font-mono-numbers);
  letter-spacing: var(--base-letter-spacing-mono-numbers);
  display: none;
  font-size: 18px;
  justify-content: space-between;
  background: rgba(25, 63, 95, 0.6);
  color: white;
  padding: 3px;
  margin-left: 2px;
  width: calc(100% - 4px);
  line-height: 30px;
  margin-bottom: 1px;
  transition: background 0.5s ease-in-out;
  z-index: 2;
  min-width: 330px;
}
.m-admin-onboard-ident-control .teamData .content.changed {
  background: rgba(47, 95, 50, 0.6);
}
.m-admin-onboard-ident-control .teamData .content .key,
.m-admin-onboard-ident-control .teamData .content .value,
.m-admin-onboard-ident-control .teamData .content input {
  display: inline-flex;
  text-align: left;
  padding: 0 5px 0 0;
}
.m-admin-onboard-ident-control .teamData .content input {
  display: none;
  width: 120px;
}
.m-admin-onboard-ident-control .teamData .content.edit input {
  display: inline-flex;
}
.m-admin-onboard-ident-control .teamData .content.edit .value {
  display: none;
}
.m-admin-onboard-ident-control .teamData .content .key {
  padding: 0 0 0 5px;
}
.m-admin-onboard-ident-control .teamData .content .key:after {
  content: ":";
}
.m-admin-onboard-ident-control .teamData .content.EnrollmentID {
  order: 1;
}
.m-admin-onboard-ident-control .teamData .content.MainTransponder {
  order: 2;
}
.m-admin-onboard-ident-control .teamData .content.DivisionName {
  order: 3;
}
.m-admin-onboard-ident-control .teamData .content.RaceClass {
  order: 4;
}
.m-admin-onboard-ident-control .teamData .content.TeamNameOverride {
  order: 20;
}
.m-admin-onboard-ident-control .teamData .content.EnrollmentID, .m-admin-onboard-ident-control .teamData .content.VehicleBrand, .m-admin-onboard-ident-control .teamData .content.VehicleType, .m-admin-onboard-ident-control .teamData .content.MainTransponder, .m-admin-onboard-ident-control .teamData .content.Laps, .m-admin-onboard-ident-control .teamData .content.FastLap, .m-admin-onboard-ident-control .teamData .content.GridPos, .m-admin-onboard-ident-control .teamData .content.State, .m-admin-onboard-ident-control .teamData .content.Gap, .m-admin-onboard-ident-control .teamData .content.Diff, .m-admin-onboard-ident-control .teamData .content.RaceClass, .m-admin-onboard-ident-control .teamData .content.DivisionName, .m-admin-onboard-ident-control .teamData .content.TeamNameOverride {
  display: flex;
}
.m-admin-onboard-ident-control .teamData .content.Laps .value:after {
  content: " Laps";
  white-space: pre;
}
.m-admin-onboard-ident-control .teamData .content.Diff {
  padding-top: 80px;
}
.m-admin-onboard-ident-control .teamData .content.Diff .value:before {
  content: "+";
  white-space: pre;
}
.m-admin-onboard-ident-control .teamData .content.VehicleBrand .key, .m-admin-onboard-ident-control .teamData .content.VehicleType .key {
  display: none;
}
.m-admin-onboard-ident-control .teamData .content.VehicleBrand .value, .m-admin-onboard-ident-control .teamData .content.VehicleType .value {
  padding: 0 5px;
}
.m-admin-onboard-ident-control .teamData .positions .pos,
.m-admin-onboard-ident-control .teamData .positions .pic,
.m-admin-onboard-ident-control .teamData .positions .pid {
  display: inline-block;
  position: relative;
  background: #787878;
  color: var(--white);
  left: 0;
  margin: 2px;
  padding: 20px 0 8px 0;
  width: 60px;
}
.m-admin-onboard-ident-control .teamData .positions .pos:before,
.m-admin-onboard-ident-control .teamData .positions .pic:before,
.m-admin-onboard-ident-control .teamData .positions .pid:before {
  content: "";
  position: absolute;
  font-size: 12px;
  line-height: 12px;
  top: -1px;
  left: -1px;
  text-align: center;
  width: calc(100% + 2px);
  padding: 2px 0;
}
.m-admin-onboard-ident-control .teamData .positions .pos:before {
  content: "POS";
  background: #303030;
}
.m-admin-onboard-ident-control .teamData .positions .pic {
  background: #787878;
}
.m-admin-onboard-ident-control .teamData .positions .pic:before {
  content: "PIC";
  background: #303030;
}
.m-admin-onboard-ident-control .teamData .positions .pid {
  background: #787878;
}
.m-admin-onboard-ident-control .teamData .positions .pid:before {
  content: "PID";
  background: #303030;
}

body[group-name^=PCCME] button.store {
  display: inline-block;
}

.m-admin-team-control {
  vertical-align: top;
  flex-flow: wrap;
  margin-top: 0 !important;
  padding: 30px;
  width: 100vw !important;
  height: calc(100vh - 100px);
  display: none;
}
.m-admin-team-control.is-visible {
  display: inline-flex;
}
.m-admin-team-control .area {
  margin: 5px 5px;
}
.m-admin-team-control .area .title {
  font-weight: bold;
  font-size: 20px;
  color: white;
  padding: 0 5px;
}
.m-admin-team-control .area .group {
  display: inline-block;
  margin: 5px 5px;
}
.m-admin-team-control .area .group button:first-child {
  margin-left: 0;
  -webkit-border-bottom-left-radius: 5px;
  -webkit-border-top-left-radius: 5px;
}
.m-admin-team-control .area .group button:last-child {
  -webkit-border-bottom-right-radius: 5px;
  -webkit-border-top-right-radius: 5px;
}
.m-admin-team-control .area.driverIdent {
  position: absolute;
  top: 400px;
  right: 200px;
  width: 374px;
  text-align: right;
}
.m-admin-team-control .area.runningClock {
  position: absolute;
  top: 260px;
  right: 200px;
  width: 374px;
  text-align: right;
}
.m-admin-team-control .area.battleFor {
  position: absolute;
  top: 110px;
  right: 200px;
  width: 374px;
  text-align: right;
}
.m-admin-team-control button.controlSmall {
  position: relative;
  font-size: 12px;
  padding-top: 5px;
  color: #adbdbe;
  border: unset;
  margin-left: 1px;
  width: 90px;
  height: 50px;
  text-align: center;
  overflow: hidden;
  background: #2c3e50;
  border-bottom: 10px solid #34495e;
  vertical-align: top;
}
.m-admin-team-control button.controlSmall.shortcut {
  background: #343336;
  border-bottom: 10px solid #464548;
  height: 70px;
}
.m-admin-team-control button.controlSmall.is-active {
  border-bottom: 10px solid green;
}
.m-admin-team-control button.controlSmall .store {
  display: none;
}
.m-admin-team-control button.space {
  height: unset !important;
  cursor: default;
}
.m-admin-team-control .row {
  display: inline-flex;
  width: 100%;
  position: relative;
  left: 0;
  margin: 0;
}
.m-admin-team-control .row.active-rider {
  position: relative;
  margin-bottom: 0;
  padding: 10px 0;
  color: #cdcdcd;
  z-index: -2;
}
.m-admin-team-control .row.active-rider > div {
  display: inline-block;
  margin-right: 30px;
  font-weight: bold;
  font-size: 35px;
}
.m-admin-team-control .row.active-rider .positions {
  position: absolute;
  transform: translate3d(50vw, -5px, 0) scale3d(1.7, 1.7, 1.7);
  font-size: 33px;
  line-height: 34px;
  text-align: center;
}
.m-admin-team-control .row.active-rider .positions .pos,
.m-admin-team-control .row.active-rider .positions .pic,
.m-admin-team-control .row.active-rider .positions .pid {
  display: inline-block;
  position: relative;
  background: #787878;
  color: var(--white);
  left: 0;
  margin: 0;
  padding: 20px 0 8px 0;
  width: 60px;
}
.m-admin-team-control .row.active-rider .positions .pos:before,
.m-admin-team-control .row.active-rider .positions .pic:before,
.m-admin-team-control .row.active-rider .positions .pid:before {
  content: "";
  position: absolute;
  font-size: 12px;
  line-height: 12px;
  top: 0;
  left: 0;
  text-align: center;
  width: 100%;
  padding: 2px 0;
}
.m-admin-team-control .row.active-rider .positions .pos:before {
  content: "POS";
  background: #303030;
}
.m-admin-team-control .row.active-rider .positions .pic {
  background: #787878;
}
.m-admin-team-control .row.active-rider .positions .pic:before {
  content: "PIC";
  background: #303030;
}
.m-admin-team-control .row.active-rider .positions .pid {
  background: #787878;
}
.m-admin-team-control .row.active-rider .positions .pid:before {
  content: "PID";
  background: #303030;
}
.m-admin-team-control .row.active-rider .name,
.m-admin-team-control .row.active-rider .number {
  font-size: 40px;
  text-transform: uppercase;
}
.m-admin-team-control .row.active-rider .race-class {
  position: absolute;
  font-size: 20px;
  right: 50px;
  margin: 0;
  padding: 15px 20px;
  border-radius: 5px;
  top: -2px;
}
.m-admin-team-control .row .title {
  display: block;
  width: 100%;
  margin-bottom: 20px;
  z-index: -1;
}
.m-admin-team-control .drivers {
  display: flex;
  position: relative;
  margin-top: 100px;
  color: white;
}
.m-admin-team-control .drivers .driver {
  position: relative;
  background: black;
  margin: 2px;
}
.m-admin-team-control .drivers .driver .name {
  padding: 10px;
}
.m-admin-team-control .drivers .driver .profile-image {
  text-align: center;
  min-height: 200px;
}
.m-admin-team-control .drivers .driver .profile-image img {
  max-height: 200px;
}

.m-admin-heat-control {
  color: var(--white);
}
.m-admin-heat-control select,
.m-admin-heat-control input {
  font-size: 19px;
  margin: 5px 15px 15px 5px;
  background: var(--white) !important;
  color: var(--admin-bg) !important;
}
.m-admin-heat-control select.heatName,
.m-admin-heat-control input.heatName {
  width: 600px;
}
.m-admin-heat-control select.timeLength, .m-admin-heat-control select.lapsLength, .m-admin-heat-control select.extraLaps,
.m-admin-heat-control input.timeLength,
.m-admin-heat-control input.lapsLength,
.m-admin-heat-control input.extraLaps {
  width: 100px;
}
.m-admin-heat-control select.startTime, .m-admin-heat-control select.timeStarted,
.m-admin-heat-control input.startTime,
.m-admin-heat-control input.timeStarted {
  width: 250px;
}

.m-admin-runningclock-control {
  margin-top: 3px;
  display: none;
}
.m-admin-runningclock-control .filter {
  font-weight: bold;
  color: #cac7b9;
  margin-left: 65px;
}
.m-admin-runningclock-control .holder {
  vertical-align: top;
  flex-flow: wrap;
  overflow-y: scroll;
  margin-top: 40px;
  padding-left: 20px;
  width: calc(100vw - 170px);
  height: calc(100vh - 300px);
  display: flex;
  align-content: flex-start;
}
.m-admin-runningclock-control .holder.show-race-class, .m-admin-runningclock-control .holder.show-division {
  padding-top: 30px;
}
.m-admin-runningclock-control .holder.show-race-class .m-running-clock.is-visible:after {
  content: attr(data-pic);
}
.m-admin-runningclock-control .holder.show-division .m-running-clock.is-visible:after {
  content: attr(data-pid);
}
.m-admin-runningclock-control.is-visible {
  display: block !important;
}
.m-admin-runningclock-control .m-running-clock {
  margin: 0 10px 40px 20px;
  cursor: pointer;
  transform: scale3d(0.8, 0.8, 0.8) skew(var(--skew));
  order: 500;
  opacity: 1;
  background: #0a0e0a;
  overflow: unset;
}
.m-admin-runningclock-control .m-running-clock:after {
  content: "";
  position: absolute;
  left: 50%;
  top: 56%;
  transform: translateX(-50%) translateY(-50%);
  z-index: 10;
  font-size: 30px;
  transition: 0.2s;
}
.m-admin-runningclock-control .m-running-clock.is-visible {
  clip-path: inset(-25px -4px -25px -65px);
}
.m-admin-runningclock-control .m-running-clock.is-visible:after {
  font-weight: 500;
  font-family: var(--base-font-mono-numbers);
  letter-spacing: var(--base-letter-spacing-mono-numbers);
  content: attr(data-pos);
  left: -4px;
  top: 0;
  transform: translateX(-100%) translateY(0);
  font-size: 28px;
  letter-spacing: -0.5;
  background: #143a62;
  width: 60px;
  line-height: 37px;
  text-align: center;
  text-shadow: 1px 1px 4px #0a0e0a;
}
.m-admin-runningclock-control .m-running-clock.is-selected {
  box-shadow: 0 0 0 4px #3dcd31;
}
.m-admin-runningclock-control .m-running-clock.is-active {
  box-shadow: 0 0 0 4px #bb0000;
}

.m-admin-logs-control .output {
  font-family: "Lato";
  width: 90vw;
  height: 60vh;
  margin: 0 auto;
  border: solid 1px #363636;
  background: var(--admin-bg);
  white-space: pre;
  overflow: auto;
  padding: 10px;
  color: #fff;
}
.m-admin-logs-control .output span {
  display: inline-block;
}
.m-admin-logs-control .output span.timestamp {
  margin-right: 10px;
}
.m-admin-logs-control .output span.key {
  color: #bbbbbb;
  font-weight: 300;
}
.m-admin-logs-control .output span.key:after {
  content: ": ";
}
.m-admin-logs-control .output span.value {
  margin-right: 5px;
  color: #fff;
}
.m-admin-logs-control .output span.value:after {
  color: #6b6b6b;
  content: '", ';
}
.m-admin-logs-control .output span.value:before {
  color: #6b6b6b;
  content: '"';
}

.m-admin-prizeoverlay-control .raceDivClasses {
  display: inline-flex;
}
.m-admin-prizeoverlay-control .positions {
  display: flex;
  position: relative;
  width: 100%;
}
.m-admin-prizeoverlay-control .positions .position {
  position: relative;
  display: inline-block;
  height: 300px;
  width: 500px;
  margin-right: 50px;
}
.m-admin-prizeoverlay-control .positions .position .text {
  font-weight: bold;
  font-size: 40px;
  color: #fff;
  position: absolute;
  top: -20px;
  right: 20px;
  transform: translateY(-100%);
}
.m-admin-prizeoverlay-control .positions .position .holder {
  position: relative;
  height: 100%;
  width: 100%;
  overflow-y: auto;
  background: var(--white);
}
.m-admin-prizeoverlay-control .positions .position .holder .team {
  display: flex;
  position: relative;
  cursor: pointer;
}
.m-admin-prizeoverlay-control .positions .position .holder .team.is-selected:before {
  content: "";
  position: absolute;
  background: #fa0000;
  opacity: 1;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}
.m-admin-prizeoverlay-control .positions .position .holder .team > div {
  display: inline-block;
  line-height: 25px;
  padding: 0 5px;
  opacity: 0.9;
}
.m-admin-prizeoverlay-control .positions .position .holder .team .teamName {
  flex-grow: 1;
}
.m-admin-prizeoverlay-control .positions .position .holder .team .startNumber {
  font-weight: 500;
  font-family: var(--base-font-mono-numbers);
  letter-spacing: var(--base-letter-spacing-mono-numbers);
  font-style: italic;
  background: #1a1a1a;
  width: 40px;
  text-align: center;
  color: #fff;
}
.m-admin-prizeoverlay-control .positions .position .holder .team .pos,
.m-admin-prizeoverlay-control .positions .position .holder .team .pic,
.m-admin-prizeoverlay-control .positions .position .holder .team .pid {
  background: #787878;
  color: #fff !important;
  width: 30px;
  text-align: center;
}
.m-admin-prizeoverlay-control .positions .position .holder .team .pic {
  background: #787878;
}
.m-admin-prizeoverlay-control .positions .position .holder .team .pid {
  background: #787878;
}

.m-admin-drifting-battle-control .raceDivClasses {
  display: inline-flex;
}
.m-admin-drifting-battle-control .positions {
  display: flex;
  position: relative;
  width: 100%;
}
.m-admin-drifting-battle-control .positions .position {
  position: relative;
  display: inline-block;
  height: 300px;
  width: 500px;
  margin-right: 50px;
}
.m-admin-drifting-battle-control .positions .position .text {
  font-weight: bold;
  font-size: 40px;
  color: #fff;
  position: absolute;
  top: -20px;
  right: 20px;
  transform: translateY(-100%);
}
.m-admin-drifting-battle-control .positions .position .holder {
  position: relative;
  height: 100%;
  width: 100%;
  overflow-y: auto;
  background: var(--white);
}
.m-admin-drifting-battle-control .positions .position .holder .team {
  display: flex;
  position: relative;
  cursor: pointer;
}
.m-admin-drifting-battle-control .positions .position .holder .team.is-selected:before {
  content: "";
  position: absolute;
  background: #fa0000;
  opacity: 1;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}
.m-admin-drifting-battle-control .positions .position .holder .team > div {
  display: inline-block;
  line-height: 25px;
  padding: 0 5px;
  opacity: 0.9;
}
.m-admin-drifting-battle-control .positions .position .holder .team .teamName {
  flex-grow: 1;
}
.m-admin-drifting-battle-control .positions .position .holder .team .startNumber {
  font-weight: 500;
  font-family: var(--base-font-mono-numbers);
  letter-spacing: var(--base-letter-spacing-mono-numbers);
  font-style: italic;
  background: #1a1a1a;
  width: 40px;
  text-align: center;
  color: #fff;
}
.m-admin-drifting-battle-control .positions .position .holder .team .pos,
.m-admin-drifting-battle-control .positions .position .holder .team .pic,
.m-admin-drifting-battle-control .positions .position .holder .team .pid {
  background: #787878;
  color: #fff !important;
  width: 30px;
  text-align: center;
}
.m-admin-drifting-battle-control .positions .position .holder .team .pic {
  background: #787878;
}
.m-admin-drifting-battle-control .positions .position .holder .team .pid {
  background: #787878;
}

.m-admin-music-control button {
  -webkit-user-select: none;
  outline: none;
  display: block;
  position: relative;
  background: #202020;
  color: #fff;
  text-shadow: 1px 1px 7px #000000;
  cursor: pointer;
  text-align: center;
  height: 50px;
  width: 110px;
  border: none;
  border-radius: 3px;
  font-size: 13px;
  overflow: hidden;
  text-indent: -2000px;
  box-shadow: 2px 4px 10px 0px #000;
}
.m-admin-music-control button:before {
  content: "";
  position: absolute;
  height: calc(100% - 4px);
  width: calc(100% - 4px);
  transform: translateX(-50%) translateY(-50%);
  left: 50%;
  top: 50%;
  border-radius: 5px;
  background: linear-gradient(to bottom, #525556 10%, #2c2c2c 13%, #0a0e0a 51%, #0a0809 85%, #404040 100%);
}
.m-admin-music-control button:after {
  content: attr(data-button-text);
  position: absolute;
  transform: translateX(-50%) translateY(-50%);
  top: 50%;
  left: 50%;
  color: #bcbcbc;
  z-index: 2;
  text-indent: 0;
}
.m-admin-music-control button.space {
  opacity: 0;
  width: 40px;
}
.m-admin-music-control button.space.fullButton {
  width: 120px;
}
.m-admin-music-control button.is-ready {
  background: none;
}
.m-admin-music-control button.is-active {
  background: linear-gradient(to bottom, rgb(157, 213, 58) 0%, rgb(161, 213, 79) 45%, rgb(128, 194, 23) 60%, rgb(124, 188, 10) 100%);
}
.m-admin-music-control button.has-error {
  background: linear-gradient(to bottom, rgb(248, 80, 50) 0%, rgb(241, 111, 92) 50%, rgb(246, 41, 12) 51%, rgb(240, 47, 23) 71%, rgb(231, 56, 39) 100%);
}
.m-admin-music-control button.is-preview:not(.is-active):not(.has-changes) {
  background: #ff0012;
}
.m-admin-music-control button.has-changes {
  animation: blinks 1s ease infinite forwards;
  background: linear-gradient(359deg, #f5d000, #fbf604, #fbb404);
  background-size: 600% 600%;
}
.m-admin-music-control button.show-shortcut:after {
  position: absolute;
  content: attr(data-shortcut);
  text-transform: uppercase;
  right: 0;
  bottom: 0;
  border: outset 1px RGBA(122, 134, 152, 1);
  border-width: 2px 0px 0px 2px;
  padding: 2px 2px 0 4px;
  border-radius: 10px 0 0 0;
}
.m-admin-music-control button {
  margin: 0 10px 10px 0;
}
.m-admin-music-control button.space {
  cursor: default;
}
.m-admin-music-control .message-list {
  width: calc(100% - 40px);
  margin: 0 20px 10% 0;
  padding: 10px;
  background: var(--white);
  list-style: none;
  height: 37vh;
  overflow-y: auto;
  display: flex;
  flex-direction: column-reverse;
}
.m-admin-music-control .message-list .message {
  border-bottom: solid 1px #303030;
  margin-bottom: 10px;
  display: block;
  padding: 10px;
  cursor: pointer;
  position: relative;
}
.m-admin-music-control .message-list .message .topic {
  background: #303030;
  color: var(--white);
  font-size: 12px;
  padding: 3px;
  display: inline-block;
  margin-right: 10px;
  border-radius: 3px;
  margin-bottom: 5px;
}
.m-admin-music-control .message-list .message .start-time,
.m-admin-music-control .message-list .message .score {
  margin-bottom: 5px;
  font-size: 12px;
  display: inline-block;
}
.m-admin-music-control .message-list .message .score {
  position: absolute;
  right: 10px;
  text-align: right;
  padding: 3px 5px;
  color: var(--white);
  background: red;
  border-radius: 3px;
}
.m-admin-music-control .message-list .message .score.green {
  background: green;
}
.m-admin-music-control .message-list .message .score.orange {
  background: orange;
}
.m-admin-music-control .message-list .message.is-active {
  background: #c12a17;
}
.m-admin-music-control .message-list .message.is-active .start-time {
  color: #fff;
}
.m-admin-music-control .message-list .message .line1,
.m-admin-music-control .message-list .message .line2 {
  padding: 10px;
  background: rgba(246, 246, 246, 0.9);
  display: block;
}
.m-admin-music-control .message-list .message .line1 span,
.m-admin-music-control .message-list .message .line2 span {
  display: inline-block;
  vertical-align: baseline;
  padding: 3px 3px;
  margin: 0 3px;
  background: #303030;
  color: var(--white);
  border-radius: 3px;
}
.m-admin-music-control .message-list .message .line1 {
  margin-bottom: 5px;
}
.m-admin-music-control .custom {
  width: 100%;
}
.m-admin-music-control .custom input {
  font-size: 20px;
  line-height: 38px;
  font-family: var(--base-font-family);
  font-weight: normal;
  height: 47px;
  background: #303030;
  color: var(--white);
  display: inline-block;
  padding: 0 10px;
  border: none;
  text-transform: uppercase;
  text-align: center;
  width: 30%;
}
.m-admin-music-control .custom .leftSide {
  background: var(--white);
  color: #303030;
}
.m-admin-music-control .custom .a-button {
  display: inline-block;
  margin-left: 10px;
}

.m-admin-racedirector-control button {
  -webkit-user-select: none;
  outline: none;
  display: block;
  position: relative;
  background: #202020;
  color: #fff;
  text-shadow: 1px 1px 7px #000000;
  cursor: pointer;
  text-align: center;
  height: 50px;
  width: 110px;
  border: none;
  border-radius: 3px;
  font-size: 13px;
  overflow: hidden;
  text-indent: -2000px;
  box-shadow: 2px 4px 10px 0px #000;
}
.m-admin-racedirector-control button:before {
  content: "";
  position: absolute;
  height: calc(100% - 4px);
  width: calc(100% - 4px);
  transform: translateX(-50%) translateY(-50%);
  left: 50%;
  top: 50%;
  border-radius: 5px;
  background: linear-gradient(to bottom, #525556 10%, #2c2c2c 13%, #0a0e0a 51%, #0a0809 85%, #404040 100%);
}
.m-admin-racedirector-control button:after {
  content: attr(data-button-text);
  position: absolute;
  transform: translateX(-50%) translateY(-50%);
  top: 50%;
  left: 50%;
  color: #bcbcbc;
  z-index: 2;
  text-indent: 0;
}
.m-admin-racedirector-control button.space {
  opacity: 0;
  width: 40px;
}
.m-admin-racedirector-control button.space.fullButton {
  width: 120px;
}
.m-admin-racedirector-control button.is-ready {
  background: none;
}
.m-admin-racedirector-control button.is-active {
  background: linear-gradient(to bottom, rgb(157, 213, 58) 0%, rgb(161, 213, 79) 45%, rgb(128, 194, 23) 60%, rgb(124, 188, 10) 100%);
}
.m-admin-racedirector-control button.has-error {
  background: linear-gradient(to bottom, rgb(248, 80, 50) 0%, rgb(241, 111, 92) 50%, rgb(246, 41, 12) 51%, rgb(240, 47, 23) 71%, rgb(231, 56, 39) 100%);
}
.m-admin-racedirector-control button.is-preview:not(.is-active):not(.has-changes) {
  background: #ff0012;
}
.m-admin-racedirector-control button.has-changes {
  animation: blinks 1s ease infinite forwards;
  background: linear-gradient(359deg, #f5d000, #fbf604, #fbb404);
  background-size: 600% 600%;
}
.m-admin-racedirector-control button.show-shortcut:after {
  position: absolute;
  content: attr(data-shortcut);
  text-transform: uppercase;
  right: 0;
  bottom: 0;
  border: outset 1px RGBA(122, 134, 152, 1);
  border-width: 2px 0px 0px 2px;
  padding: 2px 2px 0 4px;
  border-radius: 10px 0 0 0;
}
.m-admin-racedirector-control button {
  margin: 0 10px 10px 0;
}
.m-admin-racedirector-control button.space {
  cursor: default;
}
.m-admin-racedirector-control .filter {
  position: absolute;
  right: 20px;
  transform: translateY(-100%) translateX(-50%);
}
.m-admin-racedirector-control .filter input {
  font-size: 14px;
  padding: 10px 20px;
  border: solid 1px var(--white);
}
.m-admin-racedirector-control .message-list {
  width: calc(100% - 40px);
  margin: 0 20px 10% 0;
  padding: 20px;
  background: var(--white);
  list-style: none;
  height: 54vh;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}
.m-admin-racedirector-control .message-list .message {
  border-bottom: solid 1px #303030;
  margin-bottom: 10px;
  display: block;
  padding: 10px;
  cursor: pointer;
  background: #7fa9da;
}
.m-admin-racedirector-control .message-list .message.YELLOW {
  background: var(--status-yellow);
  color: var(--black);
}
.m-admin-racedirector-control .message-list .message.RAIN {
  background: #126fed;
}
.m-admin-racedirector-control .message-list .message.PENALTY {
  background: var(--black);
  border: dashed 2px #bb0000;
  color: var(--white);
}
.m-admin-racedirector-control .message-list .message.PENALTY .line1,
.m-admin-racedirector-control .message-list .message.PENALTY .line2 {
  background: rgba(58, 58, 58, 0.9);
}
.m-admin-racedirector-control .message-list .message .topic {
  background: #303030;
  color: var(--white);
  font-size: 12px;
  padding: 3px;
  display: inline-block;
  margin-right: 10px;
  border-radius: 3px;
  margin-bottom: 5px;
}
.m-admin-racedirector-control .message-list .message .start-time {
  margin-bottom: 5px;
  font-size: 12px;
  display: inline-block;
}
.m-admin-racedirector-control .message-list .message.is-active {
  background: #c12a17;
}
.m-admin-racedirector-control .message-list .message.is-active .start-time {
  color: #fff;
}
.m-admin-racedirector-control .message-list .message .line1,
.m-admin-racedirector-control .message-list .message .line2 {
  padding: 10px;
  background: rgba(246, 246, 246, 0.9);
  display: block;
}
.m-admin-racedirector-control .message-list .message .line1 span,
.m-admin-racedirector-control .message-list .message .line2 span {
  display: inline-block;
  vertical-align: baseline;
  padding: 3px 3px;
  margin: 0 3px;
  background: #303030;
  color: var(--white);
  border-radius: 3px;
}
.m-admin-racedirector-control .message-list .message .line1 {
  margin-bottom: 5px;
}
.m-admin-racedirector-control .message-list .message .entries {
  display: inline-block;
}
.m-admin-racedirector-control .message-list .message .entries .entry {
  display: flex;
}
.m-admin-racedirector-control .message-list .message .entries .entry div {
  width: 50px;
  display: inline-block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  margin-right: 20px;
}
.m-admin-racedirector-control .message-list .message .entries .entry .team-nationality {
  width: 70px;
  border-radius: 5px 0 5px 0;
  overflow: hidden;
}
.m-admin-racedirector-control .message-list .message .entries .entry .team-nationality img {
  height: 28px;
}
.m-admin-racedirector-control .message-list .message .entries .entry .car {
  width: 300px;
}
.m-admin-racedirector-control .message-list .message .entries .entry .entry-name {
  width: 400px;
}
.m-admin-racedirector-control .message-list .message .entries .entry .start-no {
  min-width: 50px;
}
.m-admin-racedirector-control .message-list .message .entries .entry .start-no:before {
  content: "#";
}
.m-admin-racedirector-control .custom {
  width: 70%;
}
.m-admin-racedirector-control .custom input {
  font-size: 20px;
  line-height: 38px;
  font-family: var(--base-font-family);
  font-weight: normal;
  height: 47px;
  background: #303030;
  color: var(--white);
  display: inline-block;
  padding: 0 10px;
  border: none;
  text-transform: uppercase;
  z-index: 10;
}
.m-admin-racedirector-control .custom .topic {
  width: 150px;
  background: var(--white);
  color: #303030;
  text-align: center;
}
.m-admin-racedirector-control .custom .text {
  width: calc(100% - 370px);
}
.m-admin-racedirector-control .custom .a-button {
  display: inline-block;
  margin-left: 10px;
}

.m-admin-penalties-control .race-wrapper {
  align-items: center;
}
.m-admin-penalties-control .race-select {
  font-size: 20px;
  line-height: 38px;
  font-family: var(--base-font-family);
  font-weight: normal;
  height: 50px;
  min-width: 220px;
  padding: 0 12px;
  margin: 0 10px 10px 0;
  background: linear-gradient(to bottom, #525556 10%, #2c2c2c 13%, #0a0e0a 51%, #0a0809 85%, #404040 100%);
  color: #bcbcbc;
  border: none;
  border-radius: 5px;
  text-transform: uppercase;
  font-size: 13px;
  cursor: pointer;
  box-shadow: 2px 4px 10px 0px #000;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23bcbcbc' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 32px;
}
.m-admin-penalties-control button {
  -webkit-user-select: none;
  outline: none;
  display: block;
  position: relative;
  background: #202020;
  color: #fff;
  text-shadow: 1px 1px 7px #000000;
  cursor: pointer;
  text-align: center;
  height: 50px;
  width: 110px;
  border: none;
  border-radius: 3px;
  font-size: 13px;
  overflow: hidden;
  text-indent: -2000px;
  box-shadow: 2px 4px 10px 0px #000;
}
.m-admin-penalties-control button:before {
  content: "";
  position: absolute;
  height: calc(100% - 4px);
  width: calc(100% - 4px);
  transform: translateX(-50%) translateY(-50%);
  left: 50%;
  top: 50%;
  border-radius: 5px;
  background: linear-gradient(to bottom, #525556 10%, #2c2c2c 13%, #0a0e0a 51%, #0a0809 85%, #404040 100%);
}
.m-admin-penalties-control button:after {
  content: attr(data-button-text);
  position: absolute;
  transform: translateX(-50%) translateY(-50%);
  top: 50%;
  left: 50%;
  color: #bcbcbc;
  z-index: 2;
  text-indent: 0;
}
.m-admin-penalties-control button.space {
  opacity: 0;
  width: 40px;
}
.m-admin-penalties-control button.space.fullButton {
  width: 120px;
}
.m-admin-penalties-control button.is-ready {
  background: none;
}
.m-admin-penalties-control button.is-active {
  background: linear-gradient(to bottom, rgb(157, 213, 58) 0%, rgb(161, 213, 79) 45%, rgb(128, 194, 23) 60%, rgb(124, 188, 10) 100%);
}
.m-admin-penalties-control button.has-error {
  background: linear-gradient(to bottom, rgb(248, 80, 50) 0%, rgb(241, 111, 92) 50%, rgb(246, 41, 12) 51%, rgb(240, 47, 23) 71%, rgb(231, 56, 39) 100%);
}
.m-admin-penalties-control button.is-preview:not(.is-active):not(.has-changes) {
  background: #ff0012;
}
.m-admin-penalties-control button.has-changes {
  animation: blinks 1s ease infinite forwards;
  background: linear-gradient(359deg, #f5d000, #fbf604, #fbb404);
  background-size: 600% 600%;
}
.m-admin-penalties-control button.show-shortcut:after {
  position: absolute;
  content: attr(data-shortcut);
  text-transform: uppercase;
  right: 0;
  bottom: 0;
  border: outset 1px RGBA(122, 134, 152, 1);
  border-width: 2px 0px 0px 2px;
  padding: 2px 2px 0 4px;
  border-radius: 10px 0 0 0;
}
.m-admin-penalties-control button {
  margin: 0 10px 10px 0;
}
.m-admin-penalties-control button.space {
  cursor: default;
}
.m-admin-penalties-control .filter {
  position: absolute;
  right: 20px;
  transform: translateY(-100%) translateX(-50%);
}
.m-admin-penalties-control .filter input {
  font-size: 14px;
  padding: 10px 20px;
  border: solid 1px var(--white);
}
.m-admin-penalties-control .message-list {
  width: calc(100% - 40px);
  margin: 0 20px 10% 0;
  padding: 20px;
  background: var(--white);
  list-style: none;
  height: 54vh;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}
.m-admin-penalties-control .message-list .message {
  border-bottom: solid 1px #303030;
  margin-bottom: 10px;
  display: block;
  padding: 10px;
  cursor: pointer;
}
.m-admin-penalties-control .message-list .message.YELLOW {
  background: var(--status-yellow);
  color: var(--black);
}
.m-admin-penalties-control .message-list .message.RAIN {
  background: #126fed;
}
.m-admin-penalties-control .message-list .message.PENALTY {
  background: var(--black);
  border: dashed 2px #bb0000;
  color: var(--white);
}
.m-admin-penalties-control .message-list .message.PENALTY .line1,
.m-admin-penalties-control .message-list .message.PENALTY .line2 {
  background: rgba(58, 58, 58, 0.9);
}
.m-admin-penalties-control .message-list .message .topic {
  background: #303030;
  color: var(--white);
  font-size: 12px;
  padding: 3px;
  display: inline-block;
  margin-right: 10px;
  border-radius: 3px;
  margin-bottom: 5px;
}
.m-admin-penalties-control .message-list .message .start-time {
  margin-bottom: 5px;
  font-size: 12px;
  display: inline-block;
}
.m-admin-penalties-control .message-list .message.is-active {
  background: #c12a17;
}
.m-admin-penalties-control .message-list .message.is-active .start-time {
  color: #fff;
}
.m-admin-penalties-control .message-list .message .line1,
.m-admin-penalties-control .message-list .message .line2 {
  padding: 10px;
  background: rgba(246, 246, 246, 0.9);
  display: block;
}
.m-admin-penalties-control .message-list .message .line1 span,
.m-admin-penalties-control .message-list .message .line2 span {
  display: inline-block;
  vertical-align: baseline;
  padding: 3px 3px;
  margin: 0 3px;
  background: #303030;
  color: var(--white);
  border-radius: 3px;
}
.m-admin-penalties-control .message-list .message .line1 {
  margin-bottom: 5px;
}
.m-admin-penalties-control .message-list .message .entries {
  display: inline-block;
}
.m-admin-penalties-control .message-list .message .entries .entry {
  display: flex;
}
.m-admin-penalties-control .message-list .message .entries .entry div {
  width: 50px;
  display: inline-block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  margin-right: 20px;
}
.m-admin-penalties-control .message-list .message .entries .entry .team-nationality {
  width: 70px;
  border-radius: 5px 0 5px 0;
  overflow: hidden;
}
.m-admin-penalties-control .message-list .message .entries .entry .team-nationality img {
  height: 28px;
}
.m-admin-penalties-control .message-list .message .entries .entry .car {
  width: 300px;
}
.m-admin-penalties-control .message-list .message .entries .entry .entry-name {
  width: 400px;
}
.m-admin-penalties-control .message-list .message .entries .entry .start-no {
  min-width: 50px;
}
.m-admin-penalties-control .message-list .message .entries .entry .start-no:before {
  content: "#";
}
.m-admin-penalties-control .custom {
  width: 70%;
}
.m-admin-penalties-control .custom input {
  font-size: 20px;
  line-height: 38px;
  font-family: var(--base-font-family);
  font-weight: normal;
  height: 47px;
  background: #303030;
  color: var(--white);
  display: inline-block;
  padding: 0 10px;
  border: none;
  text-transform: uppercase;
  z-index: 10;
}
.m-admin-penalties-control .custom .topic {
  width: 150px;
  background: var(--white);
  color: #303030;
  text-align: center;
}
.m-admin-penalties-control .custom .text {
  width: calc(100% - 370px);
}
.m-admin-penalties-control .custom .a-button {
  display: inline-block;
  margin-left: 10px;
}

.m-admin-ticker-control button {
  -webkit-user-select: none;
  outline: none;
  display: block;
  position: relative;
  background: #202020;
  color: #fff;
  text-shadow: 1px 1px 7px #000000;
  cursor: pointer;
  text-align: center;
  height: 50px;
  width: 110px;
  border: none;
  border-radius: 3px;
  font-size: 13px;
  overflow: hidden;
  text-indent: -2000px;
  box-shadow: 2px 4px 10px 0px #000;
}
.m-admin-ticker-control button:before {
  content: "";
  position: absolute;
  height: calc(100% - 4px);
  width: calc(100% - 4px);
  transform: translateX(-50%) translateY(-50%);
  left: 50%;
  top: 50%;
  border-radius: 5px;
  background: linear-gradient(to bottom, #525556 10%, #2c2c2c 13%, #0a0e0a 51%, #0a0809 85%, #404040 100%);
}
.m-admin-ticker-control button:after {
  content: attr(data-button-text);
  position: absolute;
  transform: translateX(-50%) translateY(-50%);
  top: 50%;
  left: 50%;
  color: #bcbcbc;
  z-index: 2;
  text-indent: 0;
}
.m-admin-ticker-control button.space {
  opacity: 0;
  width: 40px;
}
.m-admin-ticker-control button.space.fullButton {
  width: 120px;
}
.m-admin-ticker-control button.is-ready {
  background: none;
}
.m-admin-ticker-control button.is-active {
  background: linear-gradient(to bottom, rgb(157, 213, 58) 0%, rgb(161, 213, 79) 45%, rgb(128, 194, 23) 60%, rgb(124, 188, 10) 100%);
}
.m-admin-ticker-control button.has-error {
  background: linear-gradient(to bottom, rgb(248, 80, 50) 0%, rgb(241, 111, 92) 50%, rgb(246, 41, 12) 51%, rgb(240, 47, 23) 71%, rgb(231, 56, 39) 100%);
}
.m-admin-ticker-control button.is-preview:not(.is-active):not(.has-changes) {
  background: #ff0012;
}
.m-admin-ticker-control button.has-changes {
  animation: blinks 1s ease infinite forwards;
  background: linear-gradient(359deg, #f5d000, #fbf604, #fbb404);
  background-size: 600% 600%;
}
.m-admin-ticker-control button.show-shortcut:after {
  position: absolute;
  content: attr(data-shortcut);
  text-transform: uppercase;
  right: 0;
  bottom: 0;
  border: outset 1px RGBA(122, 134, 152, 1);
  border-width: 2px 0px 0px 2px;
  padding: 2px 2px 0 4px;
  border-radius: 10px 0 0 0;
}
.m-admin-ticker-control button {
  margin: 0 10px 10px 0;
}
.m-admin-ticker-control button.space {
  cursor: default;
}
.m-admin-ticker-control .message-list {
  width: calc(100% - 40px);
  margin: 0 20px 10% 0;
  padding: 20px;
  background: var(--white);
  list-style: none;
  height: 37vh;
  overflow-y: auto;
}
.m-admin-ticker-control .message-list .message {
  border-bottom: solid 1px #303030;
  margin-bottom: 10px;
  display: block;
  padding: 10px;
  cursor: pointer;
}
.m-admin-ticker-control .message-list .message .topic {
  background: #303030;
  color: var(--white);
  font-size: 12px;
  padding: 3px;
  display: inline-block;
  margin-right: 10px;
  border-radius: 3px;
  margin-bottom: 5px;
}
.m-admin-ticker-control .message-list .message .start-time {
  margin-bottom: 5px;
  font-size: 12px;
  display: inline-block;
}
.m-admin-ticker-control .message-list .message.is-active {
  background: #c12a17;
}
.m-admin-ticker-control .message-list .message.is-active .start-time {
  color: #fff;
}
.m-admin-ticker-control .message-list .message .line1,
.m-admin-ticker-control .message-list .message .line2 {
  padding: 10px;
  background: rgba(246, 246, 246, 0.9);
  display: block;
}
.m-admin-ticker-control .message-list .message .line1 span,
.m-admin-ticker-control .message-list .message .line2 span {
  display: inline-block;
  vertical-align: baseline;
  padding: 3px 3px;
  margin: 0 3px;
  background: #303030;
  color: var(--white);
  border-radius: 3px;
}
.m-admin-ticker-control .message-list .message .line1 {
  margin-bottom: 5px;
}
.m-admin-ticker-control .custom {
  width: 100%;
}
.m-admin-ticker-control .custom input {
  font-size: 20px;
  line-height: 38px;
  font-family: var(--base-font-family);
  font-weight: normal;
  height: 47px;
  background: #303030;
  color: var(--white);
  display: inline-block;
  padding: 0 10px;
  border: none;
  text-transform: uppercase;
}
.m-admin-ticker-control .custom .topic {
  width: 150px;
  background: var(--white);
  color: #303030;
  text-align: center;
}
.m-admin-ticker-control .custom .text {
  width: calc(100% - 370px);
}
.m-admin-ticker-control .custom .a-button {
  display: inline-block;
  margin-left: 10px;
}

.m-admin-tower-control button.control.scrollTimer, .m-admin-tower-leader-control button.control.scrollTimer {
  display: inline-flex !important;
  width: 50px;
  height: 50px;
}
.m-admin-tower-control .selector, .m-admin-tower-leader-control .selector {
  position: absolute;
  right: 0;
  top: 5vh;
}
.m-admin-tower-control .selector .title, .m-admin-tower-leader-control .selector .title {
  color: #FFFFFF;
  padding: 5px;
  margin-bottom: 18px;
}
.m-admin-tower-control .selector .holder, .m-admin-tower-leader-control .selector .holder {
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  max-height: 90vh;
}
.m-admin-tower-control .selector .holder .team, .m-admin-tower-leader-control .selector .holder .team {
  line-height: 28px;
  font-size: 18px;
  display: inline-flex;
  margin-bottom: 1px;
  cursor: pointer;
  opacity: 0.8;
}
.m-admin-tower-control .selector .holder .team[data-state="5"] > div, .m-admin-tower-leader-control .selector .holder .team[data-state="5"] > div {
  background: #9b1515;
  color: white;
}
.m-admin-tower-control .selector .holder .team[data-state="3"] > div, .m-admin-tower-leader-control .selector .holder .team[data-state="3"] > div {
  background: #101093;
  color: white;
}
.m-admin-tower-control .selector .holder .team.is-active > div, .m-admin-tower-leader-control .selector .holder .team.is-active > div {
  background: var(--tower-number-bg);
  color: var(--tower-number-color);
}
.m-admin-tower-control .selector .holder .team:hover, .m-admin-tower-leader-control .selector .holder .team:hover {
  opacity: 1;
}
.m-admin-tower-control .selector .holder .team > div, .m-admin-tower-leader-control .selector .holder .team > div {
  display: inline-flex;
}
.m-admin-tower-control .selector .holder .team .pos, .m-admin-tower-leader-control .selector .holder .team .pos {
  font-weight: 500;
  font-family: var(--base-font-mono-numbers);
  letter-spacing: var(--base-letter-spacing-mono-numbers);
  background: var(--tower-position-bg);
  color: var(--tower-position-color);
  width: 40px;
  justify-content: center;
  order: 1;
}
.m-admin-tower-control .selector .holder .team .startNumber, .m-admin-tower-leader-control .selector .holder .team .startNumber {
  font-weight: 500;
  font-family: var(--base-font-mono-numbers);
  letter-spacing: var(--base-letter-spacing-mono-numbers);
  background: var(--tower-number-bg);
  color: var(--tower-number-color);
  min-width: 50px;
  justify-content: center;
  order: 2;
}
.m-admin-tower-control .selector .holder .team .name, .m-admin-tower-leader-control .selector .holder .team .name {
  background: var(--tower-data-bg);
  color: var(--tower-data-color);
  min-width: 140px;
  order: 3;
  padding: 0 10px;
  text-transform: uppercase;
}
.m-admin-tower-control .selector .holder .team .diff, .m-admin-tower-leader-control .selector .holder .team .diff {
  font-weight: 500;
  font-family: var(--base-font-mono-numbers);
  letter-spacing: var(--base-letter-spacing-mono-numbers);
  background: var(--tower-number-bg);
  color: var(--tower-number-color);
  min-width: 80px;
  order: 3;
  padding: 0 10px;
  text-transform: uppercase;
  justify-content: right;
  max-width: 80px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.m-admin-tower-control .selector .holder .team .state, .m-admin-tower-leader-control .selector .holder .team .state {
  background: var(--tower-data-bg);
  color: var(--tower-data-color);
  width: 120px;
  order: 4;
  padding: 0 10px;
  text-transform: uppercase;
  font-size: 15px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.m-admin-tower-leader-control .selector .holder .team {
  flex-wrap: nowrap;
  position: relative;
  cursor: grab;
}
.m-admin-tower-leader-control .selector .holder .team:active {
  cursor: grabbing;
}
.m-admin-tower-leader-control .selector .holder .team.is-dragging {
  opacity: 0.6;
}
.m-admin-tower-leader-control .selector .holder .team.drag-over {
  outline: 2px solid var(--tower-position-color, #fff);
  outline-offset: 2px;
}
.m-admin-tower-leader-control .selector .holder .team .class-hide {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  order: 0;
  flex: 0 0 auto;
  margin-right: 8px;
  cursor: pointer;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.9);
  white-space: nowrap;
  user-select: none;
}
.m-admin-tower-leader-control .selector .holder .team .class-hide input {
  cursor: pointer;
  flex-shrink: 0;
}
.m-admin-tower-leader-control .selector .holder .team .slotLabel {
  font-weight: 500;
  font-family: var(--base-font-mono-numbers);
  letter-spacing: var(--base-letter-spacing-mono-numbers);
  background: var(--tower-position-bg);
  color: var(--tower-position-color);
  flex: 0 0 96px;
  width: 96px;
  min-width: 96px;
  justify-content: flex-start;
  text-align: left;
  order: 1;
  padding: 0 8px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.m-admin-tower-leader-control .selector .holder .team .name {
  flex: 0 0 130px;
  min-width: 130px;
  max-width: 130px;
  order: 2;
  overflow: hidden;
  text-overflow: ellipsis;
}
.m-admin-tower-leader-control .selector .holder .team .state {
  flex: 0 0 85px;
  width: 85px;
  min-width: 85px;
  order: 3;
  overflow: hidden;
  text-overflow: ellipsis;
}

.m-admin-status-control .status.is-active § {
  background: var(--status-active);
}
.m-admin-status-control .status.is-active[data-class=GREEN] {
  background: var(--status-green);
}
.m-admin-status-control .status.is-active[data-class=YELLOW], .m-admin-status-control .status.is-active[data-class=YELLOW-OVERRIDE] {
  background: var(--status-yellow);
}
.m-admin-status-control .status.is-active[data-class=RED] {
  background: var(--status-red);
}
.m-admin-status-control .status.is-active[data-class=CODE60] {
  background: var(--status-code60);
}
.m-admin-status-control .status.is-active[data-class=VIRTUALSAFETYCAR] {
  background: var(--status-code60);
}
.m-admin-status-control .status.is-active[data-class=SAFETYCAR] {
  background: var(--status-yellow);
}
.m-admin-status-control .status.is-active[data-class=FULLCOURSEYELLOW] {
  background: var(--status-yellow);
}
.m-admin-status-control .status.is-active[data-class=FINISH] {
  background: url(/images/overlay/finish-line.svg);
}

.m-admin-riders {
  -webkit-user-select: none;
  outline: none;
  width: calc(100vw - 350px);
  vertical-align: top;
  margin: 3px 0 0 3px;
  position: relative;
  display: none;
  overflow-x: auto;
  overflow-y: auto;
  height: calc(100vh - 100px);
}
.m-admin-riders.is-visible {
  display: inline-flex;
}
.m-admin-riders .last-search {
  position: absolute;
  bottom: 18px;
  left: 20px;
  background: #fffdf3;
  padding: 5px 10px;
  display: none;
}
.m-admin-riders .last-search:before {
  content: "Searching for: ";
}
.m-admin-riders .last-search .search {
  display: inline-block;
}
.m-admin-riders .last-search .result {
  display: inline-block;
}
.m-admin-riders .last-search .result:before {
  content: ": ";
  position: relative;
}
.m-admin-riders .list-controls {
  position: fixed;
  top: -4px;
  bottom: 0;
  right: 0;
  display: inline-flex;
  height: 100vh;
  width: 177px;
  flex-wrap: wrap;
  flex-direction: row;
  align-content: flex-start;
  opacity: 1;
  padding: 0 30px 0 20px;
  box-shadow: 5px 0px 8px 0px #cdcdcd, inset 1px 1px 2px 0px #000;
  background: #464646;
}
.m-admin-riders .list-controls .title {
  color: rgba(255, 255, 255, 0.5882352941);
  text-transform: uppercase;
  text-align: center;
  margin-bottom: 12px;
}
.m-admin-riders .list-controls .row {
  display: inline-flex;
  flex-flow: column;
}
.m-admin-riders .list-controls button {
  -webkit-user-select: none;
  outline: none;
  display: block;
  position: relative;
  background: #202020;
  color: #fff;
  text-shadow: 1px 1px 7px #000000;
  cursor: pointer;
  text-align: center;
  height: 50px;
  width: 110px;
  border: none;
  border-radius: 3px;
  font-size: 13px;
  overflow: hidden;
  text-indent: -2000px;
  box-shadow: 2px 4px 10px 0px #000;
}
.m-admin-riders .list-controls button:before {
  content: "";
  position: absolute;
  height: calc(100% - 4px);
  width: calc(100% - 4px);
  transform: translateX(-50%) translateY(-50%);
  left: 50%;
  top: 50%;
  border-radius: 5px;
  background: linear-gradient(to bottom, #525556 10%, #2c2c2c 13%, #0a0e0a 51%, #0a0809 85%, #404040 100%);
}
.m-admin-riders .list-controls button:after {
  content: attr(data-button-text);
  position: absolute;
  transform: translateX(-50%) translateY(-50%);
  top: 50%;
  left: 50%;
  color: #bcbcbc;
  z-index: 2;
  text-indent: 0;
}
.m-admin-riders .list-controls button.space {
  opacity: 0;
  width: 40px;
}
.m-admin-riders .list-controls button.space.fullButton {
  width: 120px;
}
.m-admin-riders .list-controls button.is-ready {
  background: none;
}
.m-admin-riders .list-controls button.is-active {
  background: linear-gradient(to bottom, rgb(157, 213, 58) 0%, rgb(161, 213, 79) 45%, rgb(128, 194, 23) 60%, rgb(124, 188, 10) 100%);
}
.m-admin-riders .list-controls button.has-error {
  background: linear-gradient(to bottom, rgb(248, 80, 50) 0%, rgb(241, 111, 92) 50%, rgb(246, 41, 12) 51%, rgb(240, 47, 23) 71%, rgb(231, 56, 39) 100%);
}
.m-admin-riders .list-controls button.is-preview:not(.is-active):not(.has-changes) {
  background: #ff0012;
}
.m-admin-riders .list-controls button.has-changes {
  animation: blinks 1s ease infinite forwards;
  background: linear-gradient(359deg, #f5d000, #fbf604, #fbb404);
  background-size: 600% 600%;
}
.m-admin-riders .list-controls button.show-shortcut:after {
  position: absolute;
  content: attr(data-shortcut);
  text-transform: uppercase;
  right: 0;
  bottom: 0;
  border: outset 1px RGBA(122, 134, 152, 1);
  border-width: 2px 0px 0px 2px;
  padding: 2px 2px 0 4px;
  border-radius: 10px 0 0 0;
}
.m-admin-riders .list-controls button {
  margin: 0 10px 10px 0;
}
.m-admin-riders .list-controls button.space {
  cursor: default;
}
.m-admin-riders .list-controls > .buttons {
  -webkit-user-select: none;
  outline: none;
  display: inline-flex;
  padding: 10px;
  margin: 5px;
  cursor: pointer;
  width: 100px;
  height: 100px;
  border-radius: 23px;
  display: inline-block;
  background: linear-gradient(to top, rgb(226, 226, 226) 0%, rgb(219, 219, 219) 45%, rgb(209, 209, 209) 60%, rgb(254, 254, 254) 100%);
  font-weight: bold;
  position: relative;
  box-shadow: 4px 10px 4px 0 #8a8a8a;
  border: solid 4px rgba(255, 255, 255, 0.5882352941);
}
.m-admin-riders .list-controls > .buttons:disabled {
  background: grey;
}
.m-admin-riders .list-controls > .buttons.show-shortcut:after {
  position: absolute;
  content: attr(data-shortcut);
  text-transform: uppercase;
  right: 0;
  bottom: 0;
  border: outset 1px RGBA(122, 134, 152, 1);
  border-width: 2px 0 0 2px;
  padding: 1px 2px 1px 4px;
  border-radius: 10px 0 0 0;
}
.m-admin-riders .list-controls > .buttons.is-ready {
  background: linear-gradient(to bottom, rgb(248, 80, 50) 0%, rgb(241, 111, 92) 50%, rgb(246, 41, 12) 51%, rgb(240, 47, 23) 71%, rgb(231, 56, 39) 100%);
}
.m-admin-riders .list-controls > .buttons.is-active {
  background: linear-gradient(to top, rgb(157, 213, 58) 0%, rgb(161, 213, 79) 45%, rgb(128, 194, 23) 60%, rgb(124, 188, 10) 100%);
  top: 5px;
  box-shadow: 1px 4px 4px 0 #656565;
}
.m-admin-riders .list-controls > .buttons:hover:not(.is-active) {
  background: linear-gradient(to top, rgb(226, 226, 226) 0%, rgb(219, 219, 219) 45%, rgb(209, 209, 209) 60%, rgb(254, 254, 254) 100%);
  top: 1px;
  box-shadow: 3px 7px 4px 0 #7a7a7a;
}
.m-admin-riders .text {
  background: #6e6ccd;
  color: white;
  padding: 5px 20px;
  display: flex;
  min-width: 130vw;
}
.m-admin-riders .riders,
.m-admin-riders .explanations {
  font-family: var(--base-font-family);
  font-weight: normal;
  font-size: 14px;
  display: block;
  vertical-align: top;
  flex-flow: column;
  margin: 3px 20px 0 0;
  padding: 0;
  min-width: 140vw;
}
.m-admin-riders .riders.sort-by-StartNumber .rider .number,
.m-admin-riders .explanations.sort-by-StartNumber .rider .number {
  font-weight: 500;
  font-family: var(--base-font-mono-numbers);
  letter-spacing: var(--base-letter-spacing-mono-numbers);
  font-weight: bold;
}
.m-admin-riders .riders.sort-by-StartNumber .explanation,
.m-admin-riders .explanations.sort-by-StartNumber .explanation {
  background: var(--admin-bg);
  color: #cac7b9;
  display: inline-block;
}
.m-admin-riders .riders.sort-by-StartNumber .explanation div,
.m-admin-riders .explanations.sort-by-StartNumber .explanation div {
  text-align: center;
  font-size: 16px;
  border-color: transparent;
}
.m-admin-riders .riders.sort-by-StartNumber .explanation .division,
.m-admin-riders .riders.sort-by-StartNumber .explanation .drivers,
.m-admin-riders .explanations.sort-by-StartNumber .explanation .division,
.m-admin-riders .explanations.sort-by-StartNumber .explanation .drivers {
  border-radius: unset;
  background: unset;
  min-height: 33px;
  line-height: 33px;
}
.m-admin-riders .riders.sort-by-StartNumber .explanation .display,
.m-admin-riders .riders.sort-by-StartNumber .explanation .drivers,
.m-admin-riders .explanations.sort-by-StartNumber .explanation .display,
.m-admin-riders .explanations.sort-by-StartNumber .explanation .drivers {
  text-align: left;
}
.m-admin-riders .riders .rider,
.m-admin-riders .riders .explanation,
.m-admin-riders .explanations .rider,
.m-admin-riders .explanations .explanation {
  padding: 0;
  align-self: baseline;
  color: #202020;
  display: inline-flex;
  position: relative;
  cursor: pointer;
  line-height: 30px;
  background: #dddddd;
  transition: opacity 0.6s ease-in-out, font-weight 0.1s ease-in-out, color 0.1s ease-in-out, background 0.1s ease-in-out;
}
.m-admin-riders .riders .rider:nth-child(odd),
.m-admin-riders .riders .explanation:nth-child(odd),
.m-admin-riders .explanations .rider:nth-child(odd),
.m-admin-riders .explanations .explanation:nth-child(odd) {
  background: #cac7b9;
}
.m-admin-riders .riders .rider .highlight,
.m-admin-riders .riders .explanation .highlight,
.m-admin-riders .explanations .rider .highlight,
.m-admin-riders .explanations .explanation .highlight {
  background: #fa0000 !important;
  color: #fff !important;
}
.m-admin-riders .riders .rider:before,
.m-admin-riders .riders .explanation:before,
.m-admin-riders .explanations .rider:before,
.m-admin-riders .explanations .explanation:before {
  content: "";
  position: absolute;
  top: -3px;
  transform: translateX(-30px) rotateZ(-45deg);
  width: 20px;
  height: 30px;
  z-index: 1;
  background: #455f80;
  box-shadow: -1px 3px 3px #0a0809, inset 0px 1px 3px 0px #FFFFFF;
  transition: transform 0.1s ease-in-out;
}
.m-admin-riders .riders .rider.show-shortcut:after,
.m-admin-riders .riders .explanation.show-shortcut:after,
.m-admin-riders .explanations .rider.show-shortcut:after,
.m-admin-riders .explanations .explanation.show-shortcut:after {
  position: absolute;
  content: attr(data-shortcut);
  text-transform: uppercase;
  right: 0;
  bottom: 0;
  border: outset 1px RGBA(122, 134, 152, 1);
  border-width: 2px 0 0 2px;
  padding: 1px 2px 1px 4px;
  border-radius: 10px 0 0 0;
  color: #fff;
  font-size: 11px;
  line-height: normal;
}
.m-admin-riders .riders .rider:hover,
.m-admin-riders .riders .explanation:hover,
.m-admin-riders .explanations .rider:hover,
.m-admin-riders .explanations .explanation:hover {
  background: #3b5998;
  box-shadow: 2px 1px 1px #000;
}
.m-admin-riders .riders .rider.has-passed-startfinish .display,
.m-admin-riders .riders .explanation.has-passed-startfinish .display,
.m-admin-riders .explanations .rider.has-passed-startfinish .display,
.m-admin-riders .explanations .explanation.has-passed-startfinish .display {
  position: relative;
}
.m-admin-riders .riders .rider.has-passed-startfinish .display:before,
.m-admin-riders .riders .explanation.has-passed-startfinish .display:before,
.m-admin-riders .explanations .rider.has-passed-startfinish .display:before,
.m-admin-riders .explanations .explanation.has-passed-startfinish .display:before {
  content: "";
  width: 5px;
  height: 5px;
  background: #717171;
  border-radius: 1px;
  position: absolute;
  left: 7px;
  top: 50%;
  transform: translateY(-50%);
}
.m-admin-riders .riders .rider.entering-pit:before,
.m-admin-riders .riders .explanation.entering-pit:before,
.m-admin-riders .explanations .rider.entering-pit:before,
.m-admin-riders .explanations .explanation.entering-pit:before {
  transform: translateX(-14px) rotateZ(-45deg);
  transition: transform 0.2s ease-in-out;
  background: linear-gradient(to bottom, rgb(109, 179, 242) 0%, rgb(84, 163, 238) 34%, rgb(54, 144, 240) 35%, rgb(30, 105, 222) 100%);
}
.m-admin-riders .riders .rider.out-pit:before,
.m-admin-riders .riders .explanation.out-pit:before,
.m-admin-riders .explanations .rider.out-pit:before,
.m-admin-riders .explanations .explanation.out-pit:before {
  transform: translateX(-14px) rotateZ(-45deg);
  transition: transform 0.2s ease-in-out;
  background: linear-gradient(to bottom, rgb(157, 213, 58) 0%, rgb(161, 213, 79) 45%, rgb(128, 194, 23) 60%, rgb(124, 188, 10) 100%);
}
.m-admin-riders .riders .rider.entering-tank-zone:before,
.m-admin-riders .riders .explanation.entering-tank-zone:before,
.m-admin-riders .explanations .rider.entering-tank-zone:before,
.m-admin-riders .explanations .explanation.entering-tank-zone:before {
  transform: translateX(-14px) rotateZ(-45deg);
  transition: transform 0.2s ease-in-out;
  background: linear-gradient(to bottom, rgb(252, 234, 187) 0%, rgb(252, 205, 77) 50%, rgb(248, 181, 0) 51%, rgb(251, 223, 147) 100%);
}
.m-admin-riders .riders .rider.has-finished .background,
.m-admin-riders .riders .explanation.has-finished .background,
.m-admin-riders .explanations .rider.has-finished .background,
.m-admin-riders .explanations .explanation.has-finished .background {
  background: linear-gradient(to bottom, rgb(174, 188, 191) 0%, rgb(110, 119, 116) 50%, rgb(10, 14, 10) 51%, rgb(10, 8, 9) 100%);
}
.m-admin-riders .riders .rider.is-missing,
.m-admin-riders .riders .explanation.is-missing,
.m-admin-riders .explanations .rider.is-missing,
.m-admin-riders .explanations .explanation.is-missing {
  color: #c12a17;
}
.m-admin-riders .riders .rider.is-missing:before,
.m-admin-riders .riders .explanation.is-missing:before,
.m-admin-riders .explanations .rider.is-missing:before,
.m-admin-riders .explanations .explanation.is-missing:before {
  transform: translateX(-14px) rotateZ(-45deg);
  transition: transform 0.2s ease-in-out;
  background: linear-gradient(to bottom, rgb(255, 82, 51) 0%, rgb(227, 59, 51) 50%, rgb(195, 34, 12) 51%, rgb(138, 32, 14) 71%, rgb(231, 56, 39) 100%);
}
.m-admin-riders .riders .rider.is-missing .diff,
.m-admin-riders .riders .rider.is-missing .compare,
.m-admin-riders .riders .explanation.is-missing .diff,
.m-admin-riders .riders .explanation.is-missing .compare,
.m-admin-riders .explanations .rider.is-missing .diff,
.m-admin-riders .explanations .rider.is-missing .compare,
.m-admin-riders .explanations .explanation.is-missing .diff,
.m-admin-riders .explanations .explanation.is-missing .compare {
  display: none;
}
.m-admin-riders .riders .rider.is-retired,
.m-admin-riders .riders .explanation.is-retired,
.m-admin-riders .explanations .rider.is-retired,
.m-admin-riders .explanations .explanation.is-retired {
  color: rgba(0, 0, 0, 0.6);
}
.m-admin-riders .riders .rider.is-retired .diff,
.m-admin-riders .riders .rider.is-retired .compare,
.m-admin-riders .riders .explanation.is-retired .diff,
.m-admin-riders .riders .explanation.is-retired .compare,
.m-admin-riders .explanations .rider.is-retired .diff,
.m-admin-riders .explanations .rider.is-retired .compare,
.m-admin-riders .explanations .explanation.is-retired .diff,
.m-admin-riders .explanations .explanation.is-retired .compare {
  display: none;
}
.m-admin-riders .riders .rider.is-disqualified,
.m-admin-riders .riders .explanation.is-disqualified,
.m-admin-riders .explanations .rider.is-disqualified,
.m-admin-riders .explanations .explanation.is-disqualified {
  color: rgba(0, 0, 0, 0.6);
}
.m-admin-riders .riders .rider.is-selected,
.m-admin-riders .riders .explanation.is-selected,
.m-admin-riders .explanations .rider.is-selected,
.m-admin-riders .explanations .explanation.is-selected {
  font-weight: bold;
  background: #cd0d0e;
  color: #fffdf3;
}
.m-admin-riders .riders .rider > div,
.m-admin-riders .riders .explanation > div,
.m-admin-riders .explanations .rider > div,
.m-admin-riders .explanations .explanation > div {
  display: inline-block;
  border-right: solid 1px #2d3f54;
  min-height: 33px;
}
.m-admin-riders .riders .rider .admin,
.m-admin-riders .riders .explanation .admin,
.m-admin-riders .explanations .rider .admin,
.m-admin-riders .explanations .explanation .admin {
  display: none;
}
.m-admin-riders .riders .rider .pos,
.m-admin-riders .riders .rider .pic,
.m-admin-riders .riders .rider .pid,
.m-admin-riders .riders .rider .number,
.m-admin-riders .riders .explanation .pos,
.m-admin-riders .riders .explanation .pic,
.m-admin-riders .riders .explanation .pid,
.m-admin-riders .riders .explanation .number,
.m-admin-riders .explanations .rider .pos,
.m-admin-riders .explanations .rider .pic,
.m-admin-riders .explanations .rider .pid,
.m-admin-riders .explanations .rider .number,
.m-admin-riders .explanations .explanation .pos,
.m-admin-riders .explanations .explanation .pic,
.m-admin-riders .explanations .explanation .pid,
.m-admin-riders .explanations .explanation .number {
  font-weight: 500;
  font-family: var(--base-font-mono-numbers);
  letter-spacing: var(--base-letter-spacing-mono-numbers);
  letter-spacing: -0.5px;
  text-align: center;
  padding: 0;
}
.m-admin-riders .riders .rider .division,
.m-admin-riders .riders .explanation .division,
.m-admin-riders .explanations .rider .division,
.m-admin-riders .explanations .explanation .division {
  border-radius: 5px;
  line-height: 20px;
  min-height: 20px;
  height: 20px;
  background: #fff;
  border-right: unset;
  align-self: center;
  font-size: 12px;
}
.m-admin-riders .riders .rider .race-class,
.m-admin-riders .riders .rider .sub-class,
.m-admin-riders .riders .explanation .race-class,
.m-admin-riders .riders .explanation .sub-class,
.m-admin-riders .explanations .rider .race-class,
.m-admin-riders .explanations .rider .sub-class,
.m-admin-riders .explanations .explanation .race-class,
.m-admin-riders .explanations .explanation .sub-class {
  border-left: solid 1px #2d3f54;
  font-size: 12px;
}
.m-admin-riders .riders .rider .number:before,
.m-admin-riders .riders .explanation .number:before,
.m-admin-riders .explanations .rider .number:before,
.m-admin-riders .explanations .explanation .number:before {
  content: "";
  margin-right: 2px;
  opacity: 0.5;
  font-size: 12px;
  vertical-align: baseline;
}
.m-admin-riders .riders .rider .display,
.m-admin-riders .riders .explanation .display,
.m-admin-riders .explanations .rider .display,
.m-admin-riders .explanations .explanation .display {
  text-transform: capitalize;
  font-size: 16px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.m-admin-riders .riders .rider .state,
.m-admin-riders .riders .explanation .state,
.m-admin-riders .explanations .rider .state,
.m-admin-riders .explanations .explanation .state {
  font-size: 12px;
}
.m-admin-riders .riders .sectors .sector,
.m-admin-riders .explanations .sectors .sector {
  background-color: #494949;
}
.m-admin-riders .riders .sectors .sector.no-improvement,
.m-admin-riders .explanations .sectors .sector.no-improvement {
  background-color: var(--no-improvement);
}
.m-admin-riders .riders .sectors .sector.personal-improvement,
.m-admin-riders .explanations .sectors .sector.personal-improvement {
  background-color: var(--personal-improvement);
}
.m-admin-riders .riders .sectors .sector.overall-improvement,
.m-admin-riders .explanations .sectors .sector.overall-improvement {
  background-color: var(--overall-improvement);
}
.m-admin-riders .riders .drivers,
.m-admin-riders .explanations .drivers {
  display: inline-flex !important;
  align-items: center;
}
.m-admin-riders .riders .drivers .name,
.m-admin-riders .explanations .drivers .name {
  font-size: 12px;
  display: inline-flex;
  background: rgba(255, 255, 255, 0.8);
  color: #212121;
  border-radius: 5px;
  margin: 0 5px;
  padding: 0 5px;
  line-height: 20px;
  text-transform: uppercase;
  order: 1;
}
.m-admin-riders .riders .drivers .name span,
.m-admin-riders .explanations .drivers .name span {
  font-weight: bold;
  display: contents;
  vertical-align: baseline;
}
.m-admin-riders .riders .drivers .name:after,
.m-admin-riders .explanations .drivers .name:after {
  white-space: pre;
}
.m-admin-riders .riders .drivers .name.active,
.m-admin-riders .explanations .drivers .name.active {
  background: #0B12FF;
  color: #fff;
}
.m-admin-riders .pos,
.m-admin-riders .pic,
.m-admin-riders .pid,
.m-admin-riders .number {
  width: 50px;
  padding: 0 8px;
  text-align: center;
  border-right: solid 1px #2d3f54;
}
.m-admin-riders .display {
  width: 400px;
  padding: 0 20px;
}
.m-admin-riders .division {
  width: 60px;
  padding: 0;
  text-align: center;
  margin: 0 20px;
}
.m-admin-riders .race-class,
.m-admin-riders .sub-class {
  width: 100px;
  padding: 0 20px;
  text-align: center;
}
.m-admin-riders .drivers {
  width: 900px;
  padding: 0 20px;
  text-align: left;
}
.m-admin-riders .sectors {
  width: 100px;
  padding: 0 20px;
}
.m-admin-riders .state {
  width: 100px;
  padding: 0 calc(20pxpx / 2);
  text-align: center;
}
.m-admin-riders .timeDiff,
.m-admin-riders .timeLast,
.m-admin-riders .timeFastest,
.m-admin-riders .timeFastestAvg,
.m-admin-riders .timeGap {
  width: 120px;
  padding: 0 20px;
  text-align: right;
}
.m-admin-riders .laps,
.m-admin-riders .onboard {
  width: 100px;
  padding: 0 20px;
  text-align: center;
}

.m-admin-people-ident-control button {
  -webkit-user-select: none;
  outline: none;
  display: block;
  position: relative;
  background: #202020;
  color: #fff;
  text-shadow: 1px 1px 7px #000000;
  cursor: pointer;
  text-align: center;
  height: 50px;
  width: 110px;
  border: none;
  border-radius: 3px;
  font-size: 13px;
  overflow: hidden;
  text-indent: -2000px;
  box-shadow: 2px 4px 10px 0px #000;
}
.m-admin-people-ident-control button:before {
  content: "";
  position: absolute;
  height: calc(100% - 4px);
  width: calc(100% - 4px);
  transform: translateX(-50%) translateY(-50%);
  left: 50%;
  top: 50%;
  border-radius: 5px;
  background: linear-gradient(to bottom, #525556 10%, #2c2c2c 13%, #0a0e0a 51%, #0a0809 85%, #404040 100%);
}
.m-admin-people-ident-control button:after {
  content: attr(data-button-text);
  position: absolute;
  transform: translateX(-50%) translateY(-50%);
  top: 50%;
  left: 50%;
  color: #bcbcbc;
  z-index: 2;
  text-indent: 0;
}
.m-admin-people-ident-control button.space {
  opacity: 0;
  width: 40px;
}
.m-admin-people-ident-control button.space.fullButton {
  width: 120px;
}
.m-admin-people-ident-control button.is-ready {
  background: none;
}
.m-admin-people-ident-control button.is-active {
  background: linear-gradient(to bottom, rgb(157, 213, 58) 0%, rgb(161, 213, 79) 45%, rgb(128, 194, 23) 60%, rgb(124, 188, 10) 100%);
}
.m-admin-people-ident-control button.has-error {
  background: linear-gradient(to bottom, rgb(248, 80, 50) 0%, rgb(241, 111, 92) 50%, rgb(246, 41, 12) 51%, rgb(240, 47, 23) 71%, rgb(231, 56, 39) 100%);
}
.m-admin-people-ident-control button.is-preview:not(.is-active):not(.has-changes) {
  background: #ff0012;
}
.m-admin-people-ident-control button.has-changes {
  animation: blinks 1s ease infinite forwards;
  background: linear-gradient(359deg, #f5d000, #fbf604, #fbb404);
  background-size: 600% 600%;
}
.m-admin-people-ident-control button.show-shortcut:after {
  position: absolute;
  content: attr(data-shortcut);
  text-transform: uppercase;
  right: 0;
  bottom: 0;
  border: outset 1px RGBA(122, 134, 152, 1);
  border-width: 2px 0px 0px 2px;
  padding: 2px 2px 0 4px;
  border-radius: 10px 0 0 0;
}
.m-admin-people-ident-control button {
  margin: 0 10px 10px 0;
}
.m-admin-people-ident-control button.space {
  cursor: default;
}
.m-admin-people-ident-control .filter {
  position: absolute;
  right: 20px;
  transform: translateY(-100%) translateX(-50%);
}
.m-admin-people-ident-control .filter input {
  font-size: 14px;
  padding: 10px 20px;
  border: solid 1px var(--white);
}
.m-admin-people-ident-control .message-list {
  width: calc(100% - 40px);
  margin: 0 20px 10% 0;
  padding: 20px;
  background: var(--white);
  list-style: none;
  height: 44vh;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}
.m-admin-people-ident-control .message-list .message {
  border-bottom: solid 1px #303030;
  margin: 0;
  display: block;
  padding: 10px;
  cursor: pointer;
  font-size: 14px;
  position: relative;
}
.m-admin-people-ident-control .message-list .message:hover {
  background: var(--status-yellow);
}
.m-admin-people-ident-control .message-list .message .NameF,
.m-admin-people-ident-control .message-list .message .NameL,
.m-admin-people-ident-control .message-list .message .subtitle,
.m-admin-people-ident-control .message-list .message .delete {
  display: inline-block;
  margin: 5px 5px 5px 0;
}
.m-admin-people-ident-control .message-list .message .NameL {
  font-weight: bold;
}
.m-admin-people-ident-control .message-list .message .delete {
  position: absolute;
  right: 10%;
}
.m-admin-people-ident-control .message-list .message .subtitle {
  right: 0;
  position: absolute;
  left: 50%;
}
.m-admin-people-ident-control .message-list .message.is-active {
  background: #c12a17;
  color: white;
}
.m-admin-people-ident-control .message-list .message span {
  vertical-align: top;
}
.m-admin-people-ident-control .custom {
  width: 70%;
}
.m-admin-people-ident-control .custom input {
  font-size: 20px;
  line-height: 38px;
  font-family: var(--base-font-family);
  font-weight: normal;
  height: 47px;
  background: #303030;
  color: var(--white);
  display: inline-block;
  padding: 0 10px;
  border: none;
}
.m-admin-people-ident-control .custom .topic {
  width: 150px;
  background: var(--white);
  color: #303030;
  text-align: center;
}
.m-admin-people-ident-control .custom .subtitle {
  width: calc(100% - 470px);
}
.m-admin-people-ident-control .custom .a-button {
  display: inline-block;
  margin-left: 10px;
}

.m-admin-schedule-control button {
  -webkit-user-select: none;
  outline: none;
  display: block;
  position: relative;
  background: #202020;
  color: #fff;
  text-shadow: 1px 1px 7px #000000;
  cursor: pointer;
  text-align: center;
  height: 50px;
  width: 110px;
  border: none;
  border-radius: 3px;
  font-size: 13px;
  overflow: hidden;
  text-indent: -2000px;
  box-shadow: 2px 4px 10px 0px #000;
}
.m-admin-schedule-control button:before {
  content: "";
  position: absolute;
  height: calc(100% - 4px);
  width: calc(100% - 4px);
  transform: translateX(-50%) translateY(-50%);
  left: 50%;
  top: 50%;
  border-radius: 5px;
  background: linear-gradient(to bottom, #525556 10%, #2c2c2c 13%, #0a0e0a 51%, #0a0809 85%, #404040 100%);
}
.m-admin-schedule-control button:after {
  content: attr(data-button-text);
  position: absolute;
  transform: translateX(-50%) translateY(-50%);
  top: 50%;
  left: 50%;
  color: #bcbcbc;
  z-index: 2;
  text-indent: 0;
}
.m-admin-schedule-control button.space {
  opacity: 0;
  width: 40px;
}
.m-admin-schedule-control button.space.fullButton {
  width: 120px;
}
.m-admin-schedule-control button.is-ready {
  background: none;
}
.m-admin-schedule-control button.is-active {
  background: linear-gradient(to bottom, rgb(157, 213, 58) 0%, rgb(161, 213, 79) 45%, rgb(128, 194, 23) 60%, rgb(124, 188, 10) 100%);
}
.m-admin-schedule-control button.has-error {
  background: linear-gradient(to bottom, rgb(248, 80, 50) 0%, rgb(241, 111, 92) 50%, rgb(246, 41, 12) 51%, rgb(240, 47, 23) 71%, rgb(231, 56, 39) 100%);
}
.m-admin-schedule-control button.is-preview:not(.is-active):not(.has-changes) {
  background: #ff0012;
}
.m-admin-schedule-control button.has-changes {
  animation: blinks 1s ease infinite forwards;
  background: linear-gradient(359deg, #f5d000, #fbf604, #fbb404);
  background-size: 600% 600%;
}
.m-admin-schedule-control button.show-shortcut:after {
  position: absolute;
  content: attr(data-shortcut);
  text-transform: uppercase;
  right: 0;
  bottom: 0;
  border: outset 1px RGBA(122, 134, 152, 1);
  border-width: 2px 0px 0px 2px;
  padding: 2px 2px 0 4px;
  border-radius: 10px 0 0 0;
}
.m-admin-schedule-control button {
  margin: 0 10px 10px 0;
}
.m-admin-schedule-control button.space {
  cursor: default;
}
.m-admin-schedule-control .filter {
  position: absolute;
  right: 20px;
  transform: translateY(-100%) translateX(-50%);
}
.m-admin-schedule-control .filter input {
  font-size: 14px;
  padding: 10px 20px;
  border: unset;
}
.m-admin-schedule-control .headline {
  width: 500px;
}
.m-admin-schedule-control .message-list {
  width: calc(100% - 40px);
  margin: 0 20px 10% 0;
  padding: 20px;
  background: var(--white);
  list-style: none;
  height: 34vh;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}
.m-admin-schedule-control .message-list .message {
  border-bottom: solid 1px #303030;
  margin: 0;
  display: block;
  padding: 10px;
  cursor: pointer;
  font-size: 14px;
  position: relative;
}
.m-admin-schedule-control .message-list .message:hover {
  background: var(--status-yellow);
}
.m-admin-schedule-control .message-list .message .HeatName,
.m-admin-schedule-control .message-list .message .HeatType,
.m-admin-schedule-control .message-list .message .StartTime,
.m-admin-schedule-control .message-list .message .LiveTime,
.m-admin-schedule-control .message-list .message .delete {
  display: inline-block;
  margin: 5px 5px 5px 0;
}
.m-admin-schedule-control .message-list .message .HeatType {
  font-weight: bold;
}
.m-admin-schedule-control .message-list .message .delete {
  position: absolute;
  right: 10%;
}
.m-admin-schedule-control .message-list .message .StartTime {
  width: 40px;
  margin-left: 15px;
}
.m-admin-schedule-control .message-list .message .HeatName {
  position: relative;
  width: 500px;
}
.m-admin-schedule-control .message-list .message .HeatType {
  width: 40px;
  text-align: center;
}
.m-admin-schedule-control .message-list .message .LiveTime input {
  border: unset;
  line-height: inherit;
  font-size: inherit;
  width: 50px;
  padding: 5px;
  background: #c12a17;
  color: var(--white);
  text-align: center;
}
.m-admin-schedule-control .message-list .message.is-active {
  background: #a1a1a1;
  color: white;
}
.m-admin-schedule-control .message-list .message span {
  vertical-align: top;
}
.m-admin-schedule-control .custom {
  width: 70%;
}
.m-admin-schedule-control .custom input {
  font-size: 20px;
  line-height: 38px;
  font-family: var(--base-font-family);
  font-weight: normal;
  height: 47px;
  background: #303030;
  color: var(--white);
  display: inline-block;
  padding: 0 10px;
  border: none;
}
.m-admin-schedule-control .custom .HeatName,
.m-admin-schedule-control .custom .StartTime,
.m-admin-schedule-control .custom .comment {
  margin: 5px 0;
}
.m-admin-schedule-control .custom .StartTime {
  width: 60px;
  margin-right: 5px;
}
.m-admin-schedule-control .custom .HeatName {
  width: 520px;
}
.m-admin-schedule-control .custom .comment {
  width: calc(100% - 470px);
}
.m-admin-schedule-control .custom .a-button {
  display: inline-block;
  margin-left: 10px;
}

.m-admin-settings-control {
  vertical-align: top;
  flex-flow: wrap;
  margin-top: 3px;
  width: 100%;
  align-content: flex-start;
}
.m-admin-settings-control .settings-output {
  width: 90vw;
  height: 70vh;
  margin: 0 auto;
  overflow: auto;
  padding: 10px;
  background: var(--white);
}
.m-admin-settings-control .settings-output h2,
.m-admin-settings-control .settings-output h3 {
  padding: 10px 15px;
  font-size: 40px;
  font-weight: bold;
  text-transform: uppercase;
  border-bottom: solid 2px #000;
  border-top: solid 2px #000;
  background: #a1a1a1;
  margin: 5px 0;
}
.m-admin-settings-control .settings-output h2:first-child,
.m-admin-settings-control .settings-output h3:first-child {
  margin-top: 0;
}
.m-admin-settings-control .settings-output h2:last-child,
.m-admin-settings-control .settings-output h3:last-child {
  margin-bottom: 0;
}
.m-admin-settings-control .settings-output h3 {
  font-size: 25px;
  padding: 5px 5px 5px 30px;
  background: #dbdbdb;
  border-width: 1px;
}
.m-admin-settings-control .settings-output .setting {
  display: inline-flex;
  color: var(--black);
  width: calc(100% - 10px);
  background: white;
  margin: 5px 5px;
  position: relative;
  transition: background 0.2s ease;
}
.m-admin-settings-control .settings-output .setting.modified {
  background: #fff4e6;
  border-color: #ff9800;
}
.m-admin-settings-control .settings-output .setting.saved {
  background: #e8f5e9;
  border-color: #4caf50;
}
.m-admin-settings-control .settings-output .setting .value {
  background: var(--white);
  width: 100%;
  height: 15px;
  padding: 10px 5px;
  border: solid 1px #cdcdcd;
  font-size: 18px;
  color: var(--black);
}
.m-admin-settings-control .settings-output .setting select.value {
  padding: 8px 0;
  width: 90%;
  height: unset;
  font-size: 18px;
}
.m-admin-settings-control .settings-output .setting .values {
  width: auto;
  display: inline-flex;
}
.m-admin-settings-control .settings-output .setting .values button.option {
  background: linear-gradient(201deg, #ffffff 10%, #e9e9e9 40%, #dedede 100%);
  border: none;
  padding: 10px 15px;
  cursor: pointer;
  color: black;
  font-size: 16px;
  min-width: 100px;
  display: inline-flex;
}
.m-admin-settings-control .settings-output .setting .values button.option:hover {
  background: linear-gradient(201deg, #ffffff 10%, #e9e9e9 40%, #dedede 100%);
  color: black;
}
.m-admin-settings-control .settings-output .setting .values button.option:first-child {
  border-radius: 10px 0 0 10px;
}
.m-admin-settings-control .settings-output .setting .values button.option:last-child {
  border-radius: 0 10px 10px 0;
}
.m-admin-settings-control .settings-output .setting .widget {
  display: none;
}
.m-admin-settings-control .settings-output .setting .name {
  text-align: right;
  margin-right: 10px;
  min-width: 300px;
  border-radius: 5px;
  line-height: 5px;
  width: auto;
  padding: 15px 10px 0px 10px;
  font-weight: 500;
}
.m-admin-settings-control .settings-output .setting div {
  margin-bottom: 10px;
  padding: 10px;
  width: 250px;
}
.m-admin-settings-control .settings-output .setting div.application {
  display: none;
}
.m-admin-settings-control .settings-output .setting div.badge {
  width: auto;
  font-size: 12px;
}

.m-admin-weather-control button {
  -webkit-user-select: none;
  outline: none;
  display: block;
  position: relative;
  background: #202020;
  color: #fff;
  text-shadow: 1px 1px 7px #000000;
  cursor: pointer;
  text-align: center;
  height: 50px;
  width: 110px;
  border: none;
  border-radius: 3px;
  font-size: 13px;
  overflow: hidden;
  text-indent: -2000px;
  box-shadow: 2px 4px 10px 0px #000;
}
.m-admin-weather-control button:before {
  content: "";
  position: absolute;
  height: calc(100% - 4px);
  width: calc(100% - 4px);
  transform: translateX(-50%) translateY(-50%);
  left: 50%;
  top: 50%;
  border-radius: 5px;
  background: linear-gradient(to bottom, #525556 10%, #2c2c2c 13%, #0a0e0a 51%, #0a0809 85%, #404040 100%);
}
.m-admin-weather-control button:after {
  content: attr(data-button-text);
  position: absolute;
  transform: translateX(-50%) translateY(-50%);
  top: 50%;
  left: 50%;
  color: #bcbcbc;
  z-index: 2;
  text-indent: 0;
}
.m-admin-weather-control button.space {
  opacity: 0;
  width: 40px;
}
.m-admin-weather-control button.space.fullButton {
  width: 120px;
}
.m-admin-weather-control button.is-ready {
  background: none;
}
.m-admin-weather-control button.is-active {
  background: linear-gradient(to bottom, rgb(157, 213, 58) 0%, rgb(161, 213, 79) 45%, rgb(128, 194, 23) 60%, rgb(124, 188, 10) 100%);
}
.m-admin-weather-control button.has-error {
  background: linear-gradient(to bottom, rgb(248, 80, 50) 0%, rgb(241, 111, 92) 50%, rgb(246, 41, 12) 51%, rgb(240, 47, 23) 71%, rgb(231, 56, 39) 100%);
}
.m-admin-weather-control button.is-preview:not(.is-active):not(.has-changes) {
  background: #ff0012;
}
.m-admin-weather-control button.has-changes {
  animation: blinks 1s ease infinite forwards;
  background: linear-gradient(359deg, #f5d000, #fbf604, #fbb404);
  background-size: 600% 600%;
}
.m-admin-weather-control button.show-shortcut:after {
  position: absolute;
  content: attr(data-shortcut);
  text-transform: uppercase;
  right: 0;
  bottom: 0;
  border: outset 1px RGBA(122, 134, 152, 1);
  border-width: 2px 0px 0px 2px;
  padding: 2px 2px 0 4px;
  border-radius: 10px 0 0 0;
}
.m-admin-weather-control button {
  margin: 0 10px 10px 0;
}
.m-admin-weather-control button.space {
  cursor: default;
}
.m-admin-weather-control .filter {
  position: absolute;
  right: 20px;
  transform: translateY(-100%) translateX(-50%);
}
.m-admin-weather-control .filter input {
  font-size: 14px;
  padding: 10px 20px;
  border: unset;
}
.m-admin-weather-control .headline {
  width: 500px;
}
.m-admin-weather-control .message-list {
  width: calc(100% - 40px);
  margin: 0 20px 10% 0;
  padding: 20px;
  background: var(--white);
  list-style: none;
  height: 44vh;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}
.m-admin-weather-control .message-list .message {
  border-bottom: solid 1px #303030;
  margin: 0;
  display: block;
  padding: 10px;
  cursor: pointer;
  font-size: 14px;
  position: relative;
}
.m-admin-weather-control .message-list .message:hover {
  background: var(--status-yellow);
}
.m-admin-weather-control .message-list .message .HeatName,
.m-admin-weather-control .message-list .message .HeatType,
.m-admin-weather-control .message-list .message .StartTime,
.m-admin-weather-control .message-list .message .LiveTime,
.m-admin-weather-control .message-list .message .delete {
  display: inline-block;
  margin: 5px 5px 5px 0;
}
.m-admin-weather-control .message-list .message .HeatType {
  font-weight: bold;
}
.m-admin-weather-control .message-list .message .delete {
  position: absolute;
  right: 10%;
}
.m-admin-weather-control .message-list .message .StartTime {
  width: 40px;
  margin-left: 15px;
}
.m-admin-weather-control .message-list .message .HeatName {
  position: relative;
  width: 500px;
}
.m-admin-weather-control .message-list .message .HeatType {
  width: 40px;
  text-align: center;
}
.m-admin-weather-control .message-list .message .LiveTime input {
  border: unset;
  line-height: inherit;
  font-size: inherit;
  width: 50px;
  padding: 5px;
  background: #c12a17;
  color: var(--white);
  text-align: center;
}
.m-admin-weather-control .message-list .message.is-active {
  background: #a1a1a1;
  color: white;
}
.m-admin-weather-control .message-list .message span {
  vertical-align: top;
}
.m-admin-weather-control .custom {
  width: 70%;
}
.m-admin-weather-control .custom .custom-row {
  display: inline-block;
  align-self: stretch;
  margin: 5px 0;
  width: inherit;
}
.m-admin-weather-control .custom .custom-row label {
  font-size: 14px;
  display: block;
  margin: 5px 0;
  color: var(--white);
}
.m-admin-weather-control .custom input,
.m-admin-weather-control .custom select {
  font-family: var(--base-font-family);
  font-weight: normal;
  font-size: 16px;
  height: 47px;
  background: #303030;
  color: var(--white);
  display: inline-block;
  padding: 0 10px;
  border: none;
}
.m-admin-weather-control .custom select {
  width: 190px;
}
.m-admin-weather-control .custom .HeatName,
.m-admin-weather-control .custom .StartTime,
.m-admin-weather-control .custom .comment {
  margin: 5px 0;
}
.m-admin-weather-control .custom .StartTime {
  width: 60px;
  margin-right: 5px;
}
.m-admin-weather-control .custom .HeatName {
  width: 520px;
}
.m-admin-weather-control .custom .comment {
  width: calc(100% - 470px);
}
.m-admin-weather-control .custom .a-button {
  display: inline-block;
  margin-left: 10px;
}

.m-admin-caspar-control {
  vertical-align: top;
  flex-flow: wrap;
  margin-top: 3px;
  width: 100vw !important;
  height: 100vh;
  display: none;
}
.m-admin-caspar-control .channels {
  font-weight: 500;
  margin: 0 65px;
  width: calc(100% - 300px);
}
.m-admin-caspar-control .channels .channel {
  margin: 5px 0;
  padding: 20px 30px;
  background: #3d3e3b;
  display: flex;
  border-bottom: solid 1px #666;
  position: relative;
  min-height: 240px;
  align-items: flex-start;
  overflow: auto;
}
.m-admin-caspar-control .channels .channel:before {
  position: fixed;
  transform: rotate(-90deg) translateY(-45px) translateX(calc(-50% - 90px));
  transform-origin: left;
  color: var(--white);
}
.m-admin-caspar-control .channels .channel[id="1"]:before {
  content: "SDI 1 & 2";
}
.m-admin-caspar-control .channels .channel[id="2"]:before {
  content: "SDI 3 & 4";
}
.m-admin-caspar-control .channels .channel[id="3"]:before {
  content: "NDI PREVIEW";
}
.m-admin-caspar-control .channels .channel .layer {
  border: solid 1px #000;
  min-width: 300px;
  height: 200px;
  position: relative;
  background: var(--black);
  margin: 0 5px;
  overflow: hidden;
  display: none;
}
.m-admin-caspar-control .channels .channel .layer.is-active {
  display: inline-flex;
}
.m-admin-caspar-control .channels .channel .layer.is-active iframe,
.m-admin-caspar-control .channels .channel .layer.is-active button {
  display: block;
}
.m-admin-caspar-control .channels .channel .layer.is-dropped {
  display: inline-flex;
  opacity: 0.5;
}
.m-admin-caspar-control .channels .channel .layer.is-preview {
  display: inline-flex;
  border: dashed 2px #fa0000;
}
.m-admin-caspar-control .channels .channel .layer iframe {
  border: 0;
  width: 1920px;
  height: 1080px;
  position: absolute;
  z-index: 0;
  background: transparent;
  transform: scale(0.15625);
  transform-origin: top left;
}
.m-admin-caspar-control .channels .channel .layer .name {
  position: absolute;
  background: #666666;
  bottom: 0;
  width: 100%;
  line-height: 25px;
  padding: 0 10px;
  color: var(--white);
  z-index: 1;
}
.m-admin-caspar-control .channels .channel .layer .reset,
.m-admin-caspar-control .channels .channel .layer .remove {
  position: absolute;
  text-align: center;
  right: 10px;
  margin: 0;
  padding: 0;
  bottom: 5px;
  color: #fff;
  z-index: 2;
  cursor: pointer;
}
.m-admin-caspar-control .channels .channel .layer .reset.remove,
.m-admin-caspar-control .channels .channel .layer .remove.remove {
  right: 70px;
}
.m-admin-caspar-control .layers {
  margin-top: 0;
  margin-left: 65px;
  display: flex;
  flex-wrap: wrap;
  max-width: 90%;
  align-content: center;
}
.m-admin-caspar-control .layers .widget {
  font-size: 12px;
  user-select: none;
  padding: 0 10px;
  color: var(--white);
  line-height: 30px;
  display: inline-block;
  margin: 5px;
  cursor: move;
  background: #767987;
  border-radius: 5px;
  box-shadow: 2px 1px 7px 0px #000000;
}
.m-admin-caspar-control .layers .widget:hover {
  box-shadow: none;
}
.m-admin-caspar-control .layers .widget.is-active {
  background: #2c5b10;
  box-shadow: inset 0px 2px 2px 0px #000000;
}
.m-admin-caspar-control.is-visible {
  display: inline-flex;
}
.m-admin-caspar-control button {
  -webkit-user-select: none;
  outline: none;
  display: block;
  position: relative;
  background: #202020;
  color: #fff;
  text-shadow: 1px 1px 7px #000000;
  cursor: pointer;
  text-align: center;
  height: 50px;
  width: 110px;
  border: none;
  border-radius: 3px;
  font-size: 13px;
  overflow: hidden;
  text-indent: -2000px;
  box-shadow: 2px 4px 10px 0px #000;
}
.m-admin-caspar-control button:before {
  content: "";
  position: absolute;
  height: calc(100% - 4px);
  width: calc(100% - 4px);
  transform: translateX(-50%) translateY(-50%);
  left: 50%;
  top: 50%;
  border-radius: 5px;
  background: linear-gradient(to bottom, #525556 10%, #2c2c2c 13%, #0a0e0a 51%, #0a0809 85%, #404040 100%);
}
.m-admin-caspar-control button:after {
  content: attr(data-button-text);
  position: absolute;
  transform: translateX(-50%) translateY(-50%);
  top: 50%;
  left: 50%;
  color: #bcbcbc;
  z-index: 2;
  text-indent: 0;
}
.m-admin-caspar-control button.space {
  opacity: 0;
  width: 40px;
}
.m-admin-caspar-control button.space.fullButton {
  width: 120px;
}
.m-admin-caspar-control button.is-ready {
  background: none;
}
.m-admin-caspar-control button.is-active {
  background: linear-gradient(to bottom, rgb(157, 213, 58) 0%, rgb(161, 213, 79) 45%, rgb(128, 194, 23) 60%, rgb(124, 188, 10) 100%);
}
.m-admin-caspar-control button.has-error {
  background: linear-gradient(to bottom, rgb(248, 80, 50) 0%, rgb(241, 111, 92) 50%, rgb(246, 41, 12) 51%, rgb(240, 47, 23) 71%, rgb(231, 56, 39) 100%);
}
.m-admin-caspar-control button.is-preview:not(.is-active):not(.has-changes) {
  background: #ff0012;
}
.m-admin-caspar-control button.has-changes {
  animation: blinks 1s ease infinite forwards;
  background: linear-gradient(359deg, #f5d000, #fbf604, #fbb404);
  background-size: 600% 600%;
}
.m-admin-caspar-control button.show-shortcut:after {
  position: absolute;
  content: attr(data-shortcut);
  text-transform: uppercase;
  right: 0;
  bottom: 0;
  border: outset 1px RGBA(122, 134, 152, 1);
  border-width: 2px 0px 0px 2px;
  padding: 2px 2px 0 4px;
  border-radius: 10px 0 0 0;
}
.m-admin-caspar-control button {
  margin: 0 10px 10px 0;
}
.m-admin-caspar-control button.space {
  cursor: default;
}
.m-admin-caspar-control button.reset, .m-admin-caspar-control button.remove {
  z-index: 10;
}
.m-admin-caspar-control .row {
  display: inline-flex;
  width: 100%;
  position: relative;
  left: 0;
  margin-top: 0;
}
.m-admin-caspar-control > .buttons {
  -webkit-user-select: none;
  outline: none;
  display: inline-flex;
  padding: 10px;
  margin: 5px;
  cursor: pointer;
  width: 100px;
  height: 100px;
  border-radius: 23px;
  display: inline-block;
  background: linear-gradient(to top, rgb(226, 226, 226) 0%, rgb(219, 219, 219) 45%, rgb(209, 209, 209) 60%, rgb(254, 254, 254) 100%);
  font-weight: bold;
  position: relative;
  box-shadow: 4px 10px 4px 0 #8a8a8a;
  border: solid 4px rgba(255, 255, 255, 0.5882352941);
}
.m-admin-caspar-control > .buttons:disabled {
  background: grey;
}
.m-admin-caspar-control > .buttons.show-shortcut:after {
  position: absolute;
  content: attr(data-shortcut);
  text-transform: uppercase;
  right: 0;
  bottom: 0;
  border: outset 1px RGBA(122, 134, 152, 1);
  border-width: 2px 0 0 2px;
  padding: 1px 2px 1px 4px;
  border-radius: 10px 0 0 0;
}
.m-admin-caspar-control > .buttons.is-ready {
  background: linear-gradient(to bottom, rgb(248, 80, 50) 0%, rgb(241, 111, 92) 50%, rgb(246, 41, 12) 51%, rgb(240, 47, 23) 71%, rgb(231, 56, 39) 100%);
}
.m-admin-caspar-control > .buttons.is-active {
  background: linear-gradient(to top, rgb(157, 213, 58) 0%, rgb(161, 213, 79) 45%, rgb(128, 194, 23) 60%, rgb(124, 188, 10) 100%);
  top: 5px;
  box-shadow: 1px 4px 4px 0 #656565;
}
.m-admin-caspar-control > .buttons:hover:not(.is-active) {
  background: linear-gradient(to top, rgb(226, 226, 226) 0%, rgb(219, 219, 219) 45%, rgb(209, 209, 209) 60%, rgb(254, 254, 254) 100%);
  top: 1px;
  box-shadow: 3px 7px 4px 0 #7a7a7a;
}
.m-admin-caspar-control > .buttons.is-preview {
  background: #ff0012 !important;
  top: 5px;
  box-shadow: 1px 4px 4px 0 #656565;
}

.m-admin-image-control {
  vertical-align: top;
  flex-flow: wrap;
  margin-top: 3px;
  width: 100%;
  align-content: flex-start;
}
.m-admin-image-control input[type=file] {
  position: absolute;
  opacity: 0;
  top: -100vh;
}
.m-admin-image-control .row .tabs {
  display: flex;
  flex-direction: row;
}
.m-admin-image-control .row .tabs .tab {
  display: inline-flex;
}
.m-admin-image-control .row.tabContent {
  display: none;
}
.m-admin-image-control .row.tabContent.is-active {
  display: inline-flex;
}
.m-admin-image-control .images,
.m-admin-image-control .logos,
.m-admin-image-control .tracks,
.m-admin-image-control .videos,
.m-admin-image-control .brands,
.m-admin-image-control .sponsors,
.m-admin-image-control .flags {
  color: #fffdf3;
  display: inline-flex;
  flex-flow: wrap;
  height: 60vh;
  overflow-y: auto;
  min-width: 80vw;
}
.m-admin-image-control .teams {
  color: #fffdf3;
  display: inline-flex;
  flex-direction: row;
  flex-flow: row wrap;
  align-items: flex-start;
  height: 60vh;
  overflow-y: auto;
  min-width: 80vw;
}
.m-admin-image-control .teams .team-container {
  width: 100%;
  display: flex;
  flex-direction: column;
  margin-bottom: 20px;
}
.m-admin-image-control .teams .team-header {
  width: 100%;
  padding: 25px 10px 0px 10px;
  margin: 0 0 5px 0;
  background: var(--black);
  color: #fffdf3;
  font-size: 16px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.m-admin-image-control .teams .team-row {
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
}
.m-admin-image-control .teams .team-row .image {
  margin: 5px;
}
.m-admin-image-control .teams .team-row .image.placeholder {
  background: #3a3a3a;
  border: 2px dashed #666;
  cursor: pointer;
  opacity: 0.7;
  transition: opacity 0.3s ease, background 0.3s ease;
}
.m-admin-image-control .teams .team-row .image.placeholder:hover {
  opacity: 1;
  background: #4a4a4a;
  border-color: #0dcd27;
}
.m-admin-image-control .teams .team-row .image.placeholder .placeholder-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 48px;
  color: #999;
  font-weight: bold;
}
.m-admin-image-control .teams .team-row .image.placeholder .name {
  color: #999;
}
.m-admin-image-control .images .image,
.m-admin-image-control .logos .image,
.m-admin-image-control .tracks .image,
.m-admin-image-control .teams .image,
.m-admin-image-control .videos .image,
.m-admin-image-control .brands .image,
.m-admin-image-control .sponsors .image,
.m-admin-image-control .flags .image {
  position: relative;
  display: inline-flex;
  flex-flow: column wrap;
  user-select: none;
  -webkit-user-drag: none;
  background: #6d6d6d;
  padding: 5px 10px 25px 10px;
  border-radius: 5px 5px 0 0;
  width: 240px;
  height: 120px;
  cursor: pointer;
  margin: 5px 5px 40px 5px;
  background: url("/images/preview_bg.jpg") no-repeat;
  background-size: cover;
  border: solid 2px #000;
  border-bottom-width: 0;
}
.m-admin-image-control .images .image.is-selected,
.m-admin-image-control .logos .image.is-selected,
.m-admin-image-control .tracks .image.is-selected,
.m-admin-image-control .teams .image.is-selected,
.m-admin-image-control .videos .image.is-selected,
.m-admin-image-control .brands .image.is-selected,
.m-admin-image-control .sponsors .image.is-selected,
.m-admin-image-control .flags .image.is-selected {
  border-color: #0dcd27;
}
.m-admin-image-control .images .image.is-selected .name,
.m-admin-image-control .logos .image.is-selected .name,
.m-admin-image-control .tracks .image.is-selected .name,
.m-admin-image-control .teams .image.is-selected .name,
.m-admin-image-control .videos .image.is-selected .name,
.m-admin-image-control .brands .image.is-selected .name,
.m-admin-image-control .sponsors .image.is-selected .name,
.m-admin-image-control .flags .image.is-selected .name {
  border-color: #0dcd27;
}
.m-admin-image-control .images .image.is-active,
.m-admin-image-control .logos .image.is-active,
.m-admin-image-control .tracks .image.is-active,
.m-admin-image-control .teams .image.is-active,
.m-admin-image-control .videos .image.is-active,
.m-admin-image-control .brands .image.is-active,
.m-admin-image-control .sponsors .image.is-active,
.m-admin-image-control .flags .image.is-active {
  border-color: #cd0d0d;
}
.m-admin-image-control .images .image.is-active .name,
.m-admin-image-control .logos .image.is-active .name,
.m-admin-image-control .tracks .image.is-active .name,
.m-admin-image-control .teams .image.is-active .name,
.m-admin-image-control .videos .image.is-active .name,
.m-admin-image-control .brands .image.is-active .name,
.m-admin-image-control .sponsors .image.is-active .name,
.m-admin-image-control .flags .image.is-active .name {
  border-color: #cd0d0d;
}
.m-admin-image-control .images .image .delete-image,
.m-admin-image-control .logos .image .delete-image,
.m-admin-image-control .tracks .image .delete-image,
.m-admin-image-control .teams .image .delete-image,
.m-admin-image-control .videos .image .delete-image,
.m-admin-image-control .brands .image .delete-image,
.m-admin-image-control .sponsors .image .delete-image,
.m-admin-image-control .flags .image .delete-image {
  position: absolute;
  bottom: 4px;
  right: 4px;
  z-index: 50;
  width: 24px;
  height: 24px;
  padding: 0;
  border: none;
  border-radius: 4px;
  background: rgba(0, 0, 0, 0.7);
  color: #fff;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  opacity: 0.8;
  transition: opacity 0.2s;
  pointer-events: auto;
}
.m-admin-image-control .images .image .delete-image:hover,
.m-admin-image-control .logos .image .delete-image:hover,
.m-admin-image-control .tracks .image .delete-image:hover,
.m-admin-image-control .teams .image .delete-image:hover,
.m-admin-image-control .videos .image .delete-image:hover,
.m-admin-image-control .brands .image .delete-image:hover,
.m-admin-image-control .sponsors .image .delete-image:hover,
.m-admin-image-control .flags .image .delete-image:hover {
  opacity: 1;
  background: rgba(220, 53, 69, 0.9);
}
.m-admin-image-control .images .image.is-deleting,
.m-admin-image-control .logos .image.is-deleting,
.m-admin-image-control .tracks .image.is-deleting,
.m-admin-image-control .teams .image.is-deleting,
.m-admin-image-control .videos .image.is-deleting,
.m-admin-image-control .brands .image.is-deleting,
.m-admin-image-control .sponsors .image.is-deleting,
.m-admin-image-control .flags .image.is-deleting {
  opacity: 0.5;
  pointer-events: none;
}
.m-admin-image-control .images .image.is-uploading,
.m-admin-image-control .logos .image.is-uploading,
.m-admin-image-control .tracks .image.is-uploading,
.m-admin-image-control .teams .image.is-uploading,
.m-admin-image-control .videos .image.is-uploading,
.m-admin-image-control .brands .image.is-uploading,
.m-admin-image-control .sponsors .image.is-uploading,
.m-admin-image-control .flags .image.is-uploading {
  opacity: 0.7;
  pointer-events: none;
}
.m-admin-image-control .images .image.is-uploading:before,
.m-admin-image-control .logos .image.is-uploading:before,
.m-admin-image-control .tracks .image.is-uploading:before,
.m-admin-image-control .teams .image.is-uploading:before,
.m-admin-image-control .videos .image.is-uploading:before,
.m-admin-image-control .brands .image.is-uploading:before,
.m-admin-image-control .sponsors .image.is-uploading:before,
.m-admin-image-control .flags .image.is-uploading:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.75);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  border-radius: 8px;
  backdrop-filter: blur(2px);
}
.m-admin-image-control .images .image.is-uploading:after,
.m-admin-image-control .logos .image.is-uploading:after,
.m-admin-image-control .tracks .image.is-uploading:after,
.m-admin-image-control .teams .image.is-uploading:after,
.m-admin-image-control .videos .image.is-uploading:after,
.m-admin-image-control .brands .image.is-uploading:after,
.m-admin-image-control .sponsors .image.is-uploading:after,
.m-admin-image-control .flags .image.is-uploading:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 40px;
  height: 40px;
  border: 3px solid rgba(255, 255, 255, 0.3);
  border-top-color: #4CAF50;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
  z-index: 11;
}
.m-admin-image-control .images .image img,
.m-admin-image-control .logos .image img,
.m-admin-image-control .tracks .image img,
.m-admin-image-control .teams .image img,
.m-admin-image-control .videos .image img,
.m-admin-image-control .brands .image img,
.m-admin-image-control .sponsors .image img,
.m-admin-image-control .flags .image img {
  position: absolute;
  z-index: 0;
  max-width: 100%;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  max-height: 100%;
}
.m-admin-image-control .images .image .name,
.m-admin-image-control .logos .image .name,
.m-admin-image-control .tracks .image .name,
.m-admin-image-control .teams .image .name,
.m-admin-image-control .videos .image .name,
.m-admin-image-control .brands .image .name,
.m-admin-image-control .sponsors .image .name,
.m-admin-image-control .flags .image .name {
  position: absolute;
  bottom: 0;
  left: -2px;
  right: -2px;
  transform: translateY(100%);
  font-size: 13px;
  padding: 10px;
  border-radius: 0 0 5px 5px;
  background: var(--black);
  border: solid 2px #000;
  border-top-width: 0;
}
.m-admin-image-control .images .image {
  width: 349.0909090909px;
  height: 196.3636363636px;
}
.m-admin-image-control .logos .image img {
  max-width: 80%;
  max-height: 80%;
}
.m-admin-image-control .videos .image {
  width: 349.0909090909px;
  height: 196.3636363636px;
}
.m-admin-image-control select.teamOptions option.has-image {
  color: #0dcd27;
  font-weight: 600;
}
.m-admin-image-control select.teamOptions option.has-image img {
  max-width: 100%;
  max-height: 100%;
}
.m-admin-image-control .admin {
  position: absolute;
  width: 400px;
  right: 20px;
  display: none;
}
.m-admin-image-control .admin.is-active {
  display: block;
}
.m-admin-image-control .admin .preview {
  width: 1920px;
  height: 1080px;
  transform-origin: top right;
  transform: scale(0.15) translateX(0) translateY(0);
  background: #3b5998;
  background-size: 120%;
  left: unset;
  right: 0;
  bottom: unset;
  position: absolute;
  display: block;
  box-shadow: inset 0px 0px 2px 7px #fff;
  z-index: 10;
  top: -20px;
  opacity: 0.5;
  transition: opacity 0.2s ease 0.3s, transform 0.2s ease 0.3s, box-shadow 0.2s ease 0.3s;
  cursor: pointer;
}
.m-admin-image-control .admin .preview:hover:before {
  content: "CLICK TO POSITION";
  font-weight: bold;
  font-size: 75px;
  background: #ffffff;
  border: solid 1px #000000;
  padding: 5px 10px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  opacity: 1;
  transition: opacity 0.3s ease 0.5s;
}
.m-admin-image-control .admin .preview:hover:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  box-shadow: 0vh 10vh 0 100vh rgba(0, 0, 0, 0);
  z-index: -1;
  transition: box-shadow 0.5s ease;
}
.m-admin-image-control .admin .preview.is-active {
  transform: scale(0.5) translateX(-45%) translateY(30%);
  z-index: 10;
  opacity: 1;
  box-shadow: inset 0px 0px 2px 7px #fff, inset 20px 0px 0px 40px #3765b0, inset -20px 0px 0px 40px #3765b0;
  transition: opacity 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease 0.3s;
}
.m-admin-image-control .admin .preview.is-active:before {
  opacity: 0;
  transition-delay: 0s;
  font-size: 35px;
}
.m-admin-image-control .admin .preview.is-active:after {
  content: "";
  position: absolute;
  box-shadow: 0vh 10vh 0 100vh rgba(0, 0, 0, 0.6);
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
  transition: box-shadow 0.5s ease 0.3s;
}
.m-admin-image-control .admin .preview .imgHolder {
  user-select: none;
  -webkit-user-drag: none;
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 70px;
  transform-origin: center center;
  transform: translateY(-50%) translateX(-50%);
}
.m-admin-image-control .admin .preview .imgHolder img {
  width: inherit;
  user-select: none;
  -webkit-user-drag: none;
}
.m-admin-image-control .admin .position {
  display: none;
  position: relative;
  width: 110px;
  left: 45px;
}
.m-admin-image-control .admin .position input {
  position: absolute;
  border: none;
  width: 40px;
  left: 50%;
  top: 50%;
  text-align: center;
}
.m-admin-image-control .admin .position input.top {
  transform: translateX(-100%);
}
.m-admin-image-control .admin .position input.left {
  transform: translateY(-100%);
}

@keyframes spin {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
.m-admin-comparison-control {
  margin-top: 3px;
  display: none;
}
.m-admin-comparison-control .filter {
  font-weight: bold;
  color: #cac7b9;
  margin-left: 65px;
}
.m-admin-comparison-control .info-text {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 20px;
  margin: 10px 0;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 5px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  transition: all 0.3s ease;
}
.m-admin-comparison-control .info-text.ready {
  background: rgba(61, 205, 49, 0.15);
  border-color: rgba(61, 205, 49, 0.3);
}
.m-admin-comparison-control .info-text.warning {
  background: rgba(255, 152, 0, 0.15);
  border-color: rgba(255, 152, 0, 0.3);
}
.m-admin-comparison-control .info-text .text {
  font-weight: bold;
  color: var(--white);
  font-size: 16px;
}
.m-admin-comparison-control .info-text .selected-count {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 5px 15px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 20px;
  transition: all 0.3s ease;
}
.m-admin-comparison-control .info-text .selected-count .count {
  font-weight: 500;
  font-family: var(--base-font-mono-numbers);
  letter-spacing: var(--base-letter-spacing-mono-numbers);
  font-size: 20px;
  font-weight: bold;
  color: var(--white);
  min-width: 20px;
  text-align: center;
}
.m-admin-comparison-control .info-text .selected-count .label {
  font-weight: bold;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.7);
}
.m-admin-comparison-control .info-text.ready .selected-count {
  background: rgba(61, 205, 49, 0.2);
}
.m-admin-comparison-control .info-text.warning .selected-count {
  background: rgba(255, 152, 0, 0.2);
}
.m-admin-comparison-control .holder {
  vertical-align: top;
  flex-flow: column;
  overflow-y: scroll;
  margin-top: 5px;
  padding-left: 0;
  width: calc(100vw - 170px);
  height: calc(100vh - 600px);
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  justify-content: flex-start;
  transform: translateY(-50px);
}
.m-admin-comparison-control .holder.show-race-class, .m-admin-comparison-control .holder.show-division {
  padding-top: 30px;
}
.m-admin-comparison-control .holder.show-race-class .m-running-clock.is-visible:after {
  content: attr(data-pic);
}
.m-admin-comparison-control .holder.show-division .m-running-clock.is-visible:after {
  content: attr(data-pid);
}
.m-admin-comparison-control.is-visible {
  display: block !important;
}
.m-admin-comparison-control .selector {
  position: absolute;
  right: 0;
  top: 5vh;
}
.m-admin-comparison-control .selector .title {
  color: #FFFFFF;
  padding: 5px;
  margin-bottom: 18px;
}
.m-admin-comparison-control .holder {
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  max-height: 90vh;
}
.m-admin-comparison-control .holder .team {
  line-height: 28px;
  font-size: 18px;
  display: inline-flex;
  margin-bottom: 1px;
  cursor: pointer;
  opacity: 0.8;
  margin-right: 20px;
}
.m-admin-comparison-control .holder .team[data-state="5"] > div {
  background: #9b1515;
  color: white;
}
.m-admin-comparison-control .holder .team[data-state="3"] > div {
  background: #101093;
  color: white;
}
.m-admin-comparison-control .holder .team.is-active > div {
  background: var(--tower-number-bg);
  color: var(--tower-number-color);
}
.m-admin-comparison-control .holder .team:hover {
  opacity: 1;
}
.m-admin-comparison-control .holder .team > div {
  display: inline-flex;
}
.m-admin-comparison-control .holder .team .pos {
  font-weight: 500;
  font-family: var(--base-font-mono-numbers);
  letter-spacing: var(--base-letter-spacing-mono-numbers);
  background: var(--tower-position-bg);
  color: var(--tower-position-color);
  width: 40px;
  justify-content: center;
  order: 1;
}
.m-admin-comparison-control .holder .team .startNumber {
  font-weight: 500;
  font-family: var(--base-font-mono-numbers);
  letter-spacing: var(--base-letter-spacing-mono-numbers);
  background: var(--tower-number-bg);
  color: var(--tower-number-color);
  min-width: 50px;
  justify-content: center;
  order: 2;
}
.m-admin-comparison-control .holder .team .name {
  background: var(--tower-data-bg);
  color: var(--tower-data-color);
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  min-width: 270px;
  max-width: 270px;
  order: 3;
  padding: 0 10px;
  text-transform: uppercase;
}
.m-admin-comparison-control .holder .team .diff {
  font-weight: 500;
  font-family: var(--base-font-mono-numbers);
  letter-spacing: var(--base-letter-spacing-mono-numbers);
  background: var(--tower-number-bg);
  color: var(--tower-number-color);
  min-width: 80px;
  order: 3;
  padding: 0 10px;
  text-transform: uppercase;
  justify-content: right;
  max-width: 80px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.m-admin-comparison-control .holder .team .state {
  background: var(--tower-data-bg);
  color: var(--tower-data-color);
  width: 120px;
  order: 4;
  padding: 0 10px;
  text-transform: uppercase;
  font-size: 15px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.m-admin-comparison-control .o-comparison {
  margin: 0 10px 40px 20px;
  cursor: pointer;
  transform: scale3d(0.8, 0.8, 0.8);
  order: 500;
  opacity: 1;
  background: #0a0e0a;
  overflow: unset;
}
.m-admin-comparison-control .o-comparison:after {
  content: "LOADING...";
  position: absolute;
  left: 50%;
  top: 56%;
  transform: translateX(-50%) translateY(-50%);
  z-index: 10;
  font-size: 30px;
  transition: 0.2s;
}
.m-admin-comparison-control .o-comparison.is-visible {
  clip-path: inset(-25px -4px -25px -65px);
}
.m-admin-comparison-control .o-comparison.is-visible:after {
  font-weight: 500;
  font-family: var(--base-font-mono-numbers);
  letter-spacing: var(--base-letter-spacing-mono-numbers);
  content: attr(data-pos);
  left: -4px;
  top: 0;
  transform: translateX(-100%) translateY(0);
  font-size: 28px;
  letter-spacing: -0.5;
  background: #143a62;
  width: 60px;
  line-height: 37px;
  text-align: center;
  text-shadow: 1px 1px 4px #0a0e0a;
}
.m-admin-comparison-control .o-comparison.is-selected {
  box-shadow: 0 0 0 4px #3dcd31;
}
.m-admin-comparison-control .o-comparison.is-active {
  box-shadow: 0 0 0 4px #bb0000;
}

.m-admin-track-limit-control .logo {
  position: fixed;
  width: 200px;
  height: 80px;
  right: 100px;
  top: 10px;
}
.m-admin-track-limit-control .logo img {
  height: 100%;
  object-fit: contain;
}
.m-admin-track-limit-control.normal .normal {
  display: block;
}
.m-admin-track-limit-control.normal .detections {
  display: none;
}
.m-admin-track-limit-control.detections .normal {
  display: none;
}
.m-admin-track-limit-control.detections .detections {
  display: block;
}
.m-admin-track-limit-control.detections .detections .cameras {
  height: 80vh;
  width: 91vw;
}
.m-admin-track-limit-control.detections .detections .cameras .message-list {
  height: 78vh;
}
.m-admin-track-limit-control.detections .detections .cameras .message-list .message:hover {
  background: var(--status-yellow) !important;
}
.m-admin-track-limit-control.detections .detections .cameras .message-list .message:hover .preview-wrapper {
  height: 200px;
  width: 250px;
  z-index: 4;
}
.m-admin-track-limit-control.detections .detections .cameras .message-list .message:hover .preview-wrapper .preview {
  width: 150%;
}
.m-admin-track-limit-control.detections .detections .cameras .message-list .message.ident .preview-wrapper .preview {
  width: 200%;
}
.m-admin-track-limit-control button {
  -webkit-user-select: none;
  outline: none;
  display: block;
  position: relative;
  background: #202020;
  color: #fff;
  text-shadow: 1px 1px 7px #000000;
  cursor: pointer;
  text-align: center;
  height: 50px;
  width: 110px;
  border: none;
  border-radius: 3px;
  font-size: 13px;
  overflow: hidden;
  text-indent: -2000px;
  box-shadow: 2px 4px 10px 0px #000;
}
.m-admin-track-limit-control button:before {
  content: "";
  position: absolute;
  height: calc(100% - 4px);
  width: calc(100% - 4px);
  transform: translateX(-50%) translateY(-50%);
  left: 50%;
  top: 50%;
  border-radius: 5px;
  background: linear-gradient(to bottom, #525556 10%, #2c2c2c 13%, #0a0e0a 51%, #0a0809 85%, #404040 100%);
}
.m-admin-track-limit-control button:after {
  content: attr(data-button-text);
  position: absolute;
  transform: translateX(-50%) translateY(-50%);
  top: 50%;
  left: 50%;
  color: #bcbcbc;
  z-index: 2;
  text-indent: 0;
}
.m-admin-track-limit-control button.space {
  opacity: 0;
  width: 40px;
}
.m-admin-track-limit-control button.space.fullButton {
  width: 120px;
}
.m-admin-track-limit-control button.is-ready {
  background: none;
}
.m-admin-track-limit-control button.is-active {
  background: linear-gradient(to bottom, rgb(157, 213, 58) 0%, rgb(161, 213, 79) 45%, rgb(128, 194, 23) 60%, rgb(124, 188, 10) 100%);
}
.m-admin-track-limit-control button.has-error {
  background: linear-gradient(to bottom, rgb(248, 80, 50) 0%, rgb(241, 111, 92) 50%, rgb(246, 41, 12) 51%, rgb(240, 47, 23) 71%, rgb(231, 56, 39) 100%);
}
.m-admin-track-limit-control button.is-preview:not(.is-active):not(.has-changes) {
  background: #ff0012;
}
.m-admin-track-limit-control button.has-changes {
  animation: blinks 1s ease infinite forwards;
  background: linear-gradient(359deg, #f5d000, #fbf604, #fbb404);
  background-size: 600% 600%;
}
.m-admin-track-limit-control button.show-shortcut:after {
  position: absolute;
  content: attr(data-shortcut);
  text-transform: uppercase;
  right: 0;
  bottom: 0;
  border: outset 1px RGBA(122, 134, 152, 1);
  border-width: 2px 0px 0px 2px;
  padding: 2px 2px 0 4px;
  border-radius: 10px 0 0 0;
}
.m-admin-track-limit-control button {
  margin: 0 10px 10px 0;
}
.m-admin-track-limit-control button.space {
  cursor: default;
}
.m-admin-track-limit-control .filter {
  position: absolute;
  right: 20px;
  transform: translateY(-100%) translateX(-50%);
}
.m-admin-track-limit-control .filter input {
  font-size: 14px;
  padding: 10px 20px;
  border: solid 1px var(--white);
}
.m-admin-track-limit-control .tabContent {
  display: none;
}
.m-admin-track-limit-control .tabContent.is-active {
  display: inline-flex;
}
.m-admin-track-limit-control .detection-details {
  position: relative;
  display: block;
  width: 80vw;
  height: 40vh;
}
.m-admin-track-limit-control .detection-details .images {
  display: inline-flex;
}
.m-admin-track-limit-control .detection-details img,
.m-admin-track-limit-control .detection-details video {
  height: 38vh;
}
.m-admin-track-limit-control .detection-details .slider {
  width: 100%;
  display: block;
  padding: 0;
  margin: 10px 0 0 0;
}
.m-admin-track-limit-control .cameras {
  display: flex;
  width: calc(100% - 40px);
  margin: 10px 0 0 0;
  padding: 0;
  height: 40vh;
  flex-direction: row;
  justify-content: space-between;
}
.m-admin-track-limit-control .cameras .tabContent {
  flex-grow: 1;
}
.m-admin-track-limit-control .cameras .message-list-holder {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  flex-grow: 1;
  margin: 0;
  padding: 0 5px;
}
.m-admin-track-limit-control .cameras .message-list-holder[class*=ident] {
  display: none;
}
.m-admin-track-limit-control .cameras .message-list-holder:before {
  content: attr(data-name);
  display: block;
  position: absolute;
  top: -10px;
  left: 0;
  color: var(--white);
  transform: translateY(-100%);
  font-size: 16px;
}
.m-admin-track-limit-control .cameras .message-list-holder .message-list {
  background: var(--white);
  font-size: 20px;
  list-style: none;
  height: 22vh;
  width: 100%;
  overflow-y: auto;
  display: inline-flex;
  flex-direction: column;
}
.m-admin-track-limit-control .cameras .message-list-holder .message-list .message {
  border-bottom: solid 1px #303030;
  margin-bottom: 10px;
  display: block;
  padding: 10px;
  cursor: pointer;
  order: 0;
  position: relative;
}
.m-admin-track-limit-control .cameras .message-list-holder .message-list .message:hover {
  background: var(--status-yellow) !important;
}
.m-admin-track-limit-control .cameras .message-list-holder .message-list .message[data-status=confirmed] {
  background: #008d5b;
}
.m-admin-track-limit-control .cameras .message-list-holder .message-list .message[data-status=rejected] {
  display: none;
  background: #ba2225;
}
.m-admin-track-limit-control .cameras .message-list-holder .message-list .message[data-status=ignored] {
  background: #303030;
  display: none;
}
.m-admin-track-limit-control .cameras .message-list-holder .message-list .message.YELLOW {
  background: var(--status-yellow);
  color: var(--black);
}
.m-admin-track-limit-control .cameras .message-list-holder .message-list .message.RAIN {
  background: #126fed;
}
.m-admin-track-limit-control .cameras .message-list-holder .message-list .message.PENALTY {
  background: var(--black);
  border: dashed 2px #bb0000;
  color: var(--white);
}
.m-admin-track-limit-control .cameras .message-list-holder .message-list .message .topic {
  background: #303030;
  color: var(--white);
  font-size: 12px;
  padding: 3px;
  display: inline-block;
  margin-right: 10px;
  border-radius: 3px;
  margin-bottom: 5px;
}
.m-admin-track-limit-control .cameras .message-list-holder .message-list .message .start-time {
  margin-bottom: 5px;
  font-size: 12px;
  display: inline-block;
}
.m-admin-track-limit-control .cameras .message-list-holder .message-list .message .preview-wrapper {
  position: absolute;
  width: 100px;
  height: 40px;
  right: 20px;
  top: 50%;
  overflow: clip;
  transform: translateY(-50%);
  transition: width 0.2s ease, height 0.2s ease;
}
.m-admin-track-limit-control .cameras .message-list-holder .message-list .message .preview-wrapper .preview {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateY(-25%) translateX(-66%);
  width: 170%;
}
.m-admin-track-limit-control .cameras .message-list-holder .message-list .message.ident .preview-wrapper .preview {
  transform: translateY(-35%) translateX(-50%);
  width: 200%;
}
.m-admin-track-limit-control .cameras .message-list-holder .message-list .message.is-active {
  background: #089dee;
}
.m-admin-track-limit-control .cameras .message-list-holder .message-list .message.is-active .start-time {
  color: #fff;
}
.m-admin-track-limit-control .cameras .message-list-holder .message-list .message .line1,
.m-admin-track-limit-control .cameras .message-list-holder .message-list .message .line2 {
  padding: 10px;
  background: rgba(246, 246, 246, 0.9);
  display: block;
}
.m-admin-track-limit-control .cameras .message-list-holder .message-list .message .line1 span,
.m-admin-track-limit-control .cameras .message-list-holder .message-list .message .line2 span {
  display: inline-block;
  vertical-align: baseline;
  padding: 3px 3px;
  margin: 0 3px;
  background: #303030;
  color: var(--white);
  border-radius: 3px;
}
.m-admin-track-limit-control .cameras .message-list-holder .message-list .message .line1 {
  margin-bottom: 5px;
}
.m-admin-track-limit-control .cameras .message-list-holder .message-list .message .entries {
  display: inline-block;
}
.m-admin-track-limit-control .cameras .message-list-holder .message-list .message .entries .entry {
  display: flex;
}
.m-admin-track-limit-control .cameras .message-list-holder .message-list .message .entries .entry div {
  width: 50px;
  display: inline-block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  margin-right: 20px;
}
.m-admin-track-limit-control .cameras .message-list-holder .message-list .message .entries .entry .team-nationality {
  width: 70px;
  border-radius: 5px 0 5px 0;
  overflow: hidden;
}
.m-admin-track-limit-control .cameras .message-list-holder .message-list .message .entries .entry .team-nationality img {
  height: 28px;
}
.m-admin-track-limit-control .cameras .message-list-holder .message-list .message .entries .entry .car {
  width: 300px;
}
.m-admin-track-limit-control .cameras .message-list-holder .message-list .message .entries .entry .entry-name {
  width: 400px;
}
.m-admin-track-limit-control .cameras .message-list-holder .message-list .message .entries .entry .start-no {
  min-width: 50px;
}
.m-admin-track-limit-control .cameras .message-list-holder .message-list .message .entries .entry .start-no:before {
  content: "#";
}
.m-admin-track-limit-control .custom {
  width: 70%;
}
.m-admin-track-limit-control .custom input {
  font-size: 20px;
  line-height: 38px;
  font-family: var(--base-font-family);
  font-weight: normal;
  height: 47px;
  background: #303030;
  color: var(--white);
  display: inline-block;
  padding: 0 10px;
  border: none;
  text-transform: uppercase;
  z-index: 10;
}
.m-admin-track-limit-control .custom .topic {
  width: 150px;
  background: var(--white);
  color: #303030;
  text-align: center;
}
.m-admin-track-limit-control .custom .text {
  width: calc(100% - 370px);
}
.m-admin-track-limit-control .custom .a-button {
  display: inline-block;
  margin-left: 10px;
}

.release-notes-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 20px;
  min-height: 100vh;
  box-sizing: border-box;
}
body.is-admin .release-notes-container {
  color: #fffdf3;
}

.m-release-note {
  font-weight: 500;
  font-family: var(--base-font-mono-numbers);
  letter-spacing: var(--base-letter-spacing-mono-numbers);
  display: block;
  margin: 15px 0;
  padding: 15px 0;
  border-bottom: solid 1px rgba(255, 255, 255, 0.15);
  color: #fffdf3;
}
body.is-admin .m-release-note {
  color: #fffdf3;
}
.m-release-note.fixed {
  text-decoration: line-through;
  opacity: 0.5;
}
body.is-admin .m-release-note.fixed {
  color: #fffdf3;
}
.m-release-note.fixed .date,
.m-release-note.fixed .component {
  display: none;
}
.m-release-note.is-section {
  font-weight: bold;
  font-size: 30px;
  border-bottom: unset;
  text-transform: uppercase;
  color: #fffdf3;
  margin-top: 40px;
  margin-bottom: 25px;
  padding: 0;
}
body.is-admin .m-release-note.is-section {
  color: #fffdf3;
}
.m-release-note.is-section .date,
.m-release-note.is-section .component {
  display: none;
}
.m-release-note .date {
  display: inline-block;
  margin: 0 10px 0 0;
  padding: 5px 0;
  vertical-align: middle;
  color: #fffdf3;
  opacity: 0.8;
  font-size: 13px;
}
body.is-admin .m-release-note .date {
  color: #fffdf3;
}
.m-release-note .component {
  display: inline-block;
  background: #0dcd27;
  color: var(--black);
  padding: 5px 14px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  margin: 0 15px 0 0;
  vertical-align: middle;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}
.m-release-note .content {
  display: block;
  margin: 12px 0 0 0;
  padding: 0;
  width: 100%;
  clear: both;
  color: #fffdf3;
}
body.is-admin .m-release-note .content {
  color: #fffdf3;
}
.m-release-note .content .benefit {
  display: block;
  margin-bottom: 8px;
  line-height: 1.7;
  font-size: 14px;
}
.m-release-note .content .technical {
  display: block;
  font-size: 12px;
  color: rgba(255, 253, 243, 0.4);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-top: 8px;
  font-weight: 600;
  line-height: 1.5;
}

.o-settings {
  background: #cdcdcd;
  opacity: 1;
  display: flex;
  flex-direction: column;
}
.o-settings h2,
.o-settings h3 {
  padding: 30px 30px 30px 15px;
  font-size: 40px;
  font-weight: bold;
  text-transform: uppercase;
  border-bottom: solid 2px #000;
  border-top: solid 2px #000;
  background: #a1a1a1;
  margin: 20px 0;
}
.o-settings h2:first-child,
.o-settings h3:first-child {
  margin-top: 0;
}
.o-settings h2:last-child,
.o-settings h3:last-child {
  margin-bottom: 0;
}
.o-settings h3 {
  font-size: 25px;
  padding: 5px 5px 5px 30px;
  background: #dbdbdb;
  border-width: 1px;
}
.o-settings .setting {
  display: inline-flex;
  color: var(--black);
  width: calc(100vw - 50px);
  padding: 15px 10px;
  background: white;
  margin: 25px 5px;
  border-radius: 10px;
  border: solid 1px #cdcdcd;
  position: relative;
}
.o-settings .setting .value {
  background: var(--white);
  width: 100%;
  height: 15px;
  padding: 10px 5px;
  border: solid 1px #cdcdcd;
}
.o-settings .setting select.value {
  padding: 8px 0;
  width: 90%;
  height: unset;
}
.o-settings .setting .values {
  width: auto;
  display: inline-flex;
}
.o-settings .setting .values button.option {
  background: linear-gradient(201deg, #ffffff 10%, #e9e9e9 40%, #dedede 100%);
  border: none;
  padding: 10px 15px;
  cursor: pointer;
  color: black;
  font-size: 16px;
  min-width: 100px;
  display: inline-flex;
}
.o-settings .setting .values button.option:hover {
  background: linear-gradient(201deg, #ffffff 10%, #e9e9e9 40%, #dedede 100%);
  color: black;
}
.o-settings .setting .values button.option:first-child {
  border-radius: 10px 0 0 10px;
}
.o-settings .setting .values button.option:last-child {
  border-radius: 0 10px 10px 0;
}
.o-settings .setting .widget {
  display: none;
}
.o-settings .setting .name {
  text-align: right;
  margin-right: 10px;
  min-width: 300px;
  background: #2eccd7;
  border-radius: 5px;
  line-height: 5px;
  width: auto;
}
.o-settings .setting div {
  margin-bottom: 10px;
  padding: 10px;
  width: 250px;
}
.o-settings .setting div.application {
  display: none;
}
.o-settings .setting div.badge {
  width: auto;
  font-size: 12px;
}

.slider-container {
  justify-content: center;
  padding: 10px 0;
  visibility: hidden;
}
.is-connected .slider-container {
  visibility: visible;
}
.slider-container label {
  display: inline-block;
  margin-right: 10px;
  font-size: 12px;
}
.slider-container label.speed {
  width: 10%;
}
.slider-container .slider {
  display: inline-block;
  -webkit-appearance: none;
  width: calc(60% - 10px);
  height: 5px;
  background: #d3d3d3;
  outline: none;
  opacity: 0.7;
  -webkit-transition: 0.2s;
  transition: opacity 0.2s;
  cursor: pointer;
  margin-right: 10px;
}

.heat-control {
  justify-content: center;
  padding: 10px 0;
  visibility: hidden;
}
.is-connected .heat-control {
  visibility: visible;
}
.heat-control label {
  display: inline-block;
  margin-right: 10px;
  font-size: 12px;
}
.heat-control label.speed {
  width: 10%;
}
.heat-control .input {
  display: inline-block;
  -webkit-appearance: none;
  width: calc(60% - 10px);
  height: 5px;
  background: #d3d3d3;
  outline: none;
  opacity: 0.7;
  -webkit-transition: 0.2s;
  transition: opacity 0.2s;
  cursor: pointer;
  margin-right: 10px;
}

.o-data-monitor {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  max-height: 100vh;
  height: 100vh;
  width: 100vw;
  flex-direction: column;
  overflow: auto;
  opacity: 1;
}
.o-data-monitor h2 {
  padding: 10px 0;
}
.o-data-monitor .header-wrapper {
  display: flex;
  color: var(--white);
  justify-content: center;
  align-items: center;
  padding: 1rem 0;
}
.o-data-monitor .centered-layout {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  padding: 1rem;
  width: 100%;
}
.o-data-monitor .card-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  width: 100%;
}
.o-data-monitor .card {
  background-color: white;
  border-radius: 5px;
  box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.1);
  padding: 1rem;
  width: calc(35% - 1rem);
  max-width: 250px;
  text-align: center;
  margin-bottom: 2rem;
}
.o-data-monitor .card.is-connected {
  background: #daf8b3;
}
.o-data-monitor .card .sub-container {
  min-height: 200px;
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.o-data-monitor .logo {
  max-height: 300px;
  max-width: 50%;
  margin-bottom: 1rem;
}
.o-data-monitor .logo:before {
  display: block;
  content: "";
  min-height: 500px;
}
.o-data-monitor .connection-buttons {
  display: flex;
  justify-content: space-around;
  min-height: 50px;
}
.o-data-monitor button {
  background-color: #007bff;
  border: none;
  border-radius: 5px;
  color: white;
  cursor: pointer;
  font-size: 1rem;
  padding: 0.5rem;
  text-transform: uppercase;
  transition: background-color 0.3s;
  display: none;
}
.o-data-monitor button.disconnect-btn {
  background-color: #dc3545;
}
.o-data-monitor button.restart-btn {
  background-color: #b835dc;
}
.o-data-monitor button:hover {
  opacity: 0.8;
}
.o-data-monitor button.is-visible {
  display: block;
}

.o-directors-view {
  font-family: var(--base-font-family);
  font-weight: normal;
  position: relative;
  display: none;
  width: 100vw;
  height: 100vh;
  flex: 1 0 0;
  background: var(--admin-bg);
  color: var(--white);
}
.o-directors-view.is-visible {
  display: block;
}
.o-directors-view .title {
  padding: 5px 0;
  text-transform: uppercase;
}
.o-directors-view.Q .team .fastestLap {
  display: inline-block;
}
.o-directors-view.R .team .diff {
  display: inline-block;
}
.o-directors-view .heat {
  position: absolute;
  left: 2.5%;
  top: 5%;
}
.o-directors-view .heat .HeatName {
  font-size: 50px;
}
.o-directors-view .heat .Laps,
.o-directors-view .heat .LapsLength,
.o-directors-view .heat .FastestLap {
  font-weight: 500;
  font-family: var(--base-font-mono-numbers);
  letter-spacing: var(--base-letter-spacing-mono-numbers);
  font-size: 25px;
}
.o-directors-view .heat .FastestLap:before {
  font-family: var(--base-font-family);
  font-weight: normal;
  content: "FASTEST LAP: ";
  position: relative;
}
.o-directors-view .heat .timeLapsHolder {
  position: absolute;
  width: auto;
  top: 5%;
  left: 90vw;
  display: inline-flex;
}
.o-directors-view .heat .timeLapsHolder:before {
  content: "LAPS";
  position: absolute;
  text-align: center;
  width: 100%;
  left: 0;
  transform: translateY(-100%);
}
.o-directors-view .heat .timeLapsHolder > div {
  display: inline-block;
}
.o-directors-view .heat .timeLapsHolder .Laps {
  text-align: right;
}
.o-directors-view .heat .timeLapsHolder .Laps:after {
  content: "/";
  position: relative;
  padding: 0 10px;
}
.o-directors-view .heat .Status {
  position: absolute;
  width: 100vw;
  height: 100vh;
  top: -5vh;
  left: -2.5vw;
  border: solid 10px transparent;
}
.o-directors-view .heat .Status.GREEN {
  border-color: var(--status-green);
  color: transparent;
}
.o-directors-view .heat .Status.YELLOW {
  border-color: var(--status-yellow);
  color: transparent;
}
.o-directors-view .heat .Status.CODE60 {
  border-color: var(--status-code60);
  color: transparent;
}
.o-directors-view .heat .Status.FINISHED {
  border-color: var(--white);
  border-style: dashed;
  color: transparent;
}
.o-directors-view .heat .Status.COMPLETED {
  border-color: #d0d0d0;
  color: transparent;
}
.o-directors-view .heat .Status.FULLCOURSEYELLOW {
  border-color: var(--status-yellow);
}
.o-directors-view .fastestLapHolder {
  margin-top: 25px;
}
.o-directors-view .fastestLapHolder:before {
  content: "FASTEST LAP";
  display: block;
  padding-bottom: 5px;
}
.o-directors-view .fastestLapHolder .title {
  text-align: right;
}
.o-directors-view .fastestLapHolder .team {
  display: inline-flex;
}
.o-directors-view .fastestLapHolder .team .shortName,
.o-directors-view .fastestLapHolder .team .diff {
  display: none;
}
.o-directors-view .fastestLapHolder .team .fastestLap {
  display: inline-block;
}
.o-directors-view .top10 {
  position: absolute;
  left: 2.5%;
  top: calc(5% + 150px);
}
.o-directors-view .top10 .team {
  display: none;
  order: 500;
}
.o-directors-view .top10 .team[data-pos="1"] .R .o-directors-view .top10 .team .diff {
  color: transparent;
}
.o-directors-view .top10 .team[data-pos="1"] .R .o-directors-view .top10 .team .diff:before {
  content: "LEADER";
  color: var(--white);
  position: absolute;
  right: 20px;
}
.o-directors-view .top10 .team[data-pos="1"][data-state="0"], .o-directors-view .top10 .team[data-pos="1"][data-state="1"], .o-directors-view .top10 .team[data-pos="1"][data-state="2"], .o-directors-view .top10 .team[data-pos="1"][data-state="3"], .o-directors-view .top10 .team[data-pos="1"][data-state="4"], .o-directors-view .top10 .team[data-pos="1"][data-state="5"] {
  display: flex;
}
.o-directors-view .top10 .team[data-pos="2"][data-state="0"], .o-directors-view .top10 .team[data-pos="2"][data-state="1"], .o-directors-view .top10 .team[data-pos="2"][data-state="2"], .o-directors-view .top10 .team[data-pos="2"][data-state="3"], .o-directors-view .top10 .team[data-pos="2"][data-state="4"], .o-directors-view .top10 .team[data-pos="2"][data-state="5"] {
  display: flex;
}
.o-directors-view .top10 .team[data-pos="3"][data-state="0"], .o-directors-view .top10 .team[data-pos="3"][data-state="1"], .o-directors-view .top10 .team[data-pos="3"][data-state="2"], .o-directors-view .top10 .team[data-pos="3"][data-state="3"], .o-directors-view .top10 .team[data-pos="3"][data-state="4"], .o-directors-view .top10 .team[data-pos="3"][data-state="5"] {
  display: flex;
}
.o-directors-view .top10 .team[data-pos="4"][data-state="0"], .o-directors-view .top10 .team[data-pos="4"][data-state="1"], .o-directors-view .top10 .team[data-pos="4"][data-state="2"], .o-directors-view .top10 .team[data-pos="4"][data-state="3"], .o-directors-view .top10 .team[data-pos="4"][data-state="4"], .o-directors-view .top10 .team[data-pos="4"][data-state="5"] {
  display: flex;
}
.o-directors-view .top10 .team[data-pos="5"][data-state="0"], .o-directors-view .top10 .team[data-pos="5"][data-state="1"], .o-directors-view .top10 .team[data-pos="5"][data-state="2"], .o-directors-view .top10 .team[data-pos="5"][data-state="3"], .o-directors-view .top10 .team[data-pos="5"][data-state="4"], .o-directors-view .top10 .team[data-pos="5"][data-state="5"] {
  display: flex;
}
.o-directors-view .top10 .team[data-pos="6"][data-state="0"], .o-directors-view .top10 .team[data-pos="6"][data-state="1"], .o-directors-view .top10 .team[data-pos="6"][data-state="2"], .o-directors-view .top10 .team[data-pos="6"][data-state="3"], .o-directors-view .top10 .team[data-pos="6"][data-state="4"], .o-directors-view .top10 .team[data-pos="6"][data-state="5"] {
  display: flex;
}
.o-directors-view .top10 .team[data-pos="7"][data-state="0"], .o-directors-view .top10 .team[data-pos="7"][data-state="1"], .o-directors-view .top10 .team[data-pos="7"][data-state="2"], .o-directors-view .top10 .team[data-pos="7"][data-state="3"], .o-directors-view .top10 .team[data-pos="7"][data-state="4"], .o-directors-view .top10 .team[data-pos="7"][data-state="5"] {
  display: flex;
}
.o-directors-view .top10 .team[data-pos="8"][data-state="0"], .o-directors-view .top10 .team[data-pos="8"][data-state="1"], .o-directors-view .top10 .team[data-pos="8"][data-state="2"], .o-directors-view .top10 .team[data-pos="8"][data-state="3"], .o-directors-view .top10 .team[data-pos="8"][data-state="4"], .o-directors-view .top10 .team[data-pos="8"][data-state="5"] {
  display: flex;
}
.o-directors-view .top10 .team[data-pos="9"][data-state="0"], .o-directors-view .top10 .team[data-pos="9"][data-state="1"], .o-directors-view .top10 .team[data-pos="9"][data-state="2"], .o-directors-view .top10 .team[data-pos="9"][data-state="3"], .o-directors-view .top10 .team[data-pos="9"][data-state="4"], .o-directors-view .top10 .team[data-pos="9"][data-state="5"] {
  display: flex;
}
.o-directors-view .top10 .team[data-pos="10"][data-state="0"], .o-directors-view .top10 .team[data-pos="10"][data-state="1"], .o-directors-view .top10 .team[data-pos="10"][data-state="2"], .o-directors-view .top10 .team[data-pos="10"][data-state="3"], .o-directors-view .top10 .team[data-pos="10"][data-state="4"], .o-directors-view .top10 .team[data-pos="10"][data-state="5"] {
  display: flex;
}
.o-directors-view .top10 .team .name {
  display: none;
}
.o-directors-view .in-pit {
  position: absolute;
  right: 2.5%;
  top: calc(5% + 150px);
  max-height: 680px;
  overflow: hidden;
}
.o-directors-view .in-pit .title {
  text-align: right;
}
.o-directors-view .in-pit .team {
  display: none;
  order: 500;
}
.o-directors-view .in-pit .team[data-state="0"], .o-directors-view .in-pit .team[data-state="9"], .o-directors-view .in-pit .team[data-state="3"], .o-directors-view .in-pit .team[data-state="2"] {
  display: inline-flex;
}
.o-directors-view .in-pit .team .name {
  display: none;
}
.o-directors-view .missing {
  position: absolute;
  right: 2.5%;
  bottom: 5%;
}
.o-directors-view .missing .title {
  text-align: right;
}
.o-directors-view .missing .team {
  display: none;
  order: 500;
}
.o-directors-view .missing .team[data-state="5"], .o-directors-view .missing .team[data-state="6"], .o-directors-view .missing .team[data-state="10"] {
  display: flex;
}
.o-directors-view .missing .team .name {
  display: none;
}
.o-directors-view .battle-for {
  position: absolute;
  left: 2.5%;
  bottom: 5%;
  width: 100vw;
  height: 60px;
  flex: 1 0 0;
}
.o-directors-view .battle-for .pos {
  display: inline-flex;
  flex-direction: row;
}
.o-directors-view .battle-for .pos .title {
  font-weight: 500;
  font-family: var(--base-font-mono-numbers);
  letter-spacing: var(--base-letter-spacing-mono-numbers);
  display: inline-flex;
  order: 1;
  font-style: italic;
  background: rgba(208, 208, 208, 0.8);
  color: var(--white);
  font-size: 25px;
  line-height: 35px;
  height: 35px;
  width: 40px;
  padding: 0 10px;
}
.o-directors-view .battle-for .team {
  order: 2;
  display: inline-flex;
  max-width: unset;
  width: 300px;
  margin-right: 30px;
}
.o-directors-view .battle-for .team .diff:before {
  content: "+";
  position: relative;
}
.o-directors-view .battle-for .team:last-child .diff {
  display: none;
}
.o-directors-view .teams {
  display: flex;
  flex-direction: column;
}
.o-directors-view .team {
  font-size: 20px;
  line-height: 30px;
  height: 30px;
  max-width: 700px;
  margin-bottom: 2px;
}
.o-directors-view .team > div {
  padding: 0 20px;
  display: inline-block;
}
.o-directors-view .team .pic,
.o-directors-view .team .pid,
.o-directors-view .team .fastestLap,
.o-directors-view .team .name,
.o-directors-view .team .diff,
.o-directors-view .team .time {
  display: none;
}
.o-directors-view .team .startNumber {
  font-weight: 500;
  font-family: var(--base-font-mono-numbers);
  letter-spacing: var(--base-letter-spacing-mono-numbers);
  display: inline-block;
  background: var(--white);
  color: #d0d0d0;
  width: 50px;
  padding: 0;
  text-align: center;
}
.o-directors-view .team .pos {
  font-weight: 500;
  font-family: var(--base-font-mono-numbers);
  letter-spacing: var(--base-letter-spacing-mono-numbers);
  display: inline-block;
  font-style: italic;
  background: rgba(208, 208, 208, 0.8);
  color: var(--white);
  width: 50px;
  padding: 0;
  text-align: center;
}
.o-directors-view .team .name,
.o-directors-view .team .shortName {
  background: #d0d0d0;
  color: var(--white);
  width: 100px;
  text-transform: uppercase;
}
.o-directors-view .team .name {
  display: inline-block;
  width: 400px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.o-directors-view .team .time,
.o-directors-view .team .diff,
.o-directors-view .team .fastestLap {
  font-weight: 500;
  font-family: var(--base-font-mono-numbers);
  letter-spacing: var(--base-letter-spacing-mono-numbers);
  background: #d0d0d0;
  color: var(--white);
  text-align: right;
  width: 150px;
}
.o-directors-view .team .diff:before {
  content: "+";
}
.o-directors-view .team .nationality {
  position: relative;
  height: 30px;
  width: 60px;
  margin-left: -17px;
  -webkit-mask-image: url(/images/masks/flag-mask.svg);
  -webkit-mask-repeat: no-repeat;
}
.o-directors-view .team .nationality img {
  min-height: 100%;
  min-width: 100%;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  position: absolute;
}

.admin-control {
  position: relative;
  display: none;
  vertical-align: top;
  flex-flow: wrap;
  margin-top: 30px;
  width: calc(100vw - 200px);
  height: calc(100vh - 173px);
  flex-direction: row;
  align-items: flex-start;
  flex-flow: column;
}
.admin-control.wide {
  width: calc(100vw - 200px);
}
.admin-control.is-visible {
  display: inline-flex;
}
.admin-control.data-view .row:not(.title) {
  visibility: hidden;
}
.admin-control.data-view .data-view {
  display: block;
}
.admin-control .data-view {
  position: absolute;
  top: 80px;
  padding: 0 4%;
  border-radius: 5px;
  z-index: 10;
  transition: opacity 0.1s ease-in-out;
  display: none;
}
.admin-control .data-view .title {
  color: var(--white);
  font-size: 16px;
  margin: 10px 0;
  text-transform: uppercase;
}
.admin-control .data-view table {
  background: var(--white);
  color: var(--black);
  opacity: 1;
  max-height: 70vh;
  max-width: 90vw;
  overflow: auto;
  display: block;
  transition: max-height 0.1s ease-in-out;
}
.admin-control .data-view th, .admin-control .data-view td {
  padding: 5px 10px 5px 5px;
  border: solid 1px var(--black);
}
.admin-control .data-view th {
  font-weight: bold;
  text-align: left;
}
.admin-control .data-view td {
  font-size: 12px;
}
.admin-control .data-view tr:hover td {
  background-color: #cac7b9;
}
.admin-control .data-view tr.is-selected td {
  background-color: #b1ff80;
}
.admin-control .data-view .options label {
  color: var(--white);
}
.admin-control .data-view .options select {
  padding: 5px;
  border: solid 1px #cdcdcd;
  border-radius: 10px;
  font-size: 15px;
  background: #3d3d3d;
  margin-right: 10px;
}
.admin-control .data-view .options button {
  transform-origin: top;
  transform: scale(0.8) translateY(-14px);
}
.admin-control button.control,
.admin-control button.space {
  -webkit-user-select: none;
  outline: none;
  display: block;
  position: relative;
  background: #202020;
  color: #fff;
  text-shadow: 1px 1px 7px #000000;
  cursor: pointer;
  text-align: center;
  height: 50px;
  width: 110px;
  border: none;
  border-radius: 3px;
  font-size: 13px;
  overflow: hidden;
  text-indent: -2000px;
  box-shadow: 2px 4px 10px 0px #000;
}
.admin-control button.control:before,
.admin-control button.space:before {
  content: "";
  position: absolute;
  height: calc(100% - 4px);
  width: calc(100% - 4px);
  transform: translateX(-50%) translateY(-50%);
  left: 50%;
  top: 50%;
  border-radius: 5px;
  background: linear-gradient(to bottom, #525556 10%, #2c2c2c 13%, #0a0e0a 51%, #0a0809 85%, #404040 100%);
}
.admin-control button.control:after,
.admin-control button.space:after {
  content: attr(data-button-text);
  position: absolute;
  transform: translateX(-50%) translateY(-50%);
  top: 50%;
  left: 50%;
  color: #bcbcbc;
  z-index: 2;
  text-indent: 0;
}
.admin-control button.control.space,
.admin-control button.space.space {
  opacity: 0;
  width: 40px;
}
.admin-control button.control.space.fullButton,
.admin-control button.space.space.fullButton {
  width: 120px;
}
.admin-control button.control.is-ready,
.admin-control button.space.is-ready {
  background: none;
}
.admin-control button.control.is-active,
.admin-control button.space.is-active {
  background: linear-gradient(to bottom, rgb(157, 213, 58) 0%, rgb(161, 213, 79) 45%, rgb(128, 194, 23) 60%, rgb(124, 188, 10) 100%);
}
.admin-control button.control.has-error,
.admin-control button.space.has-error {
  background: linear-gradient(to bottom, rgb(248, 80, 50) 0%, rgb(241, 111, 92) 50%, rgb(246, 41, 12) 51%, rgb(240, 47, 23) 71%, rgb(231, 56, 39) 100%);
}
.admin-control button.control.is-preview:not(.is-active):not(.has-changes),
.admin-control button.space.is-preview:not(.is-active):not(.has-changes) {
  background: #ff0012;
}
.admin-control button.control.has-changes,
.admin-control button.space.has-changes {
  animation: blinks 1s ease infinite forwards;
  background: linear-gradient(359deg, #f5d000, #fbf604, #fbb404);
  background-size: 600% 600%;
}
.admin-control button.control.show-shortcut:after,
.admin-control button.space.show-shortcut:after {
  position: absolute;
  content: attr(data-shortcut);
  text-transform: uppercase;
  right: 0;
  bottom: 0;
  border: outset 1px RGBA(122, 134, 152, 1);
  border-width: 2px 0px 0px 2px;
  padding: 2px 2px 0 4px;
  border-radius: 10px 0 0 0;
}
.admin-control button.control,
.admin-control button.space {
  display: none;
  margin: 0 10px 10px 0;
  z-index: 1;
}
.admin-control button.control.is-ready, .admin-control button.control.is-active, .admin-control button.control.is-error,
.admin-control button.space.is-ready,
.admin-control button.space.is-active,
.admin-control button.space.is-error {
  display: block;
}
.admin-control button.control.shortcut,
.admin-control button.space.shortcut {
  opacity: 0.6;
}
.admin-control button.control.shortcut.is-stored,
.admin-control button.space.shortcut.is-stored {
  opacity: 1;
}
.admin-control button.control.space,
.admin-control button.space.space {
  display: inline-flex;
  opacity: 0;
  cursor: default;
}
.admin-control button.other {
  -webkit-user-select: none;
  outline: none;
  display: block;
  position: relative;
  background: #202020;
  color: #fff;
  text-shadow: 1px 1px 7px #000000;
  cursor: pointer;
  text-align: center;
  height: 50px;
  width: 110px;
  border: none;
  border-radius: 3px;
  font-size: 13px;
  overflow: hidden;
  text-indent: -2000px;
  box-shadow: 2px 4px 10px 0px #000;
}
.admin-control button.other:before {
  content: "";
  position: absolute;
  height: calc(100% - 4px);
  width: calc(100% - 4px);
  transform: translateX(-50%) translateY(-50%);
  left: 50%;
  top: 50%;
  border-radius: 5px;
  background: linear-gradient(to bottom, #525556 10%, #2c2c2c 13%, #0a0e0a 51%, #0a0809 85%, #404040 100%);
}
.admin-control button.other:after {
  content: attr(data-button-text);
  position: absolute;
  transform: translateX(-50%) translateY(-50%);
  top: 50%;
  left: 50%;
  color: #bcbcbc;
  z-index: 2;
  text-indent: 0;
}
.admin-control button.other.space {
  opacity: 0;
  width: 40px;
}
.admin-control button.other.space.fullButton {
  width: 120px;
}
.admin-control button.other.is-ready {
  background: none;
}
.admin-control button.other.is-active {
  background: linear-gradient(to bottom, rgb(157, 213, 58) 0%, rgb(161, 213, 79) 45%, rgb(128, 194, 23) 60%, rgb(124, 188, 10) 100%);
}
.admin-control button.other.has-error {
  background: linear-gradient(to bottom, rgb(248, 80, 50) 0%, rgb(241, 111, 92) 50%, rgb(246, 41, 12) 51%, rgb(240, 47, 23) 71%, rgb(231, 56, 39) 100%);
}
.admin-control button.other.is-preview:not(.is-active):not(.has-changes) {
  background: #ff0012;
}
.admin-control button.other.has-changes {
  animation: blinks 1s ease infinite forwards;
  background: linear-gradient(359deg, #f5d000, #fbf604, #fbb404);
  background-size: 600% 600%;
}
.admin-control button.other.show-shortcut:after {
  position: absolute;
  content: attr(data-shortcut);
  text-transform: uppercase;
  right: 0;
  bottom: 0;
  border: outset 1px RGBA(122, 134, 152, 1);
  border-width: 2px 0px 0px 2px;
  padding: 2px 2px 0 4px;
  border-radius: 10px 0 0 0;
}
.admin-control button.other {
  transform: scale(0.6);
  display: inline-flex;
  opacity: 1;
  cursor: pointer;
}
.admin-control > .title,
.admin-control .row > .title {
  margin-left: 65px;
  display: flex;
  align-items: center;
  width: 100%;
  margin-bottom: 0;
  color: var(--white);
}
.admin-control > .title.page,
.admin-control .row > .title.page {
  font-size: 30px;
  margin-bottom: 20px;
}
.admin-control .row {
  display: inline-flex;
  width: 100%;
  position: relative;
  left: 0;
}
.admin-control .row:not(.continue) {
  padding-top: 5px !important;
  margin-top: 25px !important;
}
.admin-control .row .title {
  margin-left: 0;
  top: -30px;
}
.admin-control .row.tight {
  margin-top: 0;
}
.admin-control .row.tight .title {
  margin-bottom: 0;
}
.admin-control .row .title {
  position: absolute;
}
.admin-control .row.title {
  position: relative;
  top: -35px;
  margin-left: 2px;
  margin-bottom: 0;
  padding: 10px 30px;
  max-height: 47px;
  background: #3e3a82;
  color: #fff;
  box-shadow: -1px 1px 0px 0px #989aa0, 0px 4px 0px 0px #686868;
}
.admin-control .row.title .active-rider {
  display: block;
}
.admin-control .row.title .active-rider > div {
  display: inline-block;
  margin-right: 30px;
  font-weight: bold;
  font-size: 25px;
}
.admin-control .row.title .active-rider .race-class {
  position: absolute;
  font-size: 20px;
  right: 50px;
  margin: 0;
  padding: 15px 20px;
  border-radius: 5px;
  top: -2px;
  box-shadow: -1px 1px 0px 0px #989aa0, 0px 4px 0px 0px #686868;
}
.admin-control > .buttons {
  -webkit-user-select: none;
  outline: none;
  display: inline-flex;
  padding: 10px;
  margin: 5px;
  cursor: pointer;
  width: 100px;
  height: 100px;
  border-radius: 23px;
  background: linear-gradient(to top, rgb(226, 226, 226) 0%, rgb(219, 219, 219) 45%, rgb(209, 209, 209) 60%, rgb(254, 254, 254) 100%);
  font-weight: bold;
  position: relative;
  box-shadow: 4px 10px 4px 0 #8a8a8a;
  border: solid 4px rgba(255, 255, 255, 0.5882352941);
  display: none;
}
.admin-control > .buttons:disabled {
  background: grey;
}
.admin-control > .buttons.show-shortcut:after {
  position: absolute;
  content: attr(data-shortcut);
  text-transform: uppercase;
  right: 0;
  bottom: 0;
  border: outset 1px RGBA(122, 134, 152, 1);
  border-width: 2px 0 0 2px;
  padding: 1px 2px 1px 4px;
  border-radius: 10px 0 0 0;
}
.admin-control > .buttons.is-ready {
  display: inline-block;
  background: linear-gradient(to bottom, rgb(248, 80, 50) 0%, rgb(241, 111, 92) 50%, rgb(246, 41, 12) 51%, rgb(240, 47, 23) 71%, rgb(231, 56, 39) 100%);
}
.admin-control > .buttons.is-active {
  display: inline-block;
  background: linear-gradient(to top, rgb(157, 213, 58) 0%, rgb(161, 213, 79) 45%, rgb(128, 194, 23) 60%, rgb(124, 188, 10) 100%);
  top: 5px;
  box-shadow: 1px 4px 4px 0 #656565;
}
.admin-control > .buttons:hover:not(.is-active) {
  background: linear-gradient(to top, rgb(226, 226, 226) 0%, rgb(219, 219, 219) 45%, rgb(209, 209, 209) 60%, rgb(254, 254, 254) 100%);
  top: 1px;
  box-shadow: 3px 7px 4px 0 #7a7a7a;
}
.admin-control .list-controls {
  position: relative;
  display: inline-flex;
  vertical-align: top;
  flex-flow: wrap;
  max-width: 120px;
  margin-top: 15px;
  order: 2;
}
.admin-control .list-controls .row {
  display: inline-flex;
  margin: 0;
  flex-flow: column;
  position: relative;
  left: 0;
  width: 120px;
  height: calc(100vh - 300px);
  box-shadow: 2px 0 0 0 #9d9d9d, 4px 0 0 0 #cdcdcd;
}
.admin-control .error-message {
  position: absolute;
  top: -100px;
  left: 0;
  width: 100vw;
  height: calc(100vh + 100px);
  background: rgba(0, 0, 0, 0.95);
  z-index: 5;
}
.admin-control .error-message .text {
  position: absolute;
  left: calc(50% - 170px);
  top: 50%;
  transform: translateY(-50%) translateX(-50%);
  color: var(--white);
  padding: 40px;
  background: #363636;
  border: dashed 2px #fa0000;
}

.admin-control .pipe,
.m-controls .pipe {
  display: inline-flex;
  width: 2px;
  height: 80%;
  background: rgba(255, 255, 255, 0.3333333333);
  margin: 0 10px;
  transform: translateX(-5px);
  z-index: 1;
}
.admin-control .line,
.m-controls .line {
  display: inline-flex;
  width: 100%;
  height: 2px;
  background: #a4a4a4;
  margin: 30px 0 10px 0;
  transform: translateY(-35px) translateX(-15px);
}
.admin-control .line.center-text:before,
.m-controls .line.center-text:before {
  left: calc(50% - 7px);
  transform: translateX(-50%);
  white-space: nowrap;
}
.admin-control .line:before,
.m-controls .line:before {
  content: attr(data-text);
  position: absolute;
  top: -6px;
  left: 16px;
  z-index: 1;
  color: #a4a4a4;
  padding: 0 5px;
  background: var(--admin-bg);
  text-transform: uppercase;
  font-size: 14px;
}
.admin-control .wrapper,
.m-controls .wrapper {
  position: relative;
  display: inline-flex;
  max-width: 80vw;
  flex-wrap: wrap;
  margin-right: 30px;
  align-content: flex-end;
}
.admin-control .wrapper.center-text:before,
.m-controls .wrapper.center-text:before {
  left: calc(50% - 7px);
  transform: translateX(-50%);
  white-space: nowrap;
}
.admin-control .wrapper:before,
.m-controls .wrapper:before {
  content: attr(data-text);
  position: absolute;
  top: -25px;
  left: 0;
  z-index: 1;
  color: rgba(255, 255, 255, 0.2666666667);
  padding: 0 5px;
  background: var(--admin-bg);
  text-transform: uppercase;
  font-size: 14px;
}
.admin-control .wrapper:after,
.m-controls .wrapper:after {
  content: "";
  position: absolute;
  border: solid 2px #414141;
  border-top: solid 2px #525252;
  border-radius: 15px;
  padding: 10px 10px;
  top: -18px;
  left: -17px;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.admin-control .wrapper .pipe:last-child,
.m-controls .wrapper .pipe:last-child {
  background: none;
  transform: unset;
  margin: unset;
}
.admin-control select,
.admin-control input,
.m-controls select,
.m-controls input {
  border: solid 1px #cdcdcd;
  background: var(--admin-bg);
  color: var(--white);
  border-radius: 5px;
  padding: 5px;
  margin-left: 10px;
  font-size: 20px;
}

.m-controls .wrapper {
  width: 80%;
  margin-right: unset;
  margin-top: 20px;
}
.m-controls .wrapper:before {
  background: var(--control-bg);
  left: 17px;
}
.m-controls .wrapper:after {
  background: none;
  left: 0;
}
.m-controls .wrapper button {
  width: 80%;
  left: 10%;
}

@keyframes flip-in {
  from {
    -webkit-transform: rotate3d(0, 1, 0, 90deg);
  }
  to {
    -webkit-transform: rotate3d(0, 1, 0, 0deg);
  }
}
@keyframes flip-out {
  from {
    -webkit-transform: rotate3d(0, 1, 0, 0deg);
  }
  to {
    -webkit-transform: rotate3d(0, 1, 0, 90deg);
  }
}
[class^=a-], [class^=m-], [class^=o-],
[class*=" a-"], [class*=" m-"], [class*=" o-"] {
  box-sizing: border-box;
}

/* Override flexbox */
html {
  overflow-y: auto !important;
  overflow-x: hidden !important;
}
html::-webkit-scrollbar {
  width: 12px;
}
html::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.3);
}
html::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.3);
  border-radius: 6px;
}
html::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.5);
}

@media (min-width: 769px) {
  .col-xs-12, .col-sm-12 {
    padding-right: 0;
    padding-left: 0;
  }
  /*[class^="col-xs"]:first-of-type, [class^="col-sm"]:first-of-type, grid:first-of-type
  * padding-left: 0 */
  /*[class^="col-xs"]:last-of-type, [class^="col-sm"]:last-of-type, grid:last-of-type
  * padding-right: 0 */
}
/* sg-overlay */
.sg-overlay-toggler {
  position: fixed;
  right: 0;
  bottom: 0;
  padding: 2px 10px;
  border-radius: 10px 0 0 0;
  z-index: 10;
  background: #cdcdcd;
  opacity: 0.5;
  cursor: pointer;
}

.sg-overlay {
  display: none;
  position: fixed;
  top: 0;
  max-width: 1280px;
  width: 100%;
}
.sg-overlay .row {
  padding: 0;
  margin: 0;
}
@media (min-width: 421px) {
  .sg-overlay .row {
    padding: 0 2%;
  }
}

.grid {
  background: #cdcdcd;
  height: 100vh;
  background-clip: content-box, padding-box;
  opacity: 0.5;
  text-align: center;
  font-size: 20px;
  color: #000;
}

/* positioning */
.left:not(.bug) {
  position: absolute;
  left: 0;
}

.center:not(.bug) {
  position: absolute;
  transform: translateX(-50%);
  left: 50%;
}

.middle:not(.bug) {
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
}

.center.middle:not(.bug) {
  transform: translateY(-50%) translateX(-50%);
}

.right:not(.bug) {
  position: absolute;
  right: 0;
}

.top:not(.bug) {
  position: absolute;
  top: 0;
}

.bottom:not(.bug) {
  position: absolute;
  bottom: 0;
}

.align-right,
.text-right {
  text-align: right !important;
}
.align-center,
.text-center {
  text-align: center !important;
}
.align-left,
.text-left {
  text-align: left !important;
}

.contain {
  position: relative;
}
@media (min-width: 421px) {
  .contain {
    float: left;
  }
}

.slide-in {
  display: none;
}

body {
  font-variant-numeric: lining-nums;
}
body input {
  font-variant-numeric: lining-nums;
}
body.is-loading {
  cursor: progress;
}
body.is-admin {
  background: var(--admin-bg);
}
body.is-admin {
  display: block;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  height: auto;
  min-height: 100vh;
}
body.is-admin::-webkit-scrollbar {
  width: 12px;
}
body.is-admin::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.3);
}
body.is-admin::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.3);
  border-radius: 6px;
}
body.is-admin::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.5);
}
body iframe {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
body .login {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}
body .login h1 {
  font-size: 30px;
  margin-bottom: 30px !important;
}
body .login form {
  color: #fff;
  padding: 30px;
  width: 320px;
  border-radius: 10px;
  border: solid 2px #fff;
}
body .login form > * {
  margin: 10px 0;
}
body .login form input {
  display: block;
  width: 300px;
  border: solid 1px #fff;
  padding: 10px;
  border-radius: 10px;
  background: transparent;
  color: #fff;
}
body .login form button {
  display: block;
  width: 320px;
  background: #fff;
  border-radius: 10px;
  border: solid 2px #666;
  padding: 15px;
  margin: 30px 0 10px 0px;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}

.floating-demo-iframe {
  position: fixed;
  top: 20px;
  right: 20px;
  width: 402px;
  height: 270px;
  aspect-ratio: 16/9;
  background: #fff;
  border: 2px solid #333;
  border-radius: 8px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
  z-index: 9999;
  display: none;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  overflow: hidden;
  transform-origin: top right;
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}
.floating-demo-iframe.minimized {
  height: 40px;
  width: 200px;
  transform: translateY(0);
  right: 20px;
  left: auto;
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}
.floating-demo-iframe.minimized .iframe-content {
  opacity: 0;
  transform: translateY(-10px);
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}
.floating-demo-iframe.minimized .iframe-title {
  font-size: 12px;
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}
.floating-demo-iframe.minimized .iframe-header {
  background: #444;
  border-radius: 6px 6px 0 0;
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}
.floating-demo-iframe.minimized .iframe-header:hover {
  background: #555;
}
.floating-demo-iframe .iframe-header {
  background: #333;
  color: #fff;
  padding: 8px 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: move;
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}
.floating-demo-iframe .iframe-header .iframe-title {
  font-size: 14px;
  font-weight: bold;
  margin: 0;
}
.floating-demo-iframe .iframe-header .iframe-controls {
  display: flex;
  gap: 4px;
}
.floating-demo-iframe .iframe-header .iframe-controls button {
  background: transparent;
  border: 1px solid #666;
  color: #fff;
  width: 24px;
  height: 24px;
  border-radius: 4px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  line-height: 1;
  padding: 0;
  margin: 0;
}
.floating-demo-iframe .iframe-header .iframe-controls button:hover {
  background: #555;
}
.floating-demo-iframe .iframe-header .iframe-controls button.iframe-close:hover {
  background: #d32f2f;
}
.floating-demo-iframe .iframe-content {
  height: calc(100% - 40px);
  width: 100%;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  opacity: 1;
  transform: translateY(0);
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}
.floating-demo-iframe .iframe-content iframe {
  width: 100%;
  height: 100%;
  border: none;
  display: block;
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  pointer-events: auto;
}

.floating-demo-iframe.minimized .iframe-header {
  cursor: pointer;
  position: relative;
}
.floating-demo-iframe.minimized .iframe-header::after {
  content: "Click to expand";
  position: absolute;
  right: 60px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 10px;
  opacity: 0.7;
  transition: opacity 0.3s ease;
}
.floating-demo-iframe.minimized .iframe-header:hover::after {
  opacity: 1;
}

@media (max-width: 1200px) {
  .floating-demo-iframe {
    width: 310px;
    height: 216px;
  }
}
@media (max-width: 768px) {
  .floating-demo-iframe {
    width: 320px;
    height: 180px;
  }
}
