:root {
  --mobpx: 425px;
  --tabpx: 768px;
  --despx: 1024px
}

div#sxVidWrap {
  position: absolute;
  width: 100vw;
  height: 100vh
}

div#sxVidWrap video {
  width: 111vw;
  height: 111vh;
  filter: blur(8px);
  position: relative;
  left: -5.5vw;
  top: -5.5vh
}

body,
html {
  margin: 0;
  height: 100vh;
  width: 100vw;
  overflow: hidden
}

* {
  color: #fff;
  font-family: Verdana
}

a {
  text-decoration: none;
  border: 1px solid #fff;
  padding: 7.55%;
  background: #000;
  background: rgba(0, 0, 0, .21)
}

footer {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 11.111%;
  text-align: center;
  font-size: 85%
}

footer .container {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-content: center;
  -ms-flex-line-pack: center;
  align-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center
}

footer .container .row {
  -webkit-order: 0;
  -ms-flex-order: 0;
  order: 0;
  -webkit-flex: 0 1 auto;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  align-self: center
}

body {
  background-repeat: no-repeat;
  background-size: cover
}

button svg {
  fill: #fff;
  display: block;
  position: relative;
  float: left
}

button.sxClose {
  background: 0 0;
  padding: 5px;
  border: 2px solid;
  padding-top: 15px;
  position: fixed;
  bottom: 10px;
  max-height: 75px;
  min-width: 150px;
  left: 10px
}

button.sxClose svg {
  width: 33px;
  top: 0;
  line-height: 0;
  height: 33px;
  float: left
}

button.sxClose strong {
  font-size: 150%
}

.circle-3 {
  display: none
}

.circle img {
  vertical-align: middle;
  margin: 0 auto
}

.sxTerminContainer {
  text-align: center;
  position: absolute;
  width: 100%;
  bottom: 11%;
  margin: 0 auto
}

button {
  cursor: pointer;
  -webkit-box-shadow: 0 0 16px 3px #000;
  -moz-box-shadow: 0 0 16px 3px #000;
  box-shadow: 0 0 16px 3px #000
}

button.sxTermin {
  width: 35%;
  background: rgba(0, 0, 0, .65);
  margin: 0 auto;
  height: 58px;
  color: #fff;
  font-size: 1.1em;
  line-height: 1.25em;
  text-align: left;
  border: 2px solid #ffffffb8;
  padding-top: 4px
}

button.sxRoute {
  width: 20%;
  background: rgba(0, 0, 0, .65);
  margin: 0 auto;
  height: 58px;
  color: #fff;
  font-size: 1.1em;
  line-height: 1.25em;
  border: 2px solid #ffffffb8;
  text-align: center;
  padding-top: 3px;
  margin-left: 3%
}

button.sxTermin svg {
  fill: #fff;
  display: block;
  position: relative;
  float: left;
  width: 30%;
  height: 145%;
  left: -3%
}

button.sxRoute svg {
  fill: #fff;
  display: block;
  position: relative;
  float: left;
  width: 30%;
  height: 100%
}

#modal-impressum {
  display: block;
  margin: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .91);
  top: 0;
  position: absolute;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  text-align: center;
  overflow: hidden
}

.main-body {
  position: relative;
  height: 100vh
}

#sxCircleMenu .circle:hover {
  -webkit-box-shadow: 0 0 19px 5px #fff;
  -moz-box-shadow: 0 0 19px 5px #fff;
  box-shadow: 0 0 19px 5px #fff
}

#sxCircleMenu .circle svg {
  fill: #fff;
  position: relative;
  width: 75%;
  text-align: center;
  height: 75%;
  vertical-align: middle;
  transition: all 222ms ease
}

#sxCircleMenu .circle:hover svg {
  transform: scale(.8475)
}

#sxCircleMenu {
  background-image: url("/assets/img/tm/white_logo_web_shadow.png");
  background-size: contain
}

@media (orientation:landscape) {
  .main-body {
    bottom: 13vh
  }

  footer .row {
    margin-right: 5%
  }
}

@media (orientation:portrait) {
  .main-body {
    bottom: 19vh
  }

  footer .row {
    margin-bottom: 5%
  }
}

@media screen and (min-height:768px) and (orientation:landscape) {
  body {
    background-image: url('/assets/img/tm/vidbg_landscape.png')
  }

  footer {
    height: 3%
  }

  .sxTerminContainer {
    bottom: 26%
  }

  button.sxTermin {
    width: 25%;
    max-width: 210px
  }

  button.sxRoute {
    width: 15%;
    margin-left: 1%;
    max-width: 125px
  }
}

@media screen and (min-width:768px) and (orientation:portrait) {
  body {
    background-image: url('/assets/img/tm/vidbg_potrait.png')
  }

  footer .row {
    margin-right: 5%;
    margin-bottom: unset
  }
}

@media screen and (min-width:375px) and (orientation:portrait) {
  body {
    background-image: url('/assets/img/tm/vidbg_potrait_404.png')
  }

  footer {
    height: 20%
  }

  footer .row {
    margin-right: 5%;
    margin-bottom: 5%;
    height: 3%
  }

  .sxTerminContainer {
    bottom: 26%
  }

  button.sxTermin {
    width: 55%;
    font-size: 1.03em !important
  }

  button.sxRoute {
    width: 35%;
    font-size: 1.03em !important
  }
}

button {
  border-radius: .5em
}

@media screen and (min-height:320px) and (max-height:767px) and (orientation:landscape) {
  body {
    background-image: url('/assets/img/tm/vidbg_landscape_404.png')
  }

  footer {
    height: 2%
  }

  #sxCircleMenu {
    top: 46% !important
  }

  footer {
    height: 10%
  }

  .sxTerminContainer {
    bottom: 14%;
    transform: scale(.87)
  }

  button.sxTermin {
    width: 35%;
    max-width: 185px;
    font-size: .875em
  }

  button.sxRoute {
    width: 20%;
    font-size: .99em;
    max-width: 125px;
    padding-top: 3px
  }
}

@media screen and (min-width:320px) and (max-width:767px) and (orientation:portrait) {
  body {
    background-image: url('/assets/img/tm/vidbg_potrait_404.png')
  }

  #sxCircleMenu {
    top: 39.5% !important
  }

  footer {
    height: 20%
  }

  .sxTerminContainer {
    bottom: 33%
  }

  button.sxTermin {
    width: 55%;
    font-size: .875em
  }

  button.sxRoute {
    width: 35%;
    font-size: .99em
  }
}