/**
Theme Name: Theissen Theme
Theme URI: https://example.com
Template: agency-base
Author: Artur Petrov
Author URI: https://moleco.de
Description:  This is a base theme for many projects.
Requires at least: 6.7
Tested up to: 6.8
Requires PHP: 7.2
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: basetheme
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news

 */

@font-face {
  font-family: 'Montserrat';
  src: url('/wp-content/themes/theissen-theme/assets/fonts/Montserrat-VariableFont_wght.woff2')
    format('woff2');
  font-weight: 100 900;
  font-style: normal;
}
@font-face {
  font-family: 'Montserrat';
  src: url('/wp-content/themes/theissen-theme/assets/fonts/Montserrat-Italic-VariableFont_wght.woff2')
    format('woff2');
  font-weight: 100 900;
  font-style: italic;
}

html,
body {
  width: 100vw;
  font-size: 16px;
  font-family: 'Montserrat', sans-serif;
  color: var(--brand-primary-color);
  scroll-behavior: smooth;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
blockquote {
  margin: 0;
}

.text-content h3 {
  line-height: 0rem;
  margin-bottom: 2.5rem;
}
.text-content h2 {
  line-height: 0rem;
  margin-bottom: 3rem;
}
.text-content > * + * {
  margin-top: 1.2em;
}

h1 {
  font-size: 3.5rem;
  font-weight: 800;
  line-height: 3.5rem;
  font-style: italic;
  text-transform: uppercase;
  margin-top: 1rem;
}
h2 {
  font-size: 3.5rem;
  font-weight: 800;
  line-height: 3.5rem;
  font-style: italic;
  text-transform: uppercase;
  margin-top: 1rem;
}

h3 {
  font-size: 2rem;
  font-weight: 800;
  line-height: 2.5rem;
  font-style: italic;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  margin-top: 1.5rem;
}

h4 {
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 2rem;
  font-style: italic;
  text-transform: uppercase;
  margin-bottom: 1rem;
  margin-top: 1.2rem;
}

h5 {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5rem;
  text-transform: uppercase;
  color: var(--brand-secondary-color);
  margin-top: 0.9em;
}

p {
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 400;
}

ul,
ol {
  padding-left: 1.5em;
}
ul li {
  margin: 0.5rem 0;
  line-height: 2;
}

a,
a * {
  transition: color 0.15s ease;
}
a:hover,
a:hover * {
  color: var(--brand-secondary-color);
}
button {
  cursor: pointer;
  background: linear-gradient(
      90deg,
      var(--brand-secondary-color) 0%,
      var(--brand-secondary-color) 51%,
      var(--brand-accent-color) 100%
    )
    0% 0% no-repeat padding-box;
  border-radius: 38px;
  padding: 15px 35px;
  max-height: fit-content;
  max-width: fit-content;
  font: italic normal 800 1rem Montserrat;
  color: white;
  white-space: nowrap;
  border: none;
  text-transform: uppercase;
}

img {
  object-fit: cover;
  border-radius: 5px;
}

input {
  font-family: 'Montserrat', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  padding: 16px 22px;
  border: 1.5px solid #c6c6c6;
  border-radius: 5px;
}

input[type='checkbox'] {
  appearance: none;
  padding: 0 !important;
  padding-right: 15px !important;
  border: none;
  align-self: flex-start;
  position: relative;
  cursor: pointer;
  height: 17.5px !important;
  width: 17.5px !important;
  margin-right:5px;
}
input[type='checkbox']::after {
  content: '';
  text-align: center;
  color: white;
  position: absolute;
  background-color: transparent;
  align-self: flex-start;
  cursor: pointer;
  height: 17.5px;
  width: 17.5px;
  border: 1.5px solid #c6c6c6;
  border-radius: 5px;
  transition: background-color 0.3s ease, border 0.3s ease;
}
input[type='checkbox']:hover::after {
  background-color: color-mix(
    in srgb,
    var(--brand-accent-color) 10%,
    transparent 90%
  );
}
input[type='checkbox']:checked::after {
  content: '✓';
  font-size: 0.8rem;
  text-align: center;
  color: white;
  background-color: var(--brand-accent-color);
  border: none;
}
blockquote {
  padding-left: 1em;
  border-left: 4px solid #ccc;
  font-style: italic;
  color: #555;
}
textarea {
  font-family: 'Montserrat', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  padding: 16px 22px;
  border: 1.5px solid #c6c6c6;
  border-radius: 5px;
}

select {
  font-family: 'Montserrat', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  padding: 16px 22px;
  border: 1.5px solid #c6c6c6;
  border-radius: 5px;
}

a.button {
  display: flex;
  flex-direction: row;
  cursor: pointer;
  background: linear-gradient(
      90deg,
      var(--brand-secondary-color) 0%,
      var(--brand-secondary-color) 65%,
      var(--brand-accent-color) 85%
    )
    0% 0% no-repeat padding-box;
  border-radius: 38px;
  padding: 15px 35px;
  max-height: fit-content;
  max-width: fit-content;
  font: italic normal 800 1rem Montserrat;
  color: white;
  white-space: nowrap;
  border: none;
  text-transform: uppercase;
  background-size: 150% 100%;
  background-position: 65% 0%;
  transition: background-position 0.3s ease;
}
a.button:hover {
  background-position: 100% 0%;
}
a.button .arrow {
  position: relative;
  width: 50px;
  height: 10px;
}
a.button .arrow::before {
  content: '';
  position: absolute;
  left: 10px;
  top: 100%;
  width: 40px;
  height: 2px;
  border-bottom: 1px solid white;
  border-radius: 10px;
  background: white;
  transform: translateY(-100%);
}
a.button .arrow::after {
  content: '';
  position: absolute;
  right: 0;
  top: 100%;
  width: 10px;
  height: 10px;
  border-right: 2px solid white;
  border-bottom: 2px solid white;
  border-radius: 0 0 1px 0;
  transform: translateY(-60%) rotate(-45deg);
}

.wrapper {
  flex: 1;
}
.no-scroll {
  overflow: hidden;
}
html.no-scroll {
  overflow: hidden;
}
.h-100 {
  height: 100%;
}
.offset-top {
  padding-top: 130px !important;
}
.offset-bottom {
  padding-bottom: 130px !important;
}
.flex-end {
  justify-content: flex-end;
}

@media (max-width: 768px) {
  h1 {
    font-size: 2.2rem;
    line-height: 2.2rem;
  }
  h2 {
    font-size: 1.7rem;
    font-weight: 800;
    line-height: 1.7rem;
  }
  h2 {
    font-size: 1.3rem;
    font-weight: 800;
    line-height: 1.3rem;
  }
  h4 {
    font-size: 0.8rem;
    margin-bottom: 10px;
  }

  .offsets > * {
    margin: 20px 0 10px 0;
  }
  .offset-top {
    padding-top: 70px !important;
  }
  .offset-bottom {
    padding-bottom: 70px !important;
  }
  .mt-5 {
    margin-top: 0;
  }
  .mb-150 {
    margin-bottom: 50px;
  }
}

#header-desktop .navbar{justify-content:space-between!important;}
#header-desktop .navbar .schautage{display:block;color:#fff;text-align:right;margin-bottom:10px;}
