@charset "utf-8";

.bgPC {
  background-color: var(--primaryColor);
}

.bgSC {
  background-color: var(--secondaryColor);
}

.bgM1 {
  background-color: #0781A9;
}

.bgM2 {
  background-color: #0D638E;
}

.aLeft {
  text-align: left;
}

.linkButton {
  display: block;
  color: white;
  font-weight: bold;
  width: auto;
  background-color: var(--primaryColor);
  padding: 5px 15px;
  border-radius: 5px;
  transition: background-color .3s ease-in-out;
}

.linkButton.disabled {
  background-color: var(--warningRed);
}

.linkButton:hover {
  background-color: var(--secondaryColor);
}

.linkButton.disabled:hover {
  cursor: pointer;
  background-color: var(--parallelRed);
}

.warning {
  color: white;
  background-color: var(--warningRed);
  font-weight: bold;
  padding: 15px;
  border-radius: 5px;
  max-width: 800px;
}

.clickable-row {
  cursor: pointer;
}
.clickable-row:hover {
  background-color: var(--lightBackground);
  transition: background-color 300ms ease-out;
 }

/* Race Search */

#raceSection tr {
  background-color: transparent;
  border-bottom: 1px solid var(--lightText);
}

#raceSearch td {
  text-align: left;
}

#raceSearch td {
  text-align: left;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#raceSearch td:nth-child(3) {
  max-width: 45ch;
}

#raceSearch th:nth-child(2),
#raceSearch td:nth-child(2),
#raceSearch th:nth-child(4),
#raceSearch td:nth-child(4),
#raceSearch th:nth-child(5),
#raceSearch td:nth-child(5) {
  text-align: right;
}

/* Show More */

.showMore.is-collapsed .showMoreChild {
  height: 400px;
  overflow: hidden;
  transition-property: height;
  transition-duration: .3s;
  transition-timing-function: ease-in-out;
}

.showMoreChild>div {
  transform: translateZ(-10px);
}

.showMore.is-expanded .showMoreChild {
  height: auto;
}

.gradient {
  background: linear-gradient(to bottom,
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 1) 100%);
  display: block;
  width: 100%;
  position: relative;
}

.showMore.is-collapsed .gradient {
  top: -40px;
  height: 40px;
}

.showMore.is-expanded .gradient {
  top: 0;
  height: 20px;
}

.showMoreButton {
  cursor: pointer;
  text-align: left;
  color: var(--darkBackground);
}

.showMoreButton img {
  width: 0.75rem;
  margin: 0;
}

/**********Headings**********/

h1 {
  font: 16px/1.5625 'Sofia Sans', sans-serif;
  font-weight: bolder;

  font-size: 35pt;
  width: 100%;
}

h2 {
  font-size: 20pt;
  width: 100%;
}

h3 {
  font-size: 16pt;
  text-align: left;
  padding: 0 20px;
}

h4 {
  font-size: 14pt;
}

/********************Section********************/

p {
  font-size: 12pt;
  text-align: left;
  padding: 0 20px;
}

.leftBox {
  display: flex;
  align-items: center;
  justify-content: left;
}

.headContainer {
  width: 100%;
  height: 500px;
  padding: 0;
  margin-bottom: 40px;
  display: flex;
  align-items: end;
  background-color: rgba(0, 0, 0, 0.3);
  background-blend-mode: darken;
  background-size: 100% auto;
  background-position-y: center;
  background-repeat: no-repeat;
}

li {
  text-align: left;
}

/* Now Live */

.now_live {
  display: grid;
  grid-template-columns: auto;
  gap: 5px;
}

.nlRace {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  border-style: solid;
  border-width: 2px;
  border-color: var(--primaryColor);
  border-radius: 10px;
  margin: 3px;
  box-shadow: 2px 2px 2px var(--darkBackground);
  transition-property: left, top, box-shadow;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
  transition-delay: 0s;
}

.nlRace:hover {
  left: -2px;
  top: -2px;
  box-shadow: 4px 4px 2px var(--darkBackground);
}


.nlRace a {
  display: grid;
  grid-template-columns: 10ch 6ch 40ch 20ch;
  grid-auto-rows: 25px;
  gap: 5px;
  padding: 10px;
  color: Black;
  font-weight: bold;
}

.nlRace>a>div {
  text-align: left;
  overflow: hidden;
  text-overflow: ellipsis;
}

.nlRace img {
  width: auto;
  max-width: 6ch;
  max-height: 25px;
}

.nlDiscipline {
  font-weight: 200;
}


/* FEATURE TILES */

#featureTiles {
  width: 70%;
  display: grid;
  grid-template-columns: 45% 5% 45%;
  column-gap: 2.5%;
  row-gap: 10px;
}

#featureTiles>div {
  display: inline-block;
  border-radius: 15px;
  width: 100%;
  padding: 25px;
}

#featureTiles img {
  width: 100%;
}

#featureTiles p,
#featureSlabs p {
  padding: 0;
  font-weight: 600;
}

#featureSlabs {
  width: 80%;
  display: grid;
  gap: 10px;
}

#featureSlabs>div {
  max-height: 250px;
  overflow: hidden;
  border-radius: 15px;
  display: grid;
  padding: 20px;
  grid-template-columns: 1.7fr 2fr 1.7fr;
  gap: 30px;
}

#featureSlabs>div>div {
  width: 100%;
  height: 100%;
}

#featureSlabs img {
  width: 100%;
  height: 100%;
}

.imgBsdTxt {
  display: grid !important;
  grid-template-columns: 57.5% 37.5%;
  gap: 5%;
}

.smallImg>div {
  max-height: 50px;
}
.smallImg>div>img {
  min-height: 0;
  height: 100%;
  width: auto;
}

.imgBsdTxt p {
  margin: 0;
}

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

.wideRight {
  grid-column: 2 / span 2;
}

.fullWide {
  grid-column: 1 / span 3;
}


table {
  max-width: 80%;
  border-collapse: collapse;
}

thead {
  background-color: var(--primaryColor);
  font-weight: bold;
  color: #fff;
}

table.zebraRows tbody tr:nth-child(even) {
  background-color: var(--lightBackground);
}

td {
  padding: 5px 10px;
  margin: 0;
  width: auto;
}

#aboutUs {
  background-image: url(../images/Stubaital.jpg);
}

#impHead {
  background-image: url(../images/Ergebnislisten.jpg);
}

#conHead {
  background-image: url(../images/Eisgratbahn.jpg);
}

#featHead {
  background-image: url(../images/f5_Benutzeroberflaeche.jpeg);
}

#liveHead {
  background-image: url(../images/Eisgratbahn.jpg);
}

#dataHead {
  background-image: url(../images/Datenschutz.png);
}

/* Slider About Us */

@keyframes sliderMovement {

  0% {
    left: calc(var(--nudge))
  }

  11% {
    left: calc(var(--nudge))
  }

  16.5% {
    left: calc(var(--nudge) - 300px)
  }

  27.5% {
    left: calc(var(--nudge) - 300px)
  }

  33% {
    left: calc(var(--nudge) - 600px)
  }

  44% {
    left: calc(var(--nudge) - 600px)
  }

  49.5% {
    left: calc(var(--nudge) - 900px)
  }

  60.5% {
    left: calc(var(--nudge) - 900px)
  }

  66% {
    left: calc(var(--nudge) - 1200px)
  }

  77% {
    left: calc(var(--nudge) - 1200px)
  }

  82.5% {
    left: calc(var(--nudge) - 1500px)
  }

  93.5% {
    left: calc(var(--nudge) - 1500px)
  }

  99% {
    left: calc(var(--nudge) - 1800px)
  }

  100% {
    left: calc(var(--nudge) - 1800px)
  }
}

#sliderFrame {
  width: 100%;
  height: 500px;
  overflow: hidden;
  padding: 50px 0;
  transform: translateZ(-10px);
}

#gradient {
  transform-style: preserve-3d;
  max-width: 800px;
  height: auto;
  display: block;
  width: 100%;
  margin: 0 10px;
  background: linear-gradient(to right,
      rgba(255, 255, 255, 1) 0%,
      rgba(255, 255, 255, 0) 5%,
      rgba(255, 255, 255, 0) 95%,
      rgba(255, 255, 255, 1) 100%);
}

#sliderBase {
  --nudge: calc(50% - 450px);
  top: 0;
  position: relative;
  display: flex;
  left: var(--nudge);
  height: 400px;
  width: 3000px;
  /*background-color: green;*/
  animation-name: sliderMovement;
  animation-duration: 35s;
  animation-iteration-count: infinite;
}

.card {
  height: 100%;
  margin: 0 10px;
  width: 280px;
  display: inline-block;
  border-width: 2px;
  border-style: solid;
  border-color: var(--primaryColor);
  border-radius: 10px;
  padding: 20px;
}

.cImage {
  width: 200px;
  height: 200px;
  margin: 0 15px;
  border-radius: 100%;
  background-size: cover;
  display: inline-block;
}

.cImage.cRect {
  width: 234px;
  height: 156px;
  margin: 22px 0;
  border-radius: 5px;
}

.cText {
  height: 154px;
  margin-top: 0;
  display: inline-block;
}

.cText p {
  padding: 0;
  text-align: center;
}

.card1 .cImage {
  background-image: url(../images/c1_Live_Timing.png);
}

.card2 .cImage {
  background-image: url(../images/c2_Nachwuchs.png);
}

.card3 .cImage {
  background-image: url(../images/c3_Parallel_am_Start.png);
}

.card4 .cImage {
  background-image: url(../images/c4_Kompatibilitaet.png);
}

.card5 .cImage {
  background-image: url(../images/c5_Teamauswertung_Online.png);
}

.card6 .cImage {
  background-image: url(../images/c6_AB_Zeitmesse.jpeg);
}

#impressum {
  width: 80%;
  margin: 30px 10% 30px 10%;
  display: grid;
  grid-template-columns: 40% 40%;
  column-gap: 10%;
  justify-content: center;
  height: auto;
}

#impressum table {
  display: block;
}

#impressum tr {
  background: none;
}

#impressum td {
  text-align: left;
  padding-left: 20px;
}

#impressum p {
  margin: 0;
}

#leistungen {
  overflow-x: scroll;
}

#leistungen img {
  height: 30px;
  width: 30px;
  vertical-align: middle;
}

/* Style inputs with type="text", select elements and textareas */
input[type=text],
input[type=email],
select,
textarea {
  width: 100%;
  /* Full width */
  padding: 12px;
  /* Some padding */
  border: 1px solid #ccc;
  /* Gray border */
  border-radius: 4px;
  /* Rounded borders */
  box-sizing: border-box;
  /* Make sure that padding and width stays in place */
  margin-top: 6px;
  /* Add a top margin */
  margin-bottom: 16px;
  /* Bottom margin */
  resize: vertical
    /* Allow the user to vertically resize the textarea (not horizontally) */
}

/* Style the submit button with a specific background color etc */
input[type=submit] {
  background-color: var(--primaryColor);
  color: white;
  padding: 12px 20px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

/* When moving the mouse over the submit button, add a darker green color */
input[type=submit]:hover {
  background-color: var(--secondaryColor);
}

/* Add a background color and some padding around the form */
.container {
  display: inline-block;
  margin-left: 5%;
  width: 100%;
  border-radius: 5px;
  background-color: #f2f2f2;
  padding: 20px;
}

#contact {
  display: grid;
  grid-template-columns: auto auto;
  gap: 30px;
}

#contact>div {
  min-height: 500px;
  display: inline-block;
  width: auto;
  margin-right: 20px;
}

#weDo {
  width: 80%;
  margin: 0 10% 0 10%;
}

#weDo>div {
  display: grid;
  grid-template-columns: auto auto auto;
  margin: 20px;
  gap: 30px;
}

/* Download Page */




/********************Media Queries********************/

/**********IPAD**********/

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

  #raceSearch table {
    min-width: 100%;
    margin: 0;
    overflow-x: auto;
    justify-self: left;
  }

  #raceSearch td:nth-child(3) {
    max-width: 30ch;
  }

  #raceSearch td:nth-child(6) {
    max-width: 15ch;
  }
}

/**********SMARTPHONE**********/

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

  /* Section */

  .headContainer {
    aspect-ratio: 3/2;
    width: 100%;
    height: auto;
    padding: 0;
    justify-content: end;
    margin-bottom: 40px;
  }

  /* Search */

  #searchbar {
    font-size: 12pt;
  }

  #raceSearch td:nth-child(3) {
    max-width: 20ch;
  }

  #raceSearch th:nth-child(5),
  #raceSearch td:nth-child(5),
  #raceSearch th:nth-child(6),
  #raceSearch td:nth-child(6),
  #raceSearch th:nth-child(7),
  #raceSearch td:nth-child(7) {
    display: none;
  }


  /* About Us */

  .nlRace a {
    display: grid;
    grid-template-columns: 10ch 6ch 22ch;
    grid-auto-rows: auto;
    gap: 5px;
    padding: 7px;
    font-size: 95%;
  }

  .twoRows {
    grid-row: 1 / span 2;
  }

  .aboutUs {
    height: 300px;
    line-height: 300px;
    padding: 50px 0 20px;
  }

  #aboutUs {
    display: none;
  }

  /* Other Main Pages */

  #contact,
  #weDo>div,
  #impressum {
    grid-template-columns: auto;
  }

  #impressum table {
    margin-bottom: 30px;
  }

  #featureTiles,
  #featureSlabs>div,
  .imgBsdTxt {
    grid-template-columns: auto;
    gap: 10px;
  }

  .imgBsdTxt.smallImg {
  display: grid !important;
  grid-template-columns: 57.5% 37.5%;
  gap: 5%;
}

  #featureSlabs>div {
    max-height: none;
  }

  .wideLeft,
  .wideRight,
  .fullWide {
    grid-column: 1 / span 1;
  }
}

/**********SMARTPHONE LANDSCAPE**********/

/* @media screen and (max-width: 799px) and (orientation : landscape) {

  header {
    position: relative;
    z-index: 0;
    margin-top: 0;
    min-height: 55px;
  }


  section {
    margin-top: 0px;
  }


  /**********MobileMenu**********
  
  .mobileNav {
    top: 30px;
    margin: 10px 0 0 10px;
  }

  .mobileMenu {
    width: 85%;
    font-size: 90%;
  }

  .mobileMenu .mobile-expand {
    height: 40.5px;
    width: 40.5px;
    margin: 0 4px 0 0;  
  }

  .raceNav {
    height: auto;
    min-height: 0;
    padding-top: 0;
  }

  h3 {
    height: 2rem !important;
    font-size: 120%;
    margin-top: 0;
    margin-bottom: 0px;
    height: 3rem;
    padding-top: 0;
    padding-bottom: 0;
  }

  .logo {
    height: 35px;
    position:absolute;
  }

  .mobileNav img {
    height: 30px;
  }

  /**********RunNav**********

  .runNav {
    height: 20px;
  }

  .dropdown {
    height: 20px;
    line-height: 20px;
  }

  .dropdown a, .dropdown.active a {
    line-height: 20px;
    vertical-align: top;
    font-size: 60%;
    top: -4px;
  }

  .dropdown-content a {
    padding-top: 0.1rem;
    padding-bottom: 0.1rem;
    font-size: 70%;
  }
} */