/*
Theme Name: Bobby Wenzing Divi 5
Theme URI: https://zauberer.hamburg
Description: Individuelles Divi-5-Child-Theme für Bobby Wenzing.
Author: ToMa·MAC
Version: 1.0.0
Template: Divi
Text Domain: bobby-wenzing
*/

@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 100 1000;
  font-display: swap;
  src: url("assets/fonts/dm-sans-latin.woff2") format("woff2");
}

@font-face {
  font-family: "Libre Caslon Display";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/libre-caslon-display-latin.woff2") format("woff2");
}

:root {
  --bw-ink: #151513;
  --bw-paper: #f2efe8;
  --bw-red: #c83b2f;
  --bw-sand: #d9c7a3;
  --bw-line: rgba(21, 21, 19, .16);
  --bw-serif: "Libre Caslon Display", Georgia, serif;
  --bw-sans: "DM Sans", Arial, sans-serif;
  --bw-gutter: clamp(22px, 6vw, 96px);
}

body {
  background: var(--bw-paper);
  color: var(--bw-ink);
  font-family: var(--bw-sans);
}

h1, h2, h3, .bw-display {
  font-family: var(--bw-serif);
  font-weight: 400;
  letter-spacing: -.045em;
}

.bw-section {
  padding: clamp(76px, 9vw, 140px) var(--bw-gutter);
}

.bw-eyebrow {
  color: var(--bw-red);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.bw-button .et_pb_button,
.bw-button.et_pb_button {
  background: var(--bw-red) !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  padding: 18px 22px !important;
  text-transform: uppercase;
}

.bw-button .et_pb_button:hover,
.bw-button.et_pb_button:hover {
  transform: translateY(-2px);
}

.bw-hero {
  background: var(--bw-ink);
  color: #fff;
  min-height: 790px;
  overflow: hidden;
}

.bw-hero h1 {
  color: #fff;
  font-size: clamp(64px, 7.7vw, 126px);
  line-height: .82;
}

.bw-hero h1 em,
.bw-heading em {
  color: var(--bw-red);
  font-weight: 400;
}

.bw-hero-copy {
  padding: clamp(140px, 14vw, 190px) var(--bw-gutter) 80px;
}

.bw-hero-copy p {
  color: rgba(255, 255, 255, .68);
  font-size: 18px;
  line-height: 1.65;
  max-width: 600px;
}

.bw-hero-image {
  background: radial-gradient(circle at 50% 42%, #703d34 0, #2a2420 45%, #151513 72%);
  height: 100%;
  min-height: 790px;
  position: relative;
}

.bw-hero-image img {
  filter: saturate(.72) contrast(1.07);
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.bw-ticker {
  background: var(--bw-red);
  color: #fff;
  font-size: 12px;
  letter-spacing: .14em;
  overflow: hidden;
  padding: 21px var(--bw-gutter);
  text-transform: uppercase;
  white-space: nowrap;
}

.bw-card {
  min-height: 480px;
  padding: 34px;
  position: relative;
}

.bw-card h3 {
  font-size: clamp(42px, 4vw, 58px);
}

.bw-card-red { background: var(--bw-red); color: #fff; }
.bw-card-sand { background: var(--bw-sand); color: var(--bw-ink); }
.bw-card-ink { background: var(--bw-ink); color: #fff; }

.bw-card-red h3, .bw-card-ink h3 { color: #fff; }
.bw-card p { font-size: 14px; line-height: 1.65; opacity: .74; }

.bw-about {
  background: var(--bw-red);
  color: #fff;
}

.bw-about h2 {
  color: #fff;
  font-size: clamp(50px, 5.7vw, 82px);
  line-height: .95;
}

.bw-about h2 em { color: var(--bw-sand); }

.bw-portrait img {
  filter: grayscale(1) contrast(1.12);
  height: 100%;
  object-fit: cover;
}

.bw-chip {
  border: 1px solid rgba(255, 255, 255, .4);
  border-radius: 99px;
  display: inline-block;
  font-size: 10px;
  letter-spacing: .14em;
  margin: 4px;
  padding: 8px 15px;
  text-transform: uppercase;
}

.bw-quote {
  background: var(--bw-sand);
  text-align: center;
}

.bw-quote blockquote {
  font-family: var(--bw-serif);
  font-size: clamp(36px, 5vw, 67px);
  line-height: 1.08;
}

.bw-contact {
  background: var(--bw-ink);
  color: #fff;
}

.bw-contact h2 {
  color: #fff;
  font-size: clamp(54px, 6vw, 88px);
  line-height: .9;
}

.bw-contact h2 em { color: var(--bw-sand); }

.bw-contact .et_pb_contact_field input,
.bw-contact .et_pb_contact_field textarea,
.bw-contact .et_pb_contact_field select {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid #555 !important;
  border-radius: 0 !important;
  color: #fff !important;
  padding-left: 0 !important;
}

.bw-contact .et_pb_contact_field input:focus,
.bw-contact .et_pb_contact_field textarea:focus {
  border-color: var(--bw-sand) !important;
}

.bw-contact .et_contact_bottom_container {
  float: none;
  margin-top: 24px;
  text-align: left;
}

.bw-footer {
  background: #0d0d0c;
  color: #fff;
}

.bw-footer a, .bw-footer p { color: #999; }
.bw-footer a:hover { color: var(--bw-sand); }

@media (max-width: 980px) {
  .bw-hero, .bw-hero-image { min-height: auto; }
  .bw-hero-image { height: 510px; }
  .bw-card { min-height: 390px; }
}

@media (max-width: 767px) {
  .bw-section { padding-left: 22px; padding-right: 22px; }
  .bw-hero-copy { padding: 135px 22px 65px; }
  .bw-hero-image { height: 430px; }
  .bw-card { padding: 25px; }
}
