@font-face {
    font-family: 'Roboto';
    src: url('../fonts/roboto/Roboto-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Roboto';
    src: url('../fonts/Roboto-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Roboto';
    src: url('../fonts/Roboto-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Roboto';
    src: url('../fonts/Roboto-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}

@font-face {
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/MaterialIcons-Regular.woff2') format('woff2');
}

.material-icons {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
}

.scroll-to-top {
    transition: all 0.3s ease;
    text-decoration: none;
}

.scroll-to-top:hover {
    color: #fff !important;
    text-decoration: none;
}

.footer-copyright .container {
    position: relative;
}

        :root {
            --primary-dark: #3C3C3B;
            --primary-grey: #636C71;
            --primary-green: #93A099;
            --primary-red: #9B4651;
            --primary-coral: #C47464;
        }

        /* Sticky Footer und Grundlayout */
        body {
            display: flex;
            min-height: 100vh;
            flex-direction: column;
            color: var(--primary-dark);
            margin: 0;
            padding: 0;
        }

        main {
            flex: 1 0 auto;
            padding: 20px 0;
        }

        /* Navbar Styles */
        nav {
            background-color: white;
            box-shadow: none;
            border-bottom: 1px solid #eee;
        }

        nav .brand-logo,
        nav ul a {
            color: var(--primary-dark);
        }

        nav .sidenav-trigger {
            color: var(--primary-dark);
        }

        nav ul li.active {
            background-color: transparent;
        }

        nav ul li.active a {
            color: var(--primary-red);
            font-weight: bold;
        }

        /* Content Styles */
        .lead-text {
            font-size: 1.5rem;
            line-height: 1.6;
            color: var(--primary-red);
            font-weight: 300;
            margin: 2rem 0;
        }

        .content-section {
            margin: 2rem 0;
            line-height: 1.8;
        }

        .section-title {
            color: var(--primary-grey);
            margin: 2.5rem 0 1.5rem 0;
            font-weight: 300;
        }

        p {
            margin: 1.5rem 0;
        }

        /* Footer Styles */
        .page-footer {
            background-color: var(--primary-grey);
            margin-top: 0;
        }

        .footer-copyright {
            background-color: rgba(0, 0, 0, 0.1) !important;
        }

        /* Sidenav Styles */
        .sidenav li.active {
            background-color: #fafafa;
        }

        .sidenav li.active a {
            color: var(--primary-red);
        }
		
       /* Bootstrap-ähnliche Inputs */
        input:not([type]),
        input[type=text],
        input[type=password],
        input[type=email],
        input[type=url],
        input[type=time],
        input[type=date],
        input[type=datetime],
        input[type=datetime-local],
        input[type=tel],
        input[type=number],
        input[type=search],
        textarea.materialize-textarea {
            background-color: #fff !important;
            border: 1px solid #ced4da !important;
            border-radius: 4px !important;
            padding: 0.375rem 0.75rem !important;
            height: 2.5rem !important;
            box-shadow: none !important;
            box-sizing: border-box !important;
            margin: 0 0 1rem 0 !important;
            -webkit-transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
            transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
        }

        /* Fokus-Zustand */
        input:not([type]):focus:not([readonly]),
        input[type=text]:focus:not([readonly]),
        input[type=password]:focus:not([readonly]),
        input[type=email]:focus:not([readonly]),
        input[type=url]:focus:not([readonly]),
        input[type=time]:focus:not([readonly]),
        input[type=date]:focus:not([readonly]),
        input[type=datetime]:focus:not([readonly]),
        input[type=datetime-local]:focus:not([readonly]),
        input[type=tel]:focus:not([readonly]),
        input[type=number]:focus:not([readonly]),
        input[type=search]:focus:not([readonly]),
        textarea.materialize-textarea:focus:not([readonly]) {
            border-color: #80bdff !important;
            box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25) !important;
            outline: 0 !important;
        }

        /* Label-Stil */
        .input-field > label {
            position: static !important;
            font-size: 1rem !important;
            color: #495057 !important;
            margin-bottom: .5rem !important;
            transform: none !important;
        }

        /* Fehler-Zustand */
        input:not([type]).invalid,
        input[type=text].invalid,
        input[type=password].invalid,
        input[type=email].invalid,
        input[type=url].invalid,
        input[type=time].invalid,
        input[type=date].invalid,
        input[type=datetime].invalid,
        input[type=datetime-local].invalid,
        input[type=tel].invalid,
        input[type=number].invalid,
        input[type=search].invalid,
        textarea.materialize-textarea.invalid {
            border-color: #dc3545 !important;
            padding-right: calc(1.5em + .75rem) !important;
            background-repeat: no-repeat !important;
            background-position: right calc(.375em + .1875rem) center !important;
            background-size: calc(.75em + .375rem) calc(.75em + .375rem) !important;
        }

        .slider {
            margin-bottom: 40px;
        }
        
        .slider .slides {
            background-color: #f5f5f5;
        }
        
        .slider .slides li .caption {
            top: 25%;
            color: white;
            text-shadow: 0 1px 3px rgba(0,0,0,0.8);
            padding: 20px;
            background-color: rgba(0,0,0,0.5);
            border-radius: 8px;
            max-width: 800px;
            margin: 0 auto;
            left: 0;
            right: 0;
        }
        
        .slider .slides li .caption h2 {
            font-size: 2.5rem;
            font-weight: 500;
            margin-bottom: 20px;
        }
        
        .slider-text {
            max-width: 80%;
            margin: 0 auto;
            font-size: 1.1rem;
            line-height: 1.6;
            text-align: center;
        }
        
        .slider .indicators {
            bottom: 40px;
            z-index: 100;
            position: absolute;
            margin-bottom: 0;
        }
        
        .slider .indicators .indicator-item {
            background-color: #ffffff;
            border: 2px solid #C47464;
            opacity: 0.7;
        }
        
        .slider .indicators .indicator-item.active {
            background-color: #C47464;
            opacity: 1;
        }
        
        /* Responsive Anpassungen */
        @media only screen and (max-width: 992px) {
            .slider .slides li .caption h2 {
                font-size: 2rem;
            }
            
            .slider-text {
                font-size: 1rem;
            }
        }
        
        @media only screen and (max-width: 600px) {
            .slider .slides li .caption {
                top: 15%;
            }
            
            .slider .slides li .caption h2 {
                font-size: 1.5rem;
            }
            
            .slider-text {
                font-size: 0.9rem;
            }
            
            /* Nur in der hochkant-Mobilansicht (portrait) */
            @media (orientation: portrait) {
                .slider {
                    margin-top: 16px;
                }
            }
        }        