/*
 Theme Name: DBR
 Description:  Der Berg Ruft und Borderline
*/

/* Fonts */
/* Ueberschrift */
/* patua-one-regular - latin */

@font-face {
  font-family: "Patua One";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: local("Patua One"), local("PatuaOne-Regular"),
    url("fonts/patua-one-v10-latin-regular.woff2") format("woff2");
}

/* Text */
/* alegreya-sans-regular - latin-ext_latin */

@font-face {
  font-family: "Alegreya Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: local("Alegreya Sans Regular"), local("AlegreyaSans-Regular"),
    url("fonts/alegreya-sans-v10-latin-ext_latin-regular.woff2") format("woff2");
}

/* alegreya-sans-italic - latin-ext_latin */

@font-face {
  font-family: "Alegreya Sans";
  font-style: italic;
  font-display: swap;
  font-weight: 400;
  src: local("Alegreya Sans Italic"), local("AlegreyaSans-Italic"),
    url("fonts/alegreya-sans-v10-latin-ext_latin-italic.woff2") format("woff2");
}

/* alegreya-sans-700 - latin-ext_latin */

@font-face {
  font-family: "Alegreya Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: local("Alegreya Sans Bold"), local("AlegreyaSans-Bold"),
    url("fonts/alegreya-sans-v10-latin-ext_latin-700.woff2") format("woff2");
}

/* alegreya-sans-700italic - latin-ext_latin */

@font-face {
  font-family: "Alegreya Sans";
  font-style: italic;
  font-display: swap;
  font-weight: 700;
  src: local("Alegreya Sans Bold Italic"), local("AlegreyaSans-BoldItalic"),
    url("fonts/alegreya-sans-v10-latin-ext_latin-700italic.woff2")
      format("woff2");
}

/* Menue */

/* cuprum-regular - latin */

@font-face {
  font-family: "Cuprum";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: local("Cuprum Regular"), local("Cuprum-Regular"),
    url("fonts/cuprum-v11-latin-regular.woff2") format("woff2");
}

/* cuprum-italic - latin */

@font-face {
  font-family: "Cuprum";
  font-style: italic;
  font-display: swap;
  font-weight: 400;
  src: local("Cuprum Italic"), local("Cuprum-Italic"),
    url("fonts/cuprum-v11-latin-italic.woff2") format("woff2");
}

/* Main */

body {
  margin: 0;
  padding: 0;
  font-family: "Alegreya Sans";
  font-weight: 400;
  color: #00293c;
  overflow-x: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Patua One";
  font-weight: 400;
}

a > h4 {
  color: #00293c;
}

/* Ueberschriften */

h1,
h2 {
  font-size: 4vw;
}

/* Untertitel */

h3 {
  font-size: 2.3vw;
}

/* Kategorien auf der Startseite */

h4 {
  font-size: 2vw;
}

/* Das koennte dich interessieren usw */

h5 {
  font-size: 2vw;
}
/* Blog-Test */
p,
.anfahrt,
.tnp-field label {
  font-size: 2.2vw;
}

a {
  color: #2b929d;
  text-decoration: none;
}

.page-wrapper li {
  list-style-type: none;
  font-size: 1.8vw;
  line-height: 2.6vw;
}

.page-wrapper li::before {
  content: url("images/pfeil.jpg");
  margin-right: 10px;
}

.elementor-html .page-wrapper li::before {
  content: "";
  margin-right: unset;
}

/* Header */

.header-container {
  max-width: 1600px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0;
}

.header-logo {
  width: 20%;
  min-width: 165px;
}

.header-logo img {
  max-width: 100%;
}

.header-text li {
  list-style-type: none;
  text-align: right;
}

.header-title {
  font-family: "Patua One";
  font-size: 1.5vw;
}

.header-text p {
  margin: 0;
}

/* Menue */

.menu-wrapper {
  background-color: #f62a00;
}

#menu-header-menu {
  list-style-type: none;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0;
  display: flex;
  justify-content: space-around;
}

#menu-header-menu li {
  display: inline-block;
}

#menu-header-menu li.menu-item-has-children > a::after {
  content: "\02C7";
  position: absolute;
  padding-top: 8px;
  padding-left: 5px;
  font-size: 25px;
}

#menu-header-menu li a {
  color: white;
  font-family: "Cuprum";
  font-size: 23px;
  line-height: 51px;
}

.sub-menu {
  display: none;
  padding-left: 0;
  position: absolute;
  z-index: 99;
  margin-left: -6px;
  transition: 0.3s;
  height: 0;
}

#menu-header-menu .sub-menu li {
  display: block;
}

.sub-menu li {
  width: 230px;
  background-color: #f62a00;
  padding-left: 6px;
  transition: 0.3s;
}

.sub-menu li:hover {
  background-color: #df1f0b;
}

.sub-menu a {
  width: 100%;
}

#menu-header-menu li:hover > .sub-menu {
  display: block;
}

/* Mietangebote nur im Mobile Menu anzeigen */

#menu-header-menu .sub-menu #menu-item-743 {
  display: none;
}

/* Mobile menu */

#mobmenuright .sub-menu {
  height: auto;
}

#mobmenuright .sub-menu li {
  background-color: #f7f7f7;
}

#mobmenuright .sub-menu li:hover {
  background-color: unset;
}

#mobmenuright .sub-menu li a {
  color: #666;
}

/* Footer */

footer {
  background-color: #f2f2f2;
  padding: 30px 0;
  margin-top: 30px;
}

footer p {
  margin-top: 0;
}

footer a,
footer li,
footer p {
  font-family: "Cuprum";
  font-size: 16px;
  line-height: 22px;
  color: #737373;
}

footer a:hover {
  color: #1e656d;
}

footer ul {
  margin: 0;
  padding: 0;
}

footer li {
  list-style-type: none;
}

.footer-content {
  max-width: 1600px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.footer-content > li {
  width: 13%;
  min-width: 160px;
}

.footer-content > li:last-of-type {
  width: 60%;
}

#googlemaps {
  width: 100%;
  height: 300px;
}

.insta::before {
  display: inline-block;
  content: url("images/insta-grau.svg");
  width: 14px;
  margin-right: 7px;
  margin-left: -1px;
}

.insta:hover::before {
  content: url("images/insta-rot.svg");
}

.fb::before {
  content: "";
  display: inline-block;
  background-size: cover;
  background-image: url("images/facebook-grau.svg");
  width: 12px;
  height: 12px;
  margin-right: 8px;
}

.fb:hover::before {
  background-image: url("images/facebook-rot.svg");
}

/* Elemente */
/* Box mit der Hauptinfo */

.grey-box {
  background-color: #f2f2f2;
  margin: 20px 0;
}

.grey-box-text {
  padding: 5% 4% 3% 10%;
  box-sizing: border-box;
}

.grey-box h1::before,
.grey-box h2::before {
  content: "";
  display: block;
  width: 30%;
  height: 8px;
  background-color: #f62a00;
  border-radius: 0 4px 4px 0;
  margin-bottom: 50px;
}

.zweispaltig .slideshow-container {
  min-height: 200px;
}

/* Buttons */

a.button {
  font-size: 1.8vw;
  color: white;
  background-color: #f62a00;
  padding: 10px 30px;
  display: inline-block;
  text-align: center;
}

a.button:hover {
  background-color: #df1f0b;
}

/* Kategorien (4 Boxen mit roter Linie im Hintergrund) */

.red-line::before {
  content: "";
  display: block;
  width: 100%;
  height: 10vw;
  top: 28%;
  background: #f62a00;
  position: absolute;
}

.one-from-four,
.two-from-four {
  height: 20vw;
  box-shadow: 5px 8px 10px #484848;
  margin: 0 2% 20px 2%;
}

.one-from-four > div,
.two-from-four > div {
  background-position: center center;
  background-size: cover;
  padding: 0;
}

.one-from-four a.cat,
.two-from-four a.cat {
  height: 20vw;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: background-color 0.3s;
}

.one-from-four a.cat:hover,
.two-from-four a.cat:hover {
  background-color: #f62a00a3;
}

.one-from-four a.cat:hover h3,
.two-from-four a.cat:hover h3 {
  color: white;
}

.one-from-four h3,
.two-from-four h3 {
  font-size: 2.8vw;
  padding: 20px 17px;
  color: #f62a00;
  margin: 0;
  text-shadow: 0px 0px 6px rgba(255, 255, 255, 1);
}

.one-from-four p,
.two-from-four p {
  margin: 0;
  background-color: #f62a00;
  color: white;
  font-size: 1.2vw;
  height: 67px;
  padding: 12px 17px;
  box-sizing: border-box;
}

/* Abschnitt "Das koennte dich auch interessiren" */

h5 {
  text-align: center;
  font-size: 2vw;
}

/* Karte */

#y-v,
#g-m {
  background: url("images/map-placeholder.jpg");
}

#y-v,
#g-m {
  background-size: cover;
  background-repeat: no-repeat;
  padding: 4vw 30px;
  text-align: center;
}

#videoPlaceholder,
#mapPlaceholder {
  padding: 30px;
  text-align: center;
}

#videoPlaceholder {
  color: white;
}

#mapPlaceholder {
  color: black;
}

#s-v,
#s-m {
  text-align: center;
  background: #f62a00;
  color: #fff;
  padding: 5px 20px;
  font-size: 20px;
  display: inline-block;
  border-radius: 4px;
  box-shadow: 1px 1px 2px #331717;
}

#s-v:hover,
#s-m:hover {
  cursor: pointer;
}

.resp-container {
  padding-top: 36.26%;
  position: relative;
  overflow: hidden;
}

.resp-iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* Startseite */

.sale h2 {
  text-transform: uppercase;
  color: #f62a00;
  background-color: #f62a00;
}

.sale h2 span {
  padding: 0 20px;
  background-color: white;
}

.sale-bild > div > div > div {
  position: absolute;
}

/* animierte Bilder */

.sale-bild div.elementor-widget-wrap {
  height: 37vw;
  max-height: 535px;
}

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

.animated.bounceInUp:nth-child(1) {
  bottom: 0;
}

.animated.bounceInUp:nth-child(1) img {
  width: 48%;
}

.animated.bounceInUp:nth-child(2) {
  right: 16%;
}

.animated.bounceInUp:nth-child(2) img {
  width: 25%;
}

.animated.bounceInUp:nth-child(3) img {
  width: 21%;
}

.animated.bounceInUp:nth-child(4) {
  top: 28%;
}

.animated.bounceInUp:nth-child(4) img {
  width: 58%;
}

.animated.bounceInUp:nth-child(5) {
  top: 21%;
}

.animated.bounceInUp:nth-child(5) img {
  width: 42%;
  position: relative;
  right: 15%;
}

.animated.bounceInUp:nth-child(6) {
  margin-bottom: 0;
  bottom: 0;
}

.animated.bounceInUp:nth-child(6) img {
  width: 23%;
  position: relative;
  right: -14%;
}

.animated.bounceInUp:nth-child(7) {
  top: 31%;
}

.animated.bounceInUp:nth-child(7) img {
  width: 28%;
}

.animated.bounceInUp:nth-child(8) {
  right: 14%;
  bottom: 0;
}

.animated.bounceInUp:nth-child(8) img {
  width: 26%;
}

/* Newsletter */

.newsletter-abo {
  font-size: 2.2vw;
}

/* Newsletter Formular */
/* .class.class <-> !important; */
.formular {
  background-color: #00293c;
}

form {
  padding: 10px 6%;
  color: white;
}

form.tnp-subscription .tnp-field {
  display: flex;
  justify-content: space-between;
}

.tnp-subscription.tnp-subscription label, .tnp-profile label {
    font-size: 1em;
}

.tnp-subscription .tnp-field.tnp-field input[type="text"],
.tnp-subscription .tnp-field.tnp-field input[type="email"] {
  width: 70%;
  height: 30px;
}

.tnp-subscription.tnp-subscription input.tnp-submit, 
.tnp-profile.tnp-profile input.tnp-submit, 
.tnp-unsubscribe.tnp-unsubscribe button.tnp-submit, 
.tnp-reactivate.tnp-reactivate button.tnp-submit {
  background-color: #f62a00;
  border: none;
  color: white;
  padding: 10px 50px;
  margin: 30px auto 10px auto;
  -webkit-appearance: none;
  font-size: 20px;
}

input.tnp-submit.tnp-submit:hover {
  background-color: #df1f0b;
  cursor: pointer;
}

div.tnp-field.tnp-field-checkbox.tnp-field-privacy > label > a {
    color: #ffffff;
}

div.tnp-field.tnp-field-checkbox.tnp-field-privacy > label > a:hover {
    color: #f62a00;
}

/* Bilder auf mobilen Geraeten */

.form-header,
.form-footer {
  height: 250px;
}

/* mobile menue */

.mob-menu-header-holder {
  padding-bottom: 5px;
}

/* Verleih */

.elementor-image-box-title a {
  hyphens: manual;
}

/* Unterseiten */
/* Snowboard und Skiservice */

.zahl {
  background: #f62a00;
  color: white;
  font-family: "Patua One";
  font-size: 42px;
  width: 61px;
  text-align: center;
  display: inline-block;
  border-radius: 30px;
  line-height: 61px;
}

.page-wrapper ul,
.skiservice ul,
.langlaufservice ul,
.snowboardservice ul {
  margin-left: 0;
  margin-top: 0;
  padding-left: 0;
}

.skiservice-anmerkung {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid #00293c;
}

.service-preis {
  border-top: 1px solid #00293c;
}

.service-preis p,
.skiservice-anmerkung p {
  text-align: right;
  margin-top: 10px;
}

.skiservice-anmerkung p.mit-stern {
  width: 43%;
  text-align: left;
}

span.preis {
  color: #f62a00;
  font-family: "Patua One";
  font-size: 3vw;
}

/* Preisliste */

.preisliste {
  width: 100%;
  font-size: 1.8vw;
  border-collapse: collapse;
}

.preisliste::after {
  content: "*Alle Preise inkl. gesetzl. MwSt";
  font-size: 12px;
  display: inline-block;
  margin-top: 19px;
}

.preisliste td {
  padding: 3px 16px 3px 5px;
  min-width: 100px;
}

.preisliste tr {
  border-bottom: 1px solid #737373;
  transition: 0.3s;
}

.preisliste tbody tr:hover {
  background-color: #dfdfdf;
}

.preisliste tr td:last-of-type {
  text-align: right;
}

.tipp {
  background: #f62a00;
  color: white;
  font-size: 16px;
  padding: 1px 5px;
  border-radius: 3px;
  margin-left: 25px;
}

/* Mietangebote */

.preisliste.mieten td,
.preisliste.mieten tr td:last-of-type {
  text-align: center;
  padding: 3px 5px;
}

.preisliste.mieten tr td:first-of-type {
  text-align: left;
}

/* Kontakt */

.anfahrt {
  display: flex;
  flex-direction: column;
}

.anfahrt-row {
  display: flex;
  margin-bottom: 10px;
}

.anfahrt-row > div {
  text-align: left;
}

.anfahrt-row > div:first-of-type {
  width: 90px;
}

.ubahn,
.sbahn,
.bus {
  position: relative;
  top: -2px;
  padding: 0 7px;
  font-weight: 400;
  color: #fff;
  display: inline-block;
  font-size: 14px;
  font-family: Arial, Helvetica, sans-serif;
}

.bus {
  background: #7d176b;
}

.ubahn {
  background: #56a720;
}

.sbahn {
  background: #007032;
  border-radius: 13px;
}

/* Impressum, Datenschutzerklaerung */

.privacy-policy .site-content,
.page-id-716 .site-content {
  max-width: 1200px;
  margin: 0 auto;
  padding: 10px;
}

.privacy-policy h1,
.privacy-policy h2,
.page-id-716 h1,
.page-id-716 h2 {
  margin-top: 20px;
  margin-bottom: 30px;
}

.privacy-policy h1,
.page-id-716 h1 {
  font-size: 26px;
}

.privacy-policy h2,
.page-id-716 h2 {
  font-size: 22px;
}

.privacy-policy h3,
.page-id-716 h3 {
  font-size: 20px;
}

.privacy-policy h4,
.page-id-716 h4 {
  font-size: 18px;
}

/* News */

.site-content.news,
.newsletter-confirmation {
  max-width: 1200px;
  margin: 0 auto;
  padding: 10px;
}

.news h1,
.newsletter-confirmation h1 {
  margin-top: 20px;
  margin-bottom: 30px;
}

.post {
  display: flex;
  margin-bottom: 40px;
}

.post h4 {
  margin: 1vh 0;
}

.beitragsbild {
  max-width: 300px;
  min-width: 90px;
  height: auto;
  margin-right: 25px;
  width: 28%;
}

.beitragsbild img {
  width: 100%;
}

.post-content {
  width: 70%;
}

.news p.datum {
  margin: 0;
  font-style: italic;
  color: #00293cab;
  font-size: 14px;
}

.site-content.news.single {
  padding-top: 30px;
}

.single h1 {
  margin: 30px 0 0 0;
}

.single-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.single-container > div {
  width: 45%;
}

.single-container > div img {
  max-width: 100%;
  height: auto;
}

.single-beitragsbild {
  height: auto;
  width: 100%;
  display: block;
}

/* Responsiv */
/* Large Display */

@media (min-width: 1900px) {
  .header-title {
    font-size: 22px;
  }
  p,
  a.button,
  .page-wrapper li,
  .preisliste,
  .tnp-field label,
  form input[type="submit"],
  .anfahrt {
    font-size: 22px;
  }
  .page-wrapper li {
    line-height: 38px;
  }
  h1,
  h2 {
    font-size: 82px;
  }
  h3 {
    font-size: 50px;
  }
  h4 {
    font-size: 25px;
  }
  h5 {
    font-size: 40px;
  }
  .red-line::before {
    height: 200px;
    top: 22%;
  }
  .one-from-four,
  .one-from-four a.cat,
  .two-from-four,
  .two-from-four a.cat {
    height: 340px;
  }
  .one-from-four h3,
  .two-from-four h3 {
    font-size: 44px;
    text-shadow: 1px 0px 6px rgba(255, 255, 255, 1);
  }
  .one-from-four p,
  .two-from-four p {
    font-size: 18px;
  }
  .newsletter-abo {
    font-size: 40px;
  }
  span.preis {
    font-size: 60px;
  }
}

@media (max-width: 1600px) {
  .header-container {
    padding: 10px;
  }
  footer {
    padding: 30px;
  }
}

@media (max-width: 1200px) {
  .footer-content > li {
    width: 15%;
  }
  .footer-content > li:last-of-type {
    width: 40%;
  }
}

/* Tablet */

@media (max-width: 967px) {
  .header-title {
    font-size: 16px;
  }
  /* Text in der grauen Box */
  p,
  a.button,
  .page-wrapper li,
  .preisliste,
  .tnp-field label,
  form input[type="submit"],
  .anfahrt {
    font-size: 16px;
  }
  .page-wrapper li {
    line-height: 29px;
  }
  h4 {
    font-size: 20px;
  }
  h5 {
    font-size: 24px;
  }
  .red-line::before {
    height: 140px;
    top: 32%;
  }
  div.one-from-four,
  .one-from-four a.cat,
  div.two-from-four,
  .two-from-four a.cat {
    height: 26vw;
    min-height: 250px;
  }
  .one-from-four p,
  .two-from-four p {
    font-size: 18px;
  }
  .newsletter-abo {
    font-size: 24px;
  }
  /* Skiservice Preisuebersicht */
  .skiservice-anmerkung p.mit-stern {
    width: 42%;
  }
  /* Footer */
  .footer-content > li {
    width: 30%;
    margin-bottom: 20px;
  }
  .footer-content > li:last-of-type {
    width: 100%;
  }
}

/* Smartphone */

@media (max-width: 768px) {
  h1,
  h2 {
    font-size: 38px;
  }
  h3 {
    font-size: 30px;
  }
  .red-line::before {
    display: none;
  }
  /* Startseite-Sale-> animierte Bilder */
  .sale-bild div.elementor-widget-wrap {
    height: 67vw;
  }
  /* Links zum Shop in Boxen */
  .one-from-four h3,
  .two-from-four h3 {
    font-size: 36px;
  }
  .one-from-four p,
  .two-from-four p {
    height: unset;
  }
  span.preis {
    font-size: 30px;
  }
  /* Mietangebote */
  .preisliste.mieten {
    display: block;
    overflow-x: auto;
  }
  /* News */
  .single-container > div {
    width: 100%;
  }
}
