@import url('./fonts/fonts.css');


:root {
    --primary-red: #FF0000;
    --primary-dark: #00343f;
    --accent-purple: #6f003c;
    --accent-blue: #2E4FC4;
    --accent-teal: #004b5b;
    --light-teal: #00B19C;
    --light-blue: #D4D4FF;
    --background: #f9f9f9;
    --text-color: #222;
    --transition-speed: 0.3s;
  }
  
  * {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  
  body {
    font-family: 'Inter', sans-serif;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    margin: 0;
    padding: 0;
    -ms-overflow-style: none;
    scrollbar-width: none;
    background-color: white;
    color: var(--text-color);
    line-height: 1.6;
  }
  
  body::-webkit-scrollbar {
    display: none;
  }
  
  p {
    font-family: 'Inter', sans-serif;
    margin-bottom: 1.2rem;
  }
  
  h1, h2, h3, h4, h5, h6, a {
    font-family: 'Work Sans', sans-serif;
    margin-top: 1.5rem;
    margin-bottom: 1rem;
  }
  
  h1 {
    font-size: 2.5rem;
    line-height: 1.2;
    font-weight: 700;
  }
  
  h2 {
    font-size: 1.5rem;
    line-height: 1.2;
  }
  
  h3 {
    font-size: 1.2rem;
    line-height: 1.2;
  }
  
  a {
    color: var(--primary-dark);
    color: #00343f; 
    text-decoration: none;
    -webkit-transition: color var(--transition-speed) ease;
    -moz-transition: color var(--transition-speed) ease;
    -o-transition: color var(--transition-speed) ease;
    transition: color var(--transition-speed) ease;
  }
  
  a:hover, a:focus {
    color: var(--primary-red);
    color: #FF0000; 
    text-decoration: underline;
  }
  
  
        .nav {
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-justify-content: space-between;
            -ms-flex-pack: justify;
            justify-content: space-between;
            -webkit-align-items: center;
            -ms-flex-align: center;
            align-items: center;
            -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
            -moz-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
            height: 100px;
            width: 100%;
            background-color: white;
            position: fixed;
            z-index: 10000;
            -webkit-transition: height var(--transition-speed) ease;
            -moz-transition: height var(--transition-speed) ease;
            -o-transition: height var(--transition-speed) ease;
            transition: height var(--transition-speed) ease;
        }

        .nav .logo img {
            margin-left: 5vw;
            padding-top: 3.6rem;
            height: 9rem;
            -webkit-user-select: none;
            -moz-user-select: none;
            -ms-user-select: none;
            user-select: none;
            -webkit-transition: width var(--transition-speed) ease, padding var(--transition-speed) ease;
            -moz-transition: width var(--transition-speed) ease, padding var(--transition-speed) ease;
            -o-transition: width var(--transition-speed) ease, padding var(--transition-speed) ease;
            transition: width var(--transition-speed) ease, padding var(--transition-speed) ease;
        }

        .nav .middle {
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-align-items: center;
            -ms-flex-align: center;
            align-items: center;
            padding-left: 70px;
        }
        
        .nav .middle .bundestag_logo {
            padding-top: 0.5rem;
        }

        .nav .middle .bundestag_logo svg {
            width: auto;
            height: 3.7rem;
            -webkit-user-select: none;
            -moz-user-select: none;
            -ms-user-select: none;
            user-select: none;
            -webkit-transition: height var(--transition-speed) ease;
            -moz-transition: height var(--transition-speed) ease;
            -o-transition: height var(--transition-speed) ease;
            transition: height var(--transition-speed) ease;
        }

        .nav .middle .headline {
            padding-left: 0.5rem;
            font-size: 2.5rem;
            line-height: 1;
            font-family: 'Work Sans', sans-serif;
            font-weight: 700;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-flex-direction: column;
            -ms-flex-direction: column;
            flex-direction: column;
        }

        .nav .middle .headline a {
            text-decoration: none;
            color: black;
            -webkit-user-select: none;
            -moz-user-select: none;
            -ms-user-select: none;
            user-select: none;
            -webkit-transition: color var(--transition-speed) ease;
            -moz-transition: color var(--transition-speed) ease;
            -o-transition: color var(--transition-speed) ease;
            transition: color var(--transition-speed) ease;
        }

        .nav .socials {
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-justify-content: center;
            -ms-flex-pack: center;
            justify-content: center;
            -webkit-align-items: center;
            -ms-flex-align: center;
            align-items: center;
            margin-right: 5vw;
        }

        .nav .socials svg {
            width: 3.7rem;
            padding-left: 1rem;
            cursor: pointer;
            -webkit-transition: -webkit-transform var(--transition-speed) ease;
            -moz-transition: -moz-transform var(--transition-speed) ease;
            -o-transition: -o-transform var(--transition-speed) ease;
            transition: transform var(--transition-speed) ease;
        }

        .nav .socials svg:hover {
            -webkit-transform: translateY(-3px);
            -moz-transform: translateY(-3px);
            -ms-transform: translateY(-3px);
            -o-transform: translateY(-3px);
            transform: translateY(-3px);
        }
        
        
.burger-menu {
  display: none;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  cursor: pointer;
  margin-right: 5vw;
  z-index: 10001;
}

.burger-line {
  width: 40px;
  height: 6px;
  background-color: black;
  margin: 3px 0;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.burger-menu.active .burger-line {
  margin: 3.7px 0;
}


.mobile-menu {
  position: fixed;
  top: 50px;
  right: -600vw;
  width: 100vw;
  background-color: white;
  -webkit-box-shadow: 0 15px 15px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0 15px 15px rgba(0, 0, 0, 0.1);
  box-shadow: 0 15px 15px rgba(0, 0, 0, 0.1);
  -webkit-transition: right 0.3s ease;
  -moz-transition: right 0.3s ease;
  -o-transition: right 0.3s ease;
  transition: right 0.3s ease;
  padding: 3rem;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  z-index: 9999;
}

.mobile-menu.active {
  right: 0;
}

.mobile-menu .mobile-logo {
  padding-bottom: 10rem;
}

.mobile-menu .mobile-logo img {
  width: 8rem;
}

.mobile-menu .mobile-socials {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: repeat(2, 1fr);
  -ms-grid-rows: 1fr 1fr;
  grid-template-rows: repeat(2, 1fr);
  -webkit-justify-items: center;
  -ms-grid-column-align: center;
  justify-items: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  width: 200px;
  -ms-grid-column-align: center;
  -ms-grid-row-align: center;
  place-self: center;
}

.mobile-menu .mobile-socials svg {
  width: 4rem;
  cursor: pointer;
  -webkit-transition: -webkit-transform var(--transition-speed) ease;
  -moz-transition: -moz-transform var(--transition-speed) ease;
  -o-transition: -o-transform var(--transition-speed) ease;
  transition: transform var(--transition-speed) ease;
}

.mobile-menu .mobile-socials svg:hover {
  -webkit-transform: translateY(-3px);
  -moz-transform: translateY(-3px);
  -ms-transform: translateY(-3px);
  -o-transform: translateY(-3px);
  transform: translateY(-3px);
}

  .menu-footer {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    line-height: 2;
  }
  
  .menu-footer a {
    font-size: 2rem;
    font-weight: 700;
    color: var(--accent-teal);
    color: #004b5b; 
    text-decoration: none;
    -webkit-transition: text-shadow var(--transition-speed) ease;
    -moz-transition: text-shadow var(--transition-speed) ease;
    -o-transition: text-shadow var(--transition-speed) ease;
    transition: text-shadow var(--transition-speed) ease;
  }
  
  .menu-footer a:hover, .menu-footer a:focus {
    text-shadow: 0 8px 8px rgba(0, 0, 0, 0.1);
  }

        
        @media (max-width: 768px) {
            .nav .logo {
                display: none;
            }

            .nav .socials {
                display: none;
            }

            .burger-menu {
                display: -webkit-flex;
                display: -ms-flexbox;
                display: flex;
            }

            .nav .middle {
                margin-left: 5vw;
                padding-left: 0;
            }
        }
        @media (min-width: 768px) {
            .footer {
                -webkit-flex-direction: row;
                -ms-flex-direction: row;
                flex-direction: row;
            }  
        }

  
  .main-container, .datenschutz-container, .impressum-container, .kontakt-container, .presse-container {
    background-color: white; 
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all var(--transition-speed) ease;
    -moz-transition: all var(--transition-speed) ease;
    -o-transition: all var(--transition-speed) ease;
    transition: all var(--transition-speed) ease;
    font-family: Inter, sans-serif;
  }
  
  .main-container {
    margin: 0;
    -webkit-box-shadow: -5px 0 10px rgba(0, 0, 0, 0.05),
                         5px 0 10px rgba(0, 0, 0, 0.05);
    -moz-box-shadow: -5px 0 10px rgba(0, 0, 0, 0.05),
                      5px 0 10px rgba(0, 0, 0, 0.05);
    box-shadow: -5px 0 10px rgba(0, 0, 0, 0.05),
                 5px 0 10px rgba(0, 0, 0, 0.05);
  }
  
  .datenschutz-container,
  .impressum-container {
    padding: 0 5vw; 
    overflow-y: auto;
    line-height: 1.6;
    max-width: 1450px;
    margin: 0 auto;
  }

  .kontakt-container {
    margin: 0 auto;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0 5vw 0;
    line-height: 1.6;
    min-height: 80vh;
    max-width: 1450px;
  }
  
  .kontakt-container section {
    margin-left: 7vw;
  }
  
  .kontakt-container div::first-line {
    font-weight: bold;
    font-size: 1.3rem;
    line-height: 2;
  }
  
  .kontakt-container a, .datenschutz-container a, .impressum-container a, .presse-container a {
    font-family: Inter, sans-serif;
    color: var(--primary-dark);
    color: #00343f; 
    text-decoration: underline;
  }
  
  .kontakt-container a:hover, .datenschutz-container a:hover, .impressum-container a:hover, .presse-container a:hover {
    color: var(--primary-red);
    color: #FF0000; 
  }
  
  .section {
    padding: 5vh 0;
    margin-bottom: 2vh;
  }
  
  
  .image-container {
    position: relative;
    display: inline-block;
    width: 100%;
  }
  
  .text-wrapper {
    width: 95vw;
    margin-left: 5vw;
    margin-right: 0;
    font-size: 1.2rem;
    line-height: 1.7;
    max-width: 1400px;
    position: relative;
  }
  
  .text-shortest, .text-short, .text-full {
    transition: opacity 0.3s ease;
    -webkit-animation: fadeIn 0.5s ease;
    -moz-animation: fadeIn 0.5s ease;
    -o-animation: fadeIn 0.5s ease;
    animation: fadeIn 0.5s ease;
    -webkit-hyphens: auto;
     -webkit-hyphenate-limit-before: 3;
     -webkit-hyphenate-limit-after: 3;
     -webkit-hyphenate-limit-lines: 1;
     -webkit-hyphenate-limit-last: always;
     -webkit-hyphenate-limit-zone: 14%;
     -moz-hyphens: auto;
     -moz-hyphenate-limit-lines: 1;
     -moz-hyphenate-limit-last: always;
     -moz-hyphenate-limit-zone: 14%;
     -ms-hyphens: auto;
     -ms-hyphenate-limit-lines: 1;
     -ms-hyphenate-limit-last: always;
     -ms-hyphenate-limit-zone: 14%;
     hyphens: auto;
     hyphenate-limit-lines: 1;
     hyphenate-limit-last: always;
     hyphenate-limit-zone: 14%;
  }
        
  @media (min-width: 769px) {
        .text-shortest {
            display: none !important;
        }
        .text-short {
            display: inline !important;
        }
        .text-full {
           display: none !important;
        }
  }
        
        
  @media (max-width: 768px) {
        .text-shortest {
            display: inline !important;
        }
        .text-short {
            display: none !important;
        }
        .text-full {
            display: none !important;
        }
  }
  
  .show-more {
    display: inline-block;
    font-weight: bold;
    cursor: pointer;
    color: var(--primary-dark);
    color: #00343f;
    -webkit-transition: color var(--transition-speed) ease;
    -moz-transition: color var(--transition-speed) ease;
    -o-transition: color var(--transition-speed) ease;
    transition: color var(--transition-speed) ease;
    position: relative;
  }
  
  .show-more:hover {
    color: var(--primary-red);
    color: #FF0000; 
  }
  
  .show-more:focus {
    outline: 2px solid var(--accent-blue);
    outline: 2px solid #2E4FC4; 
    outline-offset: 2px;
  }

  .footer {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    margin-top: auto;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    height: 100px;
    background-color: white;
    -webkit-box-shadow: 0 -5px 15px rgba(0, 0, 0, 0.05);
    -moz-box-shadow: 0 -5px 15px rgba(0, 0, 0, 0.05);
    box-shadow: 0 -5px 15px rgba(0, 0, 0, 0.05);
    clear: both;
    margin-top: auto; 
  }
  
  .footer a {
    color: var(--accent-teal);
    color: #004b5b; 
    font-weight: 600;
    font-size: 2rem;
    text-decoration: none;
    -webkit-transition: text-shadow var(--transition-speed) ease;
    -moz-transition: text-shadow var(--transition-speed) ease;
    -o-transition: text-shadow var(--transition-speed) ease;
    transition: text-shadow var(--transition-speed) ease;
    padding: 0.5rem;
  }
  
  .footer a:hover, .footer a:focus {
    text-shadow: 0 8px 8px rgba(0, 0, 0, 0.1);
  }
  
  
  #twitter:hover path, #twitter:hover polygon,
  #insta:hover path, #insta:hover circle,
  #facebook:hover path,
  #tiktok:hover path {
    fill: var(--primary-red);
    fill: #FF0000; 
    -webkit-transition: fill var(--transition-speed) ease;
    -moz-transition: fill var(--transition-speed) ease;
    -o-transition: fill var(--transition-speed) ease;
    transition: fill var(--transition-speed) ease;
  }
  
  .presse-container {
      max-width: 1450px;
      margin: 0 auto;
      padding: 0 5vw;
  }

        .presse-grid {
            display: -ms-grid;
            display: grid;
            -ms-grid-columns: 1fr;
            grid-template-columns: 1fr;
            gap: 2rem;
            grid-gap: 2rem; 
            margin-bottom: 1rem;
        }

        .pressebild-item {
            position: relative;
            background: white;
            -webkit-box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
            -moz-box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
            overflow: hidden;
            -webkit-transition: all var(--transition-speed) ease;
            -moz-transition: all var(--transition-speed) ease;
            -o-transition: all var(--transition-speed) ease;
            transition: all var(--transition-speed) ease;
            cursor: pointer;
        }

        
        .pressebild-item {
            padding-bottom: 66.67%; 
        }
        
        
        @supports (aspect-ratio: 3 / 2) {
            .pressebild-item {
                aspect-ratio: 3 / 2;
                padding-bottom: 0;
            }
        }

        .pressebild-item:hover {
            -webkit-transform: translateY(-5px) scale(1.02);
            -moz-transform: translateY(-5px) scale(1.02);
            -ms-transform: translateY(-5px) scale(1.02);
            -o-transform: translateY(-5px) scale(1.02);
            transform: translateY(-5px) scale(1.02);
            -webkit-box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2);
            -moz-box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2);
            box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2);
        }

        .pressebild-item img {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            -o-object-fit: cover;
            object-fit: cover;
            -webkit-transition: -webkit-transform var(--transition-speed) ease;
            -moz-transition: -moz-transform var(--transition-speed) ease;
            -o-transition: -o-transform var(--transition-speed) ease;
            transition: transform var(--transition-speed) ease;
        }

        .pressebild-item:hover img {
            -webkit-transform: scale(1.05);
            -moz-transform: scale(1.05);
            -ms-transform: scale(1.05);
            -o-transform: scale(1.05);
            transform: scale(1.05);
        }

        .pressebild-overlay {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(0, 0, 0, 0.7);
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-align-items: center;
            -ms-flex-align: center;
            align-items: center;
            -webkit-justify-content: center;
            -ms-flex-pack: center;
            justify-content: center;
            opacity: 0;
            -webkit-transition: opacity var(--transition-speed) ease;
            -moz-transition: opacity var(--transition-speed) ease;
            -o-transition: opacity var(--transition-speed) ease;
            transition: opacity var(--transition-speed) ease;
        }

        .pressebild-item:hover .pressebild-overlay {
            opacity: 1;
        }

        .download-btn {
            background: var(--accent-teal);
            background: #004b5b; 
            color: white;
            border: none;
            padding: 12px 24px;
            -webkit-border-radius: 15px;
            -moz-border-radius: 15px;
            border-radius: 15px;
            font-family: 'Work Sans', sans-serif;
            font-weight: 600;
            font-size: 1rem;
            cursor: pointer;
            -webkit-transition: all var(--transition-speed) ease;
            -moz-transition: all var(--transition-speed) ease;
            -o-transition: all var(--transition-speed) ease;
            transition: all var(--transition-speed) ease;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-align-items: center;
            -ms-flex-align: center;
            align-items: center;
            gap: 8px;
            -webkit-transform: translateY(10px);
            -moz-transform: translateY(10px);
            -ms-transform: translateY(10px);
            -o-transform: translateY(10px);
            transform: translateY(10px);
        }

        .pressebild-item:hover .download-btn {
            -webkit-transform: translateY(0);
            -moz-transform: translateY(0);
            -ms-transform: translateY(0);
            -o-transform: translateY(0);
            transform: translateY(0);
        }

        .download-btn:hover {
            background: var(--primary-red);
            background: #FF0000; 
            -webkit-transform: translateY(-2px);
            -moz-transform: translateY(-2px);
            -ms-transform: translateY(-2px);
            -o-transform: translateY(-2px);
            transform: translateY(-2px);
        }

        .email-btn {
            background: var(--accent-teal);
            background: #004b5b;
            color: white;
            border: none;
            padding: 12px 24px;
            -webkit-border-radius: 4px;
            -moz-border-radius: 4px;
            border-radius: 4px;
            font-family: 'Work Sans', sans-serif;
            font-weight: 600;
            font-size: 1rem;
            cursor: pointer;
            -webkit-transition: all var(--transition-speed) ease;
            -moz-transition: all var(--transition-speed) ease;
            -o-transition: all var(--transition-speed) ease;
            transition: all var(--transition-speed) ease;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-align-items: center;
            -ms-flex-align: center;
            align-items: center;
            gap: 8px;
        }

        .email-btn:hover {
            background: var(--primary-red);
            background: #FF0000; 
        }

        .photographer-credit {
            position: absolute;
            bottom: 0;
            left: 0;
            background: rgba(0, 0, 0, 0.75);
            color: white;
            padding: 6px 12px;
            font-family: 'Work Sans', sans-serif;
            font-size: 0.75rem;
            font-weight: 400;
            line-height: 1.2;
            z-index: 2;
            opacity: 0.9;
            -webkit-transition: opacity var(--transition-speed) ease;
            -moz-transition: opacity var(--transition-speed) ease;
            -o-transition: opacity var(--transition-speed) ease;
            transition: opacity var(--transition-speed) ease;
            -webkit-backdrop-filter: blur(4px);
            backdrop-filter: blur(4px);
            -webkit-border-radius: 0 8px 0 0;
            -moz-border-radius: 0 8px 0 0;
            -ms-border-radius: 0 8px 0 0;
            -o-border-radius: 0 8px 0 0;
            border-radius: 0 8px 0 0;

        }


        .pressebild-item:hover .photographer-credit {
            opacity: 1;
        }

        .cc-text {
            font-size: 0.85rem;
            text-align: center;
            color: #666;
            margin-top: 1rem;
            margin-bottom: 1rem;
        }

        .pressebild-item:focus {
            outline: 3px solid var(--accent-blue);
            outline-offset: 3px;
        }

        .download-btn:focus {
            outline: 2px solid white;
            outline-offset: 2px;
        }

  
  @keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
  }

  @media only screen and (min-width: 101px) and (max-width: 300px) {
    .nav {
      height: 50px;
    }

    .mobile-menu {
      top: 15px;
    }
    
    .footer {
      height: auto;
      min-height: 120px;
      flex-direction: column;
      padding: 1rem 0.5rem;
      gap: 0.5rem;
    }

    .mobile-footer a {
      font-size: 1.5rem;
      padding: 0.3rem;
    }
    
    .footer a {
      font-size: 1.5rem;
      padding: 0.3rem;
      text-align: center;
    }
    
    .nav .burger-line {
      width: 20px;
      margin: 2px 0;
      height: 3px;
      border-radius: 3px;
    }

    .burger-menu.active .burger-line {
      margin: 2.2px 0;
    }

    .nav .socials {
      margin-right: 1vw;
    }
    
    .nav .logo img {
      margin-left: 1vw;
      padding-top: 2rem;
      width: 4rem;
    }
    
    .nav .middle .headline {
      margin-top:-0.4rem;
      font-size: 1rem;
      padding-left: 0.2rem;
    }
    
    .nav .middle .bundestag_logo svg {
      height: 1rem;
    }

    .textbox {
      font-size: 1rem;
      padding: 0.3rem; 
    }
    
    .box-left {
      right: 3px; 
      top: 3px;
    }
  
    .textboxcontainer:hover .box-left {
      top: 4px;
      right: 5px;
    }
    
    .main-container {
      padding-top: 50px;
      font-size: 1rem;
    }
    
    .text-wrapper {
      font-size: 1rem;
      line-height: 1.5;
    }
  
    .presse-grid {
      grid-template-columns: 1fr;
      gap: 1rem;
    }
  
    .download-btn {
      font-size: 0.8rem;
      padding: 8px 16px;
    }

    h1  {
      font-size: 1.5rem;
    }
    
    h2  {
      font-size: 1rem;
    }

    .kontakt-container div::first-line {
      font-size: 1rem;
    }

    .kontakt-container section {
      margin-left: 2vw;
    }
  }

  @media only screen and (min-width: 301px) and (max-width: 400px) {
    .nav {
      height: 50px;
    }

    .mobile-menu {
      top: 15px;
    }

    .burger-menu.active .burger-line {
      margin: 2.2px 0;
    }
    
    .footer {
      height: auto;
      min-height: 120px;
      flex-direction: column;
      padding: 1rem 0.5rem;
      gap: 0.5rem;
    }
    
    .mobile-footer a {
      font-size: 1.5rem;
      padding: 0.3rem;
    }
    
    .footer a {
      font-size: 1.5rem;
      padding: 0.3rem;
      text-align: center;
    }
    
    .nav .burger-line {
      width: 20px;
      margin: 2px 0;
      height: 3px;
      border-radius: 3px;
    }
    
    .nav .middle .headline {
      margin-top:-0.4rem;
      font-size: 1.5rem;
      padding-left: 0.2rem;
    }
    
    .nav .middle .bundestag_logo svg {
      height: 1.3rem;
    }
    
    .nav .socials svg {
      padding-left: 0.2rem;
      width: 1.5rem;
    }
    
    .textbox {
      font-size: 1rem;
      padding: 0.3rem; 
    }
    
    .box-left {
      right: 3px; 
      top: 3px;
    }
  
    .textboxcontainer:hover .box-left {
      top: 4px;
      right: 5px;
    }
    
    .main-container {
      padding-top: 50px;
      font-size: 1rem;
    }
    
    .text-wrapper {
      font-size: 1rem;
      line-height: 1.5;
    }
  
    .presse-grid {
      grid-template-columns: 1fr;
      gap: 1rem;
    }
  
    .download-btn {
      font-size: 0.8rem;
      padding: 8px 16px;
    }

    .kontakt-container div::first-line {
      font-size: 1rem;
    }

    .kontakt-container section {
      margin-left: 2vw;
    }
  }
  
  @media only screen and (min-width: 401px) and (max-width: 500px) {
    .nav {
      height: 70px;
    }
    
    .mobile-menu {
       top: 30px;
    }

    .footer {
      height: auto;
      min-height: 120px;
      flex-direction: column;
      padding: 1rem;
      gap: 0.7rem;
    }
    
    .mobile-footer a {
      font-size: 1.7rem;
      padding: 0.4rem;
    }

    .footer a {
      font-size: 1.7rem;
      padding: 0.4rem;
      text-align: center;
    }
    
    .nav .middle .headline {
      margin-top:-0.4rem;
      font-size: 2rem;
      padding-left: 0.2rem;
    }
    
    .nav .middle .bundestag_logo svg {
      height: 1.7rem;
    }

    .main-container {
      padding-top: 70px;
      font-size: 1rem;
    }
    
    .textbox {
      font-size: 1.5rem;
      padding: 0.5rem; 
    }
    
    .box-left {
      right: 5px; 
      top: 5px;
    }
  
    .textboxcontainer:hover .box-left {
      top: 6px;
      right: 7px;
    }
  
    .presse-grid {
      grid-template-columns: 1fr;
      gap: 1.5rem;
    }

    .kontakt-container div::first-line {
      font-size: 1rem;
    }

    .kontakt-container section {
      margin-left: 3vw;
    }
}
  
  @media only screen and (min-width: 501px) and (max-width: 649px) {
    .nav {
      height: 80px;
    }
    
    .footer {
      height: auto;
      min-height: 100px;
      font-size: 1.5rem;
      flex-direction: column;
      padding: 1rem;
      gap: 0.8rem;
    }
   
    .mobile-footer a {
      padding: 0.4rem;
    }

    .footer a {
      padding: 0.4rem;
      text-align: center;
    }
    
    .nav .socials {
      margin-right: 2vw;
    }
    
    .nav .logo img {
      margin-left: 2vw;
      width: 6.5rem;
    }
    
    .nav .middle .headline {
      margin-top:-0.4rem;
      font-size: 2rem;
      padding-left: 0.4rem;
    }
    
    .nav .middle .bundestag_logo svg {
      margin-top: 0.2rem;
      height: 1.7rem;
    }
    
    .nav .socials svg {
      padding-left: 0.4rem;
      width: 2.5rem;
    }
    
    .textbox {
      font-size: 1.5rem; 
    }
    
    .box-left {
      right: 5px; 
      top: 5px;
    }
  
    .textboxcontainer:hover .box-left {
      top: 6px;
      right: 7px;
    }
    
    .main-container {
      padding-top: 70px;
    }

    .presse-grid {
      grid-template-columns: 1fr;
    }

    .kontakt-container div::first-line {
      font-size: 1rem;
    }

    .kontakt-container section {
      margin-left: 3vw;
    }
  }
  
  @media only screen and (min-width: 650px) and (max-width: 768px) {
    .nav {
      height: 100px;
    }
    

    .mobile-menu {
      top: 50px;
    }

    .footer {
      height: auto;
      min-height: 90px;
      flex-direction: column;
      padding: 1rem;
      gap: 0.8rem;
    }
    
    .mobile-footer a {
      padding: 0.4rem;
    }

    .footer a {
      padding: 0.4rem;
      text-align: center;
    }
    
    .nav .middle .headline {
      font-size: 2.5rem;
    }
    
    .nav .middle .bundestag_logo svg {
      height: 2rem;
      margin-top: 0.4rem;
    }
    
    .nav .socials svg {
      padding-left: 0.5rem;
      width: 3rem;
    }
    
    .nav .logo img {
      padding-top: 4rem;
      width: 8rem;
    }
    
    .textbox {
      font-size: 2rem;
    }
    
    .box-left {
      top: 10px;
      right: 10px;
    }
    
    .textboxcontainer:hover .box-left {
      top: 11px;
      right: 12px;
    }
    
    .main-container{
      padding-top: 100px;
    }

    .presse-container{
      padding-top: 50px;
    }    
  
    .presse-grid {
      grid-template-columns:1fr;
      gap: 2rem;
    }

    .kontakt-container div::first-line {
      font-size: 1rem;
    }

    .kontakt-container section {
      margin-left: 3vw;
    }
}

  @media only screen and (min-width: 769px) {
    
    .nav .logo {
     margin-left: -2vw;
    }

    .nav .logo img {
      padding-top: 4rem;
      width: 8rem;
    }
    
    .nav .middle {
      padding-left: 30px;
    }

    .nav .middle .bundestag_logo svg {
      height: 2rem;
      margin-top: 0.4rem;
    }

    .nav .socials svg {
      padding-left: 0.5rem;
      width: 3rem;
    }    
    
    .nav .socials {
      margin-right: 2vw;
    }

    .footer {
      height: 100px;
      padding: 0;
      gap: 0;
    }

    .mobile-footer a {
      padding: 0.5rem;
    }
    
    .footer a {
      padding: 0.5rem;
      text-align: initial;
    }

    .main-container {
      padding-top: 125px;
    }    
    
    .kontakt-container {
      overflow-y: auto;
      overflow-x: hidden;
      display: grid; 
      grid-template-columns: repeat(2, 1fr);
      gap: 1rem;
      padding-bottom: 100px;
    }

    .kontakt-container div::first-line {
      font-size: 1rem;
    }
    
    .kontakt-container section:first-of-type {
      margin-left: 3vw;
    }
    .presse-grid {
      grid-template-columns: repeat(2, 1fr);
      gap: 2rem;
    }

  }
  
  @media only screen and (min-width: 900px) and (max-width: 1089px) {
    
    .nav .socials svg {
      padding-left: 1rem;
      width: 3.7rem;
    }
    
    .nav .logo img {
      padding-top: 4rem;
      width: 8rem;
    }
    
    .main-container {
      padding-top: 100px;
    }

    .float-right1, .float-right2, .float-right3 {
      width: 40vw;
    }

    .presse-grid {
      grid-template-columns: repeat(2, 1fr);
      gap: 1.5rem;
    }

  }
  
  @media only screen and (min-width: 1090px) and (max-width: 1449px) {
    
    .nav .middle .headline {
      font-size: 3rem;
    }

    .nav .middle .bundestag_logo svg {
      height: 2.5rem;
    }

    .nav .logo img {
      padding-top: 4rem;
      width: 8rem;
    }

    .nav .socials svg {
      padding-left: 1rem;
      width: 4rem;
    }

    .main-container {
      padding-top: 100px;
    }
    
    .text-wrapper {
      margin-left: 5vw;
      line-height: 1.6;
    }
  
    .presse-grid {
      grid-template-columns: repeat(3, 1fr);
      gap: 2rem;
    }
  }
  
  @media only screen and (min-width: 1450px) {
    .nav {
      width: 1450px;
      margin-left: calc((100vw - 1450px) / 2);
    }

    .nav .middle .headline {
      font-size: 3rem;
    }

    .nav .middle .bundestag_logo svg {
      height: 2.5rem;
    }

    .nav .logo img {
      padding-top: 4rem;
      width: 10rem;
    }
    .nav .socials svg {
      padding-left: 1rem;
      width: 4rem;
    }

    .main-container {
      padding-top: 100px;
      width: 1450px;
      margin: 0 auto;
    }
    
    .text-wrapper {
      width: calc(1450px - 5vw);
      margin-right: 0;
    }

    .float-right1, .float-right2, .float-right3 {
        width: 30%;
    }

    .presse-container {
      width: 1450px;
      margin: 0 auto;
      padding: 3rem 2rem;
      box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
    }
  
    .presse-grid {
      grid-template-columns: repeat(3, 1fr);
      gap: 2.5rem;
    }
  }
  
  
  @media print {
    .nav, .footer, .textboxcontainer {
      display: none;
    }
    
    body {
      background: white;
      color: black;
    }
    
    .text-short {
      display: none;
    }
    
    .text-full {
      display: inline;
    }
    
    .show-more {
      display: none;
    }
    
    .presse-container, .main-container, .datenschutz-container, .impressum-container, .kontakt-container {
      width: 100%;
      padding: 0;
      margin: 0;
      box-shadow: none;
    }
  }
  
  
  .skip-to-content {
    position: absolute;
    left: -9999px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
    z-index: 10001;
  }
  
  .skip-to-content:focus {
    position: fixed;
    top: 0;
    left: 0;
    width: auto;
    height: auto;
    padding: 10px;
    background: white;
    color: black;
    font-weight: bold;
    border: 2px solid var(--primary-red);
  }
  
  
  :focus-visible {
    outline: 3px solid var(--accent-blue);
    outline-offset: 3px;
  }