/* GENERAL SETTINGS */
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Ubuntu:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&display=swap');

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    text-decoration: none;
    color: black;
    font-family: "Ubuntu";
}

img {
    max-width: 100%;
    max-height: 675px;
}

header .header-logo img{
    max-height: 80px;
}

header .menu-logo{
    height: 80px;
}

body {
    width: 100%;
}

main {
    max-width: 1200px;
    margin: 0 auto;
}

p {
    line-height: 145%;
}

#exit, .hamburger-icon{
    filter: invert(89%) sepia(48%) saturate(0%) hue-rotate(259deg) brightness(116%) contrast(101%);
}

.impressum{
    width: 80%;
    padding: 2rem;
    letter-spacing: 0.5px;
}

@media only screen and (max-width: 949px) {
    /* HEADER SECTION */

    header {
        position: sticky;
        top: 0;
        display: flex;
        justify-content: space-between;
        align-items: center;
        max-height: 5rem;
        background-color: grey;
        box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.25);
    }

    header .header-logo {
        padding: 0.5rem 0rem 0.5rem 1rem;
    }

    header .hamburger-icon {
        padding-right: 1rem;
        cursor: pointer;
    }

    header ul {
        display: none;
    }

    .show-menu {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        background-color: grey;
    }

    .mobile-hide{
        display: none;
    }

    .show-menu .menu-logo{
        position: absolute;
        margin: 0.5rem 1rem;
    }

    .show-menu .exit-icon {
        display: block;
        margin-left: auto;
        padding: 1rem;
        width: 4rem;
    }

    .show-menu a {
        display: block;
        text-align: center;
        padding: 1rem;
        font-weight: 500;
        color: white;
    }

    .show-menu #exit {
        cursor: pointer;
    }

    .show-menu a {
        color: rgb(231, 231, 231);
    }

    .show-menu a:hover {
        color: #9b1111;
        border-bottom: 2px solid #9b1111;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    }


    /* HERO SECTION */

    .hero-section img {
        display: block;
        margin: 0 auto;
    }

    .hero-section .hero-content {
        padding: 0.75rem 1rem 0rem 1rem;
    }

    .hero-section .hero-content h1 {
        font-weight: bold;
        font-size: 2rem;
        text-align: center;
        padding-bottom: 0.75rem;
    }

    .hero-section .hero-content p {
        text-align: justify;
        padding-bottom: 0.75rem;
        font-size: 0.875rem;
    }

    .hero-section .hero-content h1 span {
        color: black;
        transition: color 0.3s;
        /* adjust duration as needed */
    }

    /* CARD SECTION */
    section.card {
        margin: 0.75rem 1rem 0rem 1rem;
        border-radius: 5px;
        box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.25);
    }

    section.card:last-child {
        margin-bottom: 1rem;
    }

    section.card img {
        margin: 0rem auto;
        padding: 1rem 1rem;
        border-radius: 15px;
        display: block;
    }

    section.card h2 {
        font-weight: bold;
        font-size: 1.5rem;
        text-align: center;
        padding-bottom: 0.75rem;
    }

    section.card p {
        text-align: justify;
        font-size: 0.875rem;
        padding: 0rem 0.75rem 0.75rem 0.75rem;
    }

    section.card li {
        list-style-position: inside;
        font-size: 0.875rem;
        padding: 0rem 0.75rem 0.75rem 0.75rem;
    }

    /* CONTACT SECTION */
    section.contact {
        padding: 2rem;
        margin: 2rem 1rem;
        border-radius: 5px;
        box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.25);
        background-color: #f7f7f7;
        /* Light grey background to differentiate from the surroundings */
    }

    section.contact h3 {
        font-weight: bold;
        font-size: 1.5rem;
        text-align: center;
        padding-bottom: 1.75rem;
        color: #9b1111;
        /* To give it a consistent color theme */
    }

    section.contact a {
        display: block;
        cursor: pointer;
        width: 85%;
        margin: 0 auto;
        text-align: center;
        font-size: 0.875rem;
        padding: 0.75rem 0.5rem;
        border-radius: 15px;
        border: 1px solid #9b1111;
        color: #9b1111;
        /* Again, to match the theme */
        text-decoration: none;
        /* Remove underline */
        margin-bottom: 1rem;
        transition: all 0.3s ease;
        /* For smooth transitions */
    }

    section.contact a:hover {
        background-color: #9b1111;
        color: #ffffff;
        /* Color will turn white upon hover for contrast */
        transform: scale(1.05);
        /* Slightly enlarging the link on hover */
        box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.2);
        /* A subtle shadow on hover for depth */
    }


    /* FOOTER SECTION */
    footer {
        padding-top: 2rem;
        background-color: #f3f3f3;
        /* Light gray background */

        /* Gradient for additional depth (optional) */
        background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0.1));

        /* Box shadow for the sunken effect */
        box-shadow: inset 0 3px 6px rgba(0, 0, 0, 0.2),
            inset 0 -3px 6px rgba(255, 255, 255, 0.2);

        /* Add some border for additional depth effect */
        border-top: 1px solid rgba(255, 255, 255, 0.5);
        /* Lighter color on the top */
        border-bottom: 1px solid rgba(0, 0, 0, 0.2);
    }

    footer img {
        display: block;
        max-width: 50%;
        margin: 0 auto;
        padding-bottom: 1rem;
    }

    footer h4 {
        text-align: center;
        padding-bottom: 1rem;

    }

    footer h4 span {
        color: #9b1111;
    }

    footer .flexbox {
        display: flex;
        justify-content: space-around;
    }

    footer .flexbox a{
        text-decoration: underline;
    }

    footer .flexbox p {
        font-size: 0.75rem;
    }

    footer .flexbox p:last-child {
        margin-bottom: 1rem;
    }

    footer .flexbox-tiny {
        display: flex;
        justify-content: space-around;
        margin-bottom: 2rem;
    }

    footer .flexbox-tiny a {
        font-size: 0.70rem;
        text-decoration: underline;
    }
}



@media only screen and (min-width: 950px) {
    /* HEADER SECTION */

    header {
        position: sticky;
        top: 0;
        display: flex;
        justify-content: space-between;
        align-items: center;
        max-height: 5rem;
        background-color: grey;
        box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.25);
    }

    header .header-logo {
        padding: 0.5rem 0rem 0.5rem 1rem;
    }

    header .hamburger-icon {
        display: none;
    }

    header #exit {
        display: none;
    }

    header ul {
        display: flex;
        list-style: none;
        padding: 0.5rem 1rem 0.5rem 1rem;
    }

    header ul li {
        padding: 0.5rem;
    }

    header ul li a {
        color: rgb(231, 231, 231);
    }

    header ul li a:hover {
        color: #9b1111;
        border-bottom: 2px solid #9b1111;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    }

    .menu-logo{
        display: none;
    }

    .redundant{
        display: none;
    }


    /* HERO SECTION */
    main .container{
        max-width: 1200px;
        padding: 3rem;
        border-radius: 5px;
        box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.25);
    }

    .hero-section{
        margin-bottom: 2rem;
    }


    .hero-section img {
        padding: 1rem;
        display: block;
        margin: 0 auto;
    }

    .hero-section .hero-content {
        padding: 1rem 1rem 0rem 1rem;
    }

    .hero-section .hero-content h1 {
        font-weight: bold;
        font-size: 2rem;
        text-align: center;
        padding-bottom: 0.75rem;
    }

    .hero-section .hero-content p {
        text-align: justify;
        padding-bottom: 1rem;
        font-size: 1rem;
    }

    .hero-section .hero-content h1 span {
        color: black;
        transition: color 0.3s;
        /* adjust duration as needed */
    }



    /* CARD SECTION */
    /* Wrapper for the grid */
    /* Wrapper for the grid */
    .grid-wrapper {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
        grid-auto-rows: 1fr;
        /* Make all rows equal height */
        align-content: start;
        /* Start aligning from the top */
        gap: 1rem;
    }

    section.card {
        display: flex;
        /* Use flexbox for the card */
        flex-direction: column;
        /* Stack the content vertically */
        margin: 0.75rem 1rem 0rem 1rem;
        border-radius: 5px;
        box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.25);
        padding: 1rem;
    }

    /* Make the article within each card stretch to fill space */
    section.card article {
        flex-grow: 1;
        display: flex;
        flex-direction: column;
    }

    section.card img {
        margin: 0rem auto 1rem auto;
        display: block;
    }

    section.card h2 {
        flex: none;
        /* Prevent the title from stretching */
        font-weight: bold;
        font-size: 1.5rem;
        text-align: center;
        padding-bottom: 0.75rem;
    }

    section.card p,
    section.card li {
        text-align: justify;
        font-size: 0.9rem;
        padding: 0rem 0.75rem 0.75rem 0.75rem;
    }

    section.card li {
        list-style-position: inside;
        font-size: 0.875rem;
    }


    /* CONTACT SECTION */
    section.contact {
        padding: 2rem;
        margin: 2rem 1rem;
        border-radius: 5px;
        box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.25);
        background-color: #f7f7f7;
        /* Light grey background to differentiate from the surroundings */
    }

    section.contact h3 {
        font-weight: bold;
        font-size: 1.5rem;
        text-align: center;
        padding-bottom: 1.75rem;
        color: #9b1111;
        /* To give it a consistent color theme */
    }

    section.contact a {
        display: block;
        cursor: pointer;
        width: 50%;
        margin: 0 auto;
        text-align: center;
        font-size: 0.875rem;
        padding: 0.75rem 0.5rem;
        border-radius: 15px;
        border: 1px solid #9b1111;
        color: #9b1111;
        /* Again, to match the theme */
        text-decoration: none;
        /* Remove underline */
        margin-bottom: 1rem;
        transition: all 0.3s ease;
        /* For smooth transitions */
    }

    section.contact a:hover {
        background-color: #9b1111;
        color: #ffffff;
        /* Color will turn white upon hover for contrast */
        transform: scale(1.05);
        /* Slightly enlarging the link on hover */
        box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.2);
        /* A subtle shadow on hover for depth */
    }


    /* FOOTER SECTION */
    footer {
        padding-top: 2rem;
        background-color: #f3f3f3;
        /* Light gray background */

        /* Gradient for additional depth (optional) */
        background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0.1));

        /* Box shadow for the sunken effect */
        box-shadow: inset 0 3px 6px rgba(0, 0, 0, 0.2),
            inset 0 -3px 6px rgba(255, 255, 255, 0.2);

        /* Add some border for additional depth effect */
        border-top: 1px solid rgba(255, 255, 255, 0.5);
        /* Lighter color on the top */
        border-bottom: 1px solid rgba(0, 0, 0, 0.2);
    }

    footer img {
        display: block;
        margin: 0 auto;
        padding-bottom: 1rem;
    }

    footer h4 {
        text-align: center;
        padding-bottom: 1rem;
        font-size: 1.35rem;
    }

    footer h4 span {
        color: #9b1111;
    }

    footer .flexbox {
        display: flex;
        justify-content: space-around;
    }

    footer .flexbox a{
        text-decoration: underline;
    }

    footer .flexbox p {
        font-size: 0.85rem;
    }

    footer .flexbox p:last-child {
        margin-bottom: 1rem;
    }

    footer .flexbox-tiny {
        display: flex;
        justify-content: space-around;
        margin-bottom: 2rem;
    }

    footer .flexbox-tiny a {
        font-size: 0.75rem;
        text-decoration: underline;
    }


}