:root {
  --main-color: #5b36e9ff;
  --background: white;
  --color: #333;
  --footer-color: #808080;
  --padding: 20px;
  --margin: 20px
}

@font-face {
  font-family: "Segoe UI";
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  src:
    local(""),
    url("../font/SegoeUI.woff2") format("woff2"),
    url("../font/SegoeUI.woff") format("woff")
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0
}

body {
  font-family: "Segoe UI";
  color: var(--color);
  line-height: 1.6rem
}

.container {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-template-rows: 100px 1fr 100px;
  grid-auto-columns: 1fr;
  gap: 40px 0px;
  height: 100vh;
  grid-auto-flow: row;
  grid-template-areas:
    "header header header header header header"
    "main main main main main main"
    "footer footer footer footer footer footer"
}

.header {
  display: flex;
  grid-area: header;
  padding: var(--padding)
}

.logo {
  grid-area: logo
}

.logo img {
  max-height: 60px
}

.nav {
  grid-area: nav
}

/*Menu*/

.nav .mobile-menu {
  position: absolute;
  background: var(--main-color);
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  box-shadow:
    0 0 0 0 #fff,
    0 0 0 0 #fff;
  cursor: pointer;
  right: 0;
  top: 0;
  width: 100px;
  height: 100px;
  background-color: var(--main-color);
  border-radius: 0 0 0 100px
}

.nav .hamburger {
  position: absolute;
  top: 45px;
  left: 40px;
  width: 30px;
  height: 2px;
  background: var(--background);
  display: block;
  -webkit-transform-origin: center;
  transform-origin: center;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out
}

.nav .hamburger:after,
.nav .hamburger:before {
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  background: var(--background)
}

.nav .hamburger:before {
  top: -10px
}

.nav .hamburger:after {
  bottom: -10px
}

.nav input {
  display: none
}

.nav input:checked + .mobile-menu {
  box-shadow:
    0 0 0 100vw var(--background),
    0 0 0 100vh var(--background);
  border-radius: 0
}

.nav input:checked + .mobile-menu .hamburger {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg)
}

.nav input:checked + .mobile-menu .hamburger:after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  bottom: 0
}

.nav input:checked + .mobile-menu .hamburger:before {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  top: 0
}

.nav input:checked + .mobile-menu + ul {
  opacity: 1
}

.nav input:checked + .mobile-menu + ul ul {
  opacity: 1
}

.nav ul {
  z-index: 200;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  opacity: 0;
  -webkit-transition: 0.25s 0s ease-in-out;
  transition: 0.25s 0s ease-in-out;
  list-style: none
}

.nav ul ul {
  position: initial;
  transform: none
}

.nav ul ul a {
  font-weight: normal;
  text-transform: lowercase
}

.nav a {
  margin-bottom: 1em;
  display: block;
  color: var(--color);
  text-decoration: none;
  font-weight: 700;
  text-transform: uppercase
}

/*Menu end*/

.footer {
  text-align: center;
  align-self: center;
  grid-area: footer;
  color: var(--footer-color);
  font-size: 13px;
  padding: calc(var(--padding) * 2) var(--padding);
}

.footer a {
  color: var(--footer-color);
  text-decoration: none
}

.footer a:hover {
  opacity: 0.5
}

.main {
  grid-area: main
}

.content {
  padding: 0 var(--padding)
}

.scroll-top {
    position: fixed;
    bottom: 50px;
    right: 10px;   
    opacity: 0;
    z-index: 999;
    transition: opacity 1s
}

a.scroll-top {
color: var(--main-color)
}

.show-scroll-top{
    opacity: 1;
transition: opacity 3s
}

/*Boxen*/

.card {
  background: var(--main-color);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--padding);
  margin-bottom: calc(var(--margin) * 5);
  height: 170px
}

.card-content {
  display: flex;
  flex-direction: column;
  color: var(--background);
  align-items: center
}

.card-content-header {
  font-size: 2.6rem;
  font-weight: 600;
  margin-bottom: var(--margin)
}

.box-2 {
background:#9404fc
}

.box-3 {
background:#30b873
}

.box-4 {
background:#5b36e9
}

.box-5 {
background:#ce3d1a
}

/*Generell*/

img {
  max-width: 100%;
  height: auto
}

h1,h2,h3 {color: var(--main-color);margin-bottom: var(--margin)}

h1 {font-size: 2rem}
h2 {font-size: 1.6rem}
h3 {font-size: 1.4rem}

a {color: var(--main-color)}

/*mozilo*/

.listitem {
  list-style-position: inside
}

.alignright {
  text-align: right
}

.alignleft {
  text-align: left
}

.aligncenter {
  text-align: center
}

.alignjustify {
text-align: justify
}

table.contenttable {
  width: 100%;
  text-align: center;
  padding: var(--padding) 0
}

th.contenttable {
  background: var(--main-color);
  color: var(--background);
  border-right: 1px solid;
  padding: calc(var(--padding)/2)
}

th.contenttable:last-child {
  border-right: none
}

td {
  padding: calc(var(--padding)/2);
  border-bottom: 1px solid var(--color)
}

.leftcontentimage {
  float: left;
}

.rightcontentimage {
  float: right;
}

.horizontalrule {
  margin: var(--margin) 0
}


@media only screen and (min-width: 36rem) {
}

@media only screen and (min-width: 48rem) {
  .header {
    align-items: center
  }

  /*Menu*/

  .nav .mobile-menu {
    display: none
  }

  .nav ul {
    position: initial;
    opacity: 1;
    transform: none;
    padding: var(--padding)
  }

  .nav ul li {
    display: inline-flex;
    position: relative;
    padding: 0 var(--padding)
  }

  .nav ul li ul {
    height: 0;
    transition:
      visibility 0s,
      opacity 0.5s linear;
    position: absolute;
    left: 0;
    top: 100%;
    background: var(--background);
    border-radius: 5px;
    overflow: hidden;
    padding: 0;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2)
  }

  .nav ul li:hover ul {
    height: auto;
    max-height: 300px
  }

  .nav ul li:hover ul li {
    transform: translateX(0)
  }

  .nav a {
    margin-bottom: 0
  }

  .nav a:hover {
    color: var(--main-color)
  }

  .nav ul li ul li {
    display: flex;
    align-items: center;
    transition:  0.4s, transform 0.4s;
    transition-delay: 0.2s;
    transform: translateX(-100%)
  }

  .nav ul ul li:last-of-type {
    padding-bottom: 0
  }

  .nav ul ul li a {
    width: 100%;
    padding: calc(var(--padding) / 2) 0;
    text-transform: initial
  }

  .nav li > a:not(:only-child) {
    display: flex;
    align-items: center
  }

  .nav li > a:not(:only-child):hover::after {
    transform: rotate(225deg)
  }

  .nav li > a:not(:only-child):after {
    content: "";
    width: 6px;
    height: 6px;
    border-width: 0 3px 3px 0;
    border-style: solid;
    transform: rotate(45deg);
    transition: 0.4s;
    margin-left: 10px
  }

  /*Menu end*/

  .content {
    max-width: 760px;
    margin: 0 auto
  }

  .card {
    height: 270px
  }
  
  .scroll-top {
    right: 40px
}
}

@media only screen and (min-width: 62rem) {
}

@media only screen and (min-width: 75rem) {
}
