/* ------====[VARIABLEN]====------ */

:root {
  /* [FARBEN] */
  --company-color: #006f6f;
  --company-color-medium: hsl(180 65% 29% / 1);
  --company-color-light: #4c9a9a;
  --text-on-company-color: #fff;
  --link-hover-effect-color: #00dd44;
  --contentpage-background-color: #fff;
  --form-input-placeholder-color: #000;
}

/* ------====[GLOBAL]====------ */

/* [FONT] */
* {
  margin: 0;
  padding: 0;
  font-family: "arial", "Signika", "Ubuntu";
}
/* [LINK DESIGN] */
a {
  text-decoration: none;
}
.textbox a {
  text-decoration: underline;
}
a:hover {
  color: var(--link-hover-effect-color) !important;
}
/* [HINTERGRUND] */
body {
  background-image: url("bilder/diamond-upholstery.png");
  background-color: var(--company-color);
}
/* [FONT SKALIERUNG NACH AUFLÖSUNG] */
@media only screen and (min-width: 840px) {
  footer,
  nav,
  .contentbox {
    font-size: 120%;
  }
}

/* ------====[NAVIGATION]====------ */

nav {
  position: fixed;
  font-size: 1.2em;
  height: 70px;
  line-height: 70px;
  background-color: var(--company-color);
  font-weight: bold;
  width: 100%;
  z-index: 100;
}
.spacer {
  width: 100%;
  height: 70px;
}
.menu {
  margin: 0 30px 0 10%;
  float: left;
}
.menu li {
  display: inline-block;
  text-decoration: none;
}
.menu a {
  clear: right;
  color: var(--text-on-company-color);
  margin: 0 10px;
  line-height: 70px;
  background-color: var(--company-color);
}
nav a:hover {
  color: var(--link-hover-effect-color);
  padding-bottom: 4px;
  border-bottom: 2px solid var(--link-hover-effect-color);
}
nav label {
  margin: 0 0 0 20px;
  font-size: 26px !important;
  line-height: 70px;
  display: none;
  width: 26px;
  float: left;
}
#toggle {
  display: none;
}
.logotext {
  float: right;
  margin-right: 10%;
}
.logotext a,
h1 {
  font-size: 1.3em;
  color: var(--text-on-company-color);
}

/* ------====[NAVIGATION MOBILE]====------ */

@media only screen and (max-width: 1175px) {
  .logotext {
    margin-right: 2%;
  }
  .menu {
    margin: 0 30px 0 0;
  }
}
@media only screen and (max-width: 840px) {
  label {
    display: block !important;
    cursor: pointer;
    color: var(--text-on-company-color);
  }
  .menu {
    text-align: center;
    display: none;
    height: 235px;
    max-height: 235px;
    width: 100%;
    overflow-y: scroll;
  }
  .menu li {
    display: block;
  }
  .menu a {
    display: block;
    border-bottom: 1px solid var(--text-on-company-color);
    margin: 0;
  }
  #toggle:checked + .menu {
    display: block;
  }
  #home {
    border-top: 1px solid var(--text-on-company-color);
  }
  nav a:hover {
    border-bottom: 1px solid var(--text-on-company-color);
  }
  .logotext a,
  h1 {
    float: right;
    letter-spacing: -1px;
  }
}

/* ------====[FIRMENLOGO]====------ */

#logo {
  height: 150px;
  width: 150px;
  position: absolute !important;
  background-color: var(--company-color);
  background: rgba(0, 111, 111, 0.7);
}

/* ------====[FIRMENLOGO MOBILE]====------ */

@media only screen and (max-width: 1280px) {
  #logo {
    height: 125px;
    width: 125px;
  }
}
@media only screen and (max-width: 840px) {
  #logo {
    margin-left: -80px;
    margin-top: 5px;
    height: 60px;
    width: 60px;
    background: none;
  }
}
@media only screen and (max-width: 540px) {
  .all-page-content {
    font-size: 90%;
  }
}
@media only screen and (max-width: 420px) {
  .all-page-content {
    font-size: 70%;
  }
  #logo {
    margin-top: 15px;
    height: 45px;
    width: 45px;
    margin-left: -55px;
  }
}
@media only screen and (max-width: 360px) {
  .all-page-content {
    font-size: 60%;
  }
}
/* ------====[SLIDER]====------ */

.slider {
  overflow: hidden;
  z-index: 3;
  width: 100%;
  height: 100%;
}
.slider figure div {
  width: 20%;
  float: left;
}
.slider figure img {
  width: 100%;
  height: 100%;
  float: left;
}
.slider figure {
  position: relative;
  width: 500%;
  margin: 0;
  left: 0;
  animation: 80s slidy infinite;
}
@keyframes slidy {
  0% {
    left: 0%;
  }

  10% {
    left: 0%;
  }

  12% {
    left: -100%;
  }

  22% {
    left: -100%;
  }

  24% {
    left: -200%;
  }

  34% {
    left: -200%;
  }

  36% {
    left: -300%;
  }

  46% {
    left: -300%;
  }

  48% {
    left: -400%;
  }

  58% {
    left: -400%;
  }

  60% {
    left: -300%;
  }

  70% {
    left: -300%;
  }

  72% {
    left: -200%;
  }

  82% {
    left: -200%;
  }

  84% {
    left: -100%;
  }

  94% {
    left: -100%;
  }

  96% {
    left: 0%;
  }

  100% {
    left: 0%;
  }
}

/* ------====[SLIDER MOBILE]====------ */

@media only screen and (max-width: 840px) {
  figure {
    display: none;
  }
}

/* ------====[CONTENT BOX]====---- */

#inhalt {
  margin-left: 10%;
  margin-right: 10%;
  background-color: var(--contentpage-background-color);
}
.contentbox {
  display: inline-block;
  margin: 2% 4%;
  padding: 2% 2% 2% 2%;
  width: 88%;
  border-bottom: 1px solid var(--company-color);
  text-align: justify;
}
.picbox img {
  float: right;
  width: 30%;
  box-shadow: 0 2px 8px 0;
}
.textbox {
  float: left;
  width: 59%;
  min-width: 59%;
  padding: 0 0 0 0;
}
.textbox_no_img {
  float: left;
  width: 89%;
  min-width: 89%;
  padding: 0 0 0 0;
}
.headline {
  padding: 0 0 15px 0;
  text-align: left;
}
section :last-child {
  border-bottom: none;
}

/* ------====[CONTENT BOX VERKETTUNG]====---- */

.zsm_1 {
  border: none;
  margin-bottom: 0;
  padding-bottom: 1%;
}
.zsm_2 {
  border: none;
  margin-top: 0;
  padding-top: 1%;
  margin-bottom: 0;
  padding-bottom: 1%;
}
.zsm_3 {
  margin-top: 0;
  padding-top: 1%;
}

/* ------====[CONTENT BOX MOBILE]====---- */

@media only screen and (max-width: 1160px) {
  .contentbox {
    width: 94%;
    margin: 1% 2%;
    padding: 2% 1%;
  }
  .picbox img {
    box-shadow: none;
    clear: both;
    width: 90%;
    height: 100%;
    padding: 0 5%;
  }
  .textbox {
    clear: both;
    width: 90%;
    height: 100%;
    padding: 5%;
  }
  .textbox_no_img {
    clear: both;
    width: 90%;
    height: 100%;
    padding: 5%;
  }
  .headline {
    padding: 0 5% 2% 5% !important;
  }
}
@media only screen and (max-width: 840px) {
  #inhalt {
    margin-left: 0;
    margin-right: 0;
  }
}
@media (max-width: 750px) and (orientation: landscape) {
  .contentbox {
    margin: 1% 2%;
    padding: 2% 1% 2% 1%;
  }
  .picbox img {
    box-shadow: none;
    clear: both;
    margin-right: 10%;
    width: 70%;
    height: 100%;
    padding: 5%;
  }
}

/* ------====[FOOTER]====------ */

footer section {
  display: flex;
  justify-content: center;
  background-color: var(--company-color-medium);
  color: var(--text-on-company-color);
  padding: 1% 0;
}
footer section div,
footer section img {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 2%;
  border-left: 1px solid var(--text-on-company-color);
}
footer section div h4 {
  padding-bottom: 3px;
}
footer section img {
  order: 1;
  height: 150px;
  width: 150px;
  border-left: none !important;
}
#logofooter {
  border-left: none !important;
}
#anschrift {
  order: 3;
}
#kontakt_footer {
  order: 3;
}
#oeffnungszeiten {
  order: 4;
}
.copyright {
  display: flex;
  justify-content: space-around;
  background-color: var(--company-color);
  color: var(--text-on-company-color);
}
.copyright a {
  color: var(--text-on-company-color);
}
.copyright a,
.copyright p {
  padding: 0.3em 1%;
}

/* ------====[FOOTER MOBILE]====------ */

@media only screen and (max-width: 965px) {
  footer {
    font-size: 0.9em !important;
  }
  footer section {
    flex-wrap: wrap;
  }
  footer section div {
    padding: 2% 3%;
  }
  #logofooter {
    display: none;
  }
  #anschrift {
    border: none;
  }
}
@media only screen and (max-width: 680px) {
  footer section div:not(#logofooter) {
    width: 100%;
    text-align: center;
    padding: 2% 5%;
    border-bottom: 1px solid var(--text-on-company-color);
    border-left: none;
  }
  footer section img {
    display: none;
  }
  #oeffnungszeiten {
    border-bottom: none !important;
  }
  .copyright {
    flex-wrap: wrap;
    width: 100%;
  }
}

/* [NEUE SEITE] */

/* ------====[IMPRESSUM]====---- */

/* [NEUE SEITE] */

/* ------====[SORTIMENT]====---- */

#contentbox_sortiment_1 h3 {
  padding-top: 30px;
}

@media only screen and (min-width: 1440px) {
  #sortiment_neuaufnahmen {
    column-count: 2;
  }
}

/* STAUDE DES JAHRES */

@media only screen and (min-width: 966px) {
  .contentbox_big .contentbox {
    width: 94%;
    margin: 1% 2%;
    padding: 2% 0;
  }
  .contentbox_big .picbox img {
    box-shadow: 0 2px 8px 0;
    clear: both;
    width: 100%;
    height: 100%;
    padding: none;
  }
  .contentbox_big .textbox {
    clear: both;
    width: 100%;
    height: 100%;
    padding: 5% 0;
  }
  .contentbox_big .headline {
    padding: 0 0 2% 0 !important;
  }
}

/* [NEUE SEITE] */

/* ------====[UEBER UNS]====---- */

/* [NEUE SEITE] */

/* ------====[KONTAKT]====---- */

form {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
}

form input,
form textarea {
  font-size: 80%;
  color: var(--text-on-company-color);
  width: 80%;
  height: 2.5em;
  margin-bottom: 10px;
  border: 3px solid var(--company-color);
  background-color: hsl(180 34% 60% / 1);
  padding: 0.3% 0.6%;
}
form textarea {
  resize: none;
  height: 15em;
  margin-bottom: 10px;
  padding: 0.3% 0.6%;
}
#absendebutton {
  cursor: pointer;
  padding: 1% 0;
  margin-top: 10px;
  font-size: 80%;
  color: var(--text-on-company-color);
  border: 3px solid var(--company-color);
  background-color: var(--company-color-medium);
  width: 301px;
  margin-bottom: 4%;
}
form input,
form textarea {
  cursor: pointer;
}
#absendebutton:hover {
  background-color: var(--link-hover-effect-color);
}
#absendebutton:active {
  transform: translateY(4px);
}
#contentbox_kontakt_1 {
  border-bottom: none;
}
::-webkit-input-placeholder {
  /* Chrome/Opera/Safari */
  color: var(--form-input-placeholder-color);
}
::-moz-placeholder {
  /* Firefox 19+ */
  color: var(--form-input-placeholder-color);
}
:-ms-input-placeholder {
  /* IE 10+ */
  color: var(--form-input-placeholder-color);
}
:-moz-placeholder {
  /* Firefox 18- */
  color: var(--form-input-placeholder-color);
}

/* ------====[KONTAKT MOBIL]====---- */

@media only screen and (max-width: 840px) {
  form input,
  form textarea {
    width: 98.8%;
    margin: none;
  }
  #absendebutton {
    padding: 1% 0;
    width: 242px;
  }
  .g-recaptcha {
    transform: scale(0.8);
    transform-origin: 0 0;
  }
}

/* [NEUE SEITE] */

/* ------====[ANFAHRT]====---- */

#gmap-placeholder,
#gmap-wrapper iframe {
  height: 800px;
  width: 95%;
  margin: 75px 2.5% 50px 2.5%;
  box-shadow: 0 2px 8px 0;
}

#gmap-placeholder {
  background-color: rgb(70, 70, 70, 100);
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ------====[ANFAHRT MOBILE]====---- */

@media only screen and (max-width: 840px) {
  #contentbox_anfahrt_1 iframe,
  #gmap-placeholder {
    margin: 4% 2.5%;
    height: 400px;
  }
}

/* ------====[LARGE SCREEN]====------ */

@media only screen and (min-width: 2560px) {
  .all-page-content {
    font-size: 130%;
  }
  #logo {
    height: 200px;
    width: 200px;
  }
  nav {
    height: 94px;
    line-height: 94px;
  }
  footer section img {
    height: 200px;
    width: 200px;
  }
  .g-recaptcha {
    transform: scale(1.33);
    transform-origin: 0 0;
  }
  form input,
  form textarea {
    font-size: 100%;
    margin-bottom: 14px;
  }
  #absendebutton {
    margin-top: 35px;
    padding: 1% 0;
    width: 402px;
    border: 4px solid var(--company-color);
  }
  #contentbox_anfahrt_1 iframe,
  #gmap-placeholder {
    height: 920px;
    margin: 100px 2.5% 67px 2.5%;
  }
  footer section div,
  footer section img {
    border-left: 2px solid var(--text-on-company-color);
  }
  form input,
  form textarea {
    border: 4px solid var(--company-color);
  }
}
@media only screen and (min-width: 3840px) {
  .all-page-content {
    font-size: 220%;
  }
  #logo {
    height: 300px;
    width: 300px;
  }
  nav {
    height: 140px;
    line-height: 140px;
  }
  footer section img {
    height: 300px;
    width: 300px;
  }
  .g-recaptcha {
    transform: scale(2);
    transform-origin: 0 0;
  }
  form input,
  form textarea {
    margin-bottom: 14px;
  }
  #absendebutton {
    margin-top: 6%;
    padding: 1% 0;
    width: 604px;
  }
  #contentbox_anfahrt_1 iframe,
  #gmap-placeholder {
    height: 1400px;
    margin: 180px 2.5% 100px 2.5%;
  }
  footer section div,
  footer section img {
    border-left: 3px solid var(--text-on-company-color);
  }
  form input,
  form textarea {
    border: 6px solid var(--company-color);
  }
}

/* ------====[COOKIE BANNER]====------ */

#cookie-banner {
  font-family: Arial, Helvetica, sans-serif;
  color: white;
  background-color: rgba(16, 16, 16, 0.9);
  box-shadow: 0 0 16px rgba(0, 0, 0, 0.5);
  border: none;
  border-radius: 8px;
  position: fixed;
  bottom: 0;
  max-width: 960px;
  margin: auto;
  width: 60%;
  margin-bottom: 1em;
  padding: 0.75em 1.5em 0.75em 1.5em;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  hyphens: auto;
  text-align: justify;
  visibility: hidden;
}

.cookie-btn-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
}

.cookie-btn {
  color: black;
  background-color: #ff3b3b;
  border: none;
  padding: 16px 24px;
  border-radius: 8px;
  width: 10em;
  text-align: center;
  text-decoration: none;
  margin: 8px 6px;
  cursor: pointer;
}

.cookie-btn#cookie-allow {
  background-color: #3bff3b;
}

.cookie-message {
  margin: auto 48px auto auto;
}

.cookie-message a {
  color: rgb(0, 180, 255);
}

/* Responsive Mobile */
@media only screen and (max-width: 1160px) {
  #cookie-banner {
    flex-direction: column;
    text-align: center;
  }

  .cookie-message {
    margin-right: 0;
    margin-bottom: 0.75em;
  }

  .cookie-btn-wrapper {
    justify-content: space-around;
  }
}

@media only screen and (max-width: 420px) {
  .cookie-btn-wrapper {
    flex-direction: column;
  }
}

@media only screen and (min-width: 3840px) {
  #cookie-banner {
    scale: 150%;
    margin-bottom: 4em;
  }
}

/* Hidden Gmap Link */
.cookie-notice {
  color: #add9ff;
  text-decoration: underline;
}
