﻿@charset "UTF-8";
/* techcomm.io
   Author: Stefan Gentz
*/

@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,600;0,700;0,800;1,300;1,400;1,600;1,700;1,800&display=swap');
@import url("https://use.typekit.net/rsl6dbo.css");

@font-face {
  font-family: 'Open Sans', sans-serif;
  font-weight: 300;
  font-style: lighter;
}
@font-face {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  font-style: bold;
}

* {
  margin: 0px;
  padding: 0px;
  background-color: transparent;
}

.cursor-pointer-hover {
  width: 0px;
  height: 0px;
}

::selection {
  background-color: rgba(255,255,255,0.8);
  color: #1e1e1e;
  text-shadow: none;
}

html {
  height: 100vh;
  width: 100%;
  background-color: #000000;
  font-size: 16px;
  scroll-behavior: smooth;
}

/* iphone 6, 6s, 7, 8, SE → width = 750  */
@media only screen 
  and (min-device-width: 375px) 
  and (max-device-width: 667px) 
  and (-webkit-min-device-pixel-ratio: 2)
  and (orientation: portrait) {
    html { font-size: 28px; }
    .cursor { opacity: 0; }
}

/* iPhone X, XS, 12 Pro → width = max 1125 */
/* iPhone 13 Pro → width = max 1170 */
@media only screen 
  and (min-device-width: 375px) 
  and (max-device-width: 844px) 
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: portrait) {
    html { font-size: 28px; }
    .cursor { opacity: 0; }
}
@media only screen 
  and (min-device-width: 375px) 
  and (max-device-width: 1266px) 
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
    html { font-size: 20px; }
    .cursor { opacity: 0; }
}

/* iPad */
@media only screen 
  and (min-device-width: 834px) 
  and (max-device-width: 1366px) 
  and (-webkit-min-device-pixel-ratio: 2) 
  and (orientation: portrait) {
    html { font-size: 20px; }
    .cursor { opacity: 0; }
    .cursor-pointer { opacity: 0; }
}
@media only screen 
  and (min-device-width: 834px) 
  and (max-device-width: 1366px) 
  and (-webkit-min-device-pixel-ratio: 2) 
  and (orientation: landscape) {
    html { font-size: 16px; }
    .cursor { opacity: 0; }
    .cursor-pointer { opacity: 0; }
}

body {
  height: 100vh;
  width: 100%;
}

a {
  color: #ffffff;
}
/*
a:hover {
  color: #8e8e8e;
}
*/

#curtain {
  background-color: #000000;
  height: 100vh;
  width: 100%;
  opacity: 0;
  top: 0;
  left: 0;
  right: 0;
  position: fixed;
  z-index: -10;
  animation-name: ClosedCurtain;
  animation-duration: 5s;
  animation-delay: 0s;
}

@keyframes ClosedCurtain {
  0% {
     z-index: 10;
     opacity: 1;
  }
  30% {
     z-index: 10;
     opacity: 1;
  }
  80% {
     z-index: 10;
     opacity: 0;
  }
  100% {
     z-index: 10;
     opacity: 0;
  }
}

p, li {
  font-family: 'Open Sans', sans-serif;
  font-weight: normal;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Open Sans', sans-serif;
  font-weight: bold;
}

p + p {
  margin-top: 1rem;
}

header {
  height: 50px;
  max-height: 50px;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background-color: #1e1e1e;
  z-index: 100;
  transition: top 0.3s ease-in-out;
}

.header-hidden {
	transition: top 0.3s ease-in-out;
  top: -50px;
}

nav {
  max-height: 50px;
  background-color: #1e1e1e;
  padding: 10px;
}
nav ul {
  color: #1e1e1e;
  text-align: right;
  padding-right: 20px;
  display: inline-flex;
  float: right;
}
nav ul li {
  list-style-type: none;
  font-size: 1.25rem;
}

nav ul li a {
  opacity: 1.0;
  background-color: #1e1e1e;
  border-color: #8e8e8e;
  color: #a2a2a2;
  border-style: solid;
  border-width: 0px;
  border-radius: 5px;
  margin: 2px;
  padding-left: 15px;
  padding-top: 4px;
  padding-right: 15px;
  padding-bottom: 5px;
  font-weight: 600;
  white-space: nowrap;
  text-decoration: none;
  transition: 0.5s;
}
nav ul li a:hover {
  background-color: #3c3c3c;
  color: #ffffff;
  transform: scale(0.5);
}
nav img {
	vertical-align: middle;
  transition: 1s ease-out;
}
nav img:hover {
  filter: brightness(200%);
}

article {
  /* height: 100vh; */
  width: 100%;
  position: relative;
  top: 0px;
}

article section {
  background-color: #000000;
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100vh;
  max-height: 100vh;
  animation-duration: 30s;
}

svg#REBELS-GIN-TITLE-LOGO {
  max-height: 80%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

.SectionBackgroundZoomIn {
  animation-name: ZoomInBackgroundImage;
}

@keyframes ZoomInBackgroundImage {
  0% {
    background-position-x: 55%;
    background-position-y: 45%;
    background-size: cover;
    background-size: 130%;
  }
  33% {
    background-position-x: 45%;
    background-position-y: 55%;
    background-size: cover;
    background-size: 120%;
  }
  66% {
    background-position-x: 55%;
    background-position-y: 50%;
    background-size: cover;
    background-size: 110%;
  }
  to {
    background-position-x: 50%;
    background-position-y: 50%;
    background-size: cover;
    background-size: 100%;
  }
}

@supports (-webkit-touch-callout: inherit) {
  article section {
  background-attachment: scroll;
 }
}

article section div.center {
  display: grid;
  position: relative;
  top: 50%;
  color: white;
  padding: 20px;
  transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

article section div.trusted-pos {
  position: relative;
  margin-top: 10%;
  color: white;
  padding: 20px;
}

article section div.textbox {
  position: relative;
  padding: 20px;
  max-width: 50%;
  background-color: rgba(0, 0, 0, 0);
  color: rgba(255, 255, 255, 0);
}
@media screen and (max-width: 1300px) {
	article section div.textbox {
  	max-width: 80%;
  }
}

.TextboxSlideIn {
  animation-duration: 5s;
  animation-name: SlideInTextbox;
  animation-fill-mode: forwards;
  animation-delay: 0s;
}

@keyframes SlideInTextbox {
  0% {
    top: 30%;
    background-color: rgba(0, 0, 0, 0);
    color: rgba(0, 255, 255, 0);
  }
  5% {
    top: 30%;
    background-color: rgba(0, 0, 0, 0);
    color: rgba(0, 255, 255, 0);
  }
  100% {
    top: 20%;
    background-color: rgba(0, 0, 0, 1);
    color: rgba(255, 255, 255, 1);
  }
}

article section div h1 {
  text-align: center;
  font-size: 2.0rem;
  margin-bottom: 2rem;
}
article section div h2 {
  text-align: center;
  font-size: 1.75rem;
}
article section div h3 {
  text-align: center;
  font-size: 1.5rem;
}
article section div p {
  font-size: 1.25rem;
}

article section div.textbox.left {
  top: 20%;
  left: 10%;
  float: left;
}

article section div.textbox.center {
  top: 20%;
  margin-left: auto;
  margin-right: auto;
  transform: translateY(0%);
}
article section div.textbox.right {
  top: 20%;
  right: 10%;
  float: right;
}
article section div.textbox.left h1,
article section div.textbox.left h2,
article section div.textbox.left h3,
article section div.textbox.left p {
  text-align: left;
}
article section div.textbox.center h1,
article section div.textbox.center h2,
article section div.textbox.center h3,
article section div.textbox.center p {
  text-align: left;
}
article section div.textbox.right h1,
article section div.textbox.right h2,
article section div.textbox.right h3,
article section div.textbox.right p {
  text-align: right;
}
article section div.textbox.center p.imprint {
  font-size: 1rem;
  line-height: normal;
  margin-top: 1.25;
  margin-bottom: 0pt;
}

article section div.textbox.center p.credits {
  font-size: 1rem;
  line-height: normal;
  margin-top: 1.25rem;
  margin-bottom: 0pt;
}

section.partner-logos {
  height: 100%;
  margin-left: 20px;
  margin-top: 50px;
  margin-right: 20px;
  margin-bottom: 50px;
  padding: 0px;
  text-align: center;
}
section.partner-logos p {
  text-align: center;
}
section.partner-logos figure {
  display: inline-block;
  margin: 25px;
  padding: 0px;
}
section.partner-logos figure img {
  max-height: 100px;
  max-width: 100%;
  transition: 0.5s;
}
section.partner-logos figure img:hover {
  transform: scale(1.05);
}

section.social-media {
  margin-left: 20px;
  margin-top: 50px;
  margin-right: 20px;
  margin-bottom: 50px;
  padding: 0px;
  text-align: center;
}
section.social-media p {
  text-align: center;
}
section.social-media figure {
  display: inline-block;
  margin: 25px;
  padding: 0px;
}
section.social-media figure img {
  max-height: 60px;
  max-width: 100%;
  transition: 1s ease-out;
}
section.social-media figure img:hover {
  filter: brightness(200%);
}

a.nav-button {
   background-color: #2C2C2C;
   border-color: #8e8e8e;
   color: #8e8e8e;
   border-style: solid;
   border-width: 2px;
   border-radius: 30px;
   margin: 5px;
   padding-left: 20px;
   padding-top: 5px;
   padding-right: 20px;
   padding-bottom: 5px;
   font-weight: 600;
   white-space: nowrap;
   text-decoration: none;
}

a.nav-button:hover {
   background-color: #8e8e8e;
   color: #ffffff;
   transition: 2s;
}
