/*
Theme Name: Fun Lovin' Teachers Theme 2025
Author: Szymon Ziemian
Author URI: https://www.codora.pl
Description: Minimalistyczny niestandardowy motyw dla WordPress.
Version: 1.0
*/

/* Zmienne globalne */
:root{
    --flt-primary-color: #FF9500;
    --flt-link-color: #696969;
    --flt-gray1-color: #696969;
    --flt-dark-white-color: #E9E9E9;
    --flt-dark-gray-color: #2C2C2C;
}
/*  */

/* Deklaracja kroj贸w czcionek */
@font-face{
    src: url("./assets/fonts/RedHatDisplay.ttf");
    font-family: "RedHatDisplay";
}

@font-face{
    src: url("./assets/fonts/PermanentMarker.ttf");
    font-family: "Marker";
}
/*  */

/* W艂a艣ciwo艣ci strony */
html{
    scroll-behavior: smooth;
    margin: 0;
}

body{
    background-color: #E9E9E9;
    margin: 0;
}

*{
    font-family: RedHatDisplay;
}
/*  */

.flt-marker > div,
.flt-marker > div span{
    font-family: Marker !important;
}

.flt-button-container{
    border-radius: 31.5px;
    background: linear-gradient(rgba(103, 101, 101, .3), rgba(128, 128, 128, .3));
    padding: 1.1rem 0.1rem;
    width: fit-content;
    height: fit-content !important;
}

.flt-button{
    padding: 1rem 2rem;
    border-radius: 31.5px;
    font-size: 20px;
    font-weight: 400;
    filter: drop-shadow(4px 4px 15.8px rgba(0, 0, 0, .05));
    transition: all .3s;
}

.flt-button > div{
    display: inline;
}

.flt-button-primary{
    background: linear-gradient(#484848, #242020);
    color: #909090 !important;
}

.flt-button-secondary{
    background: linear-gradient(#EAE7E7, #EEEEEE);
    color: var(--flt-gray1-color);
}

.flt-button:hover{
    color: var(--flt-primary-color) !important;
    transition: all .3s;
}

.flt-heading-gradient{
    font-weight: bolder;
    background: linear-gradient(#2C2C2C, #424040);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.flt-container{
    max-width: 1430px;
    margin: 1rem auto;
}

.flt-container a{
    text-decoration: none;
    color: var(--flt-link-color);
}

.flt-marker{
    font-family: Marker !important;
}

.flt-title{
    color: #2C2C2C;
    font-size: 40px;
    font-weight: 900;
    text-decoration: underline var(--flt-primary-color);
    text-decoration-style: double;
    text-decoration-thickness: .3rem;
}

#flt-navbar{
    margin: 3rem 0;
    position: sticky;
    top: 35px;
}

.flt-navbar-list{
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: end;
    align-items: center;
    gap: 58px;
}

.flt-navbar-list li{
    list-style-type: none;
    color: var(--flt-link-color);
    font-size: 20px;
    font-weight: 500;
}

.flt-navbar-list li a{
    transition: all .3s;
}

.flt-navbar-list li:hover a {
    color: var(--flt-primary-color) !important;
    transition: all .3s;
}

#flt-navbar-container{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#flt-navbar-menu{
    visibility: hidden;
    opacity: 0;
    background-color: var(--flt-dark-white-color);
    position: fixed;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
    z-index: 10;
    transition: opacity .3s;
}

#flt-navbar-menu-close-button{
    margin: 0 auto;
    font-size: 1.6rem;
    outline: none;
    background: none;
    border: none;
    color: var(--flt-link-color);
}

#flt-navbar-menu-close-button:hover{
    cursor: pointer;
    color: var(--flt-primary-color);
}

#flt-navbar-menu-container{
    display: flex;
    justify-content: end;
}

.flt-navbar-list-menu{
    list-style-type: none;
    width: fit-content;
    margin: 1rem auto;
    padding: 0;
}

.flt-navbar-list-menu li{
    font-size: 40px;
    font-weight: 900;
    text-align: center;
    text-transform: uppercase;
    text-decoration: underline transparent;
}

.flt-navbar-list-menu li a{
    color: var(--flt-dark-gray-color) !important;
}

.flt-navbar-list-menu li:hover{
    text-decoration: underline var(--flt-primary-color);
    text-decoration-style: double;
    text-decoration-thickness: .3rem;
    transition: text-decoration .3s;
}

#flt-navbar-menu-open-button{
    position: relative;
    z-index: 999999 !important;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    font-size: 20px;
    border: none;
    outline: none;
    background: linear-gradient(#EAE7E7, #EEEEEE);
    border: .5px solid rgba(44, 44, 44, .1);
    color: var(--flt-link-color);
} 
 
#flt-navbar-menu-open-button:hover{
    cursor: pointer;
    color: var(--flt-primary-color);
}

#omnie{
    margin: 15rem 0;
}

#omnie p{
    font-size: 25px;
    color: var(--flt-gray1-color);
    font-weight: 400;
}

.about-container{
    display: flex;
    align-items: start;
    gap: 1.5rem;
}

.about-container p{
    margin: 0;
    padding: 0;
}

.flt-more-info-container{
    display: grid;
    grid-template-columns: repeat(2, calc(50% - 0rem));
    gap: .5rem;
    margin: 5rem 0;
}

.flt-about-info{
    border: .5px solid rgba(128, 128, 128, .1);
    background: linear-gradient(#EAE7E7, #EEEEEE);
    border-radius: 31.5px;
}

.flt-about-info-title{
    letter-spacing: 5px;
    color: var(--flt-primary-color);
}

.flt-about-info-subtitle{
    color: var(--flt-gray1-color);
    font-weight: 600;
}

.flt-about-info-content{
    margin: 1rem 2rem;
    display: flex;
    gap: 1rem;
    align-items: center;
    justify-content: space-between;
}

.flt-about-info-description{
    font-size: 1.3rem !important;
}

.flt-about-info-content i{
    font-size: 40px;
    background: linear-gradient(45deg, var(--flt-gray1-color), #808080);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.flt-header{
    width: 100%;
}

.flt-header-marker{
    color: var(--flt-gray1-color);
    font-size: 15px;
    text-align: center;
    display: grid;
    place-items: center;
}

#flt-marker-message{
    margin: 0 auto;
    width: fit-content;
    rotate: 12deg;
    transform: translateX(230px); 
}

.flt-header-heading{
    font-size: 70px;
}

.flt-header-buttons{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1rem;
    padding: 1rem;
    margin: 1rem 0;
}

.flt-header .flt-heading-gradient.flt-header-heading{
    text-align: center;
    margin: 0 auto;
}

.flt-info{
    margin: 3rem auto;
    display: flex;
    flex-direction: column;
}

.flt-info a{
    color: var(--flt-link-color) !important;
    font-weight: 400;
    font-size: 20px;
    text-align: center;
    transition: all .3s;
}

.flt-info p:hover,
.flt-info a:hover{
    color: var(--flt-primary-color) !important;
    transition: all .3s;
}

#flt-header-container{
    height: auto;
    display: grid;
    place-items: center;
}

#galeria{
    margin: 15rem 0;
}

#opis{
    margin: 15rem 0;
}

#opis p{
    font-size: 25px;
    color: var(--flt-gray1-color);
    font-weight: 400;
}


.flt-post-flex-container{
    display: flex;
    gap: 1.5rem;
}

.flt-post{
    margin: 3rem 0;
    padding: 1rem;
    border-radius: 31.5px;
}

.flt-post-flex-container p{
    margin: 0;
    color: var(--flt-gray1-color);
}

.flt-post-title{
    margin: 0;
    padding:  0;
}

.flt-post a{
    color: var(--flt-dark-gray-color);
    transition: all .3s;
}

.flt-post a:hover{
    color: var(--flt-primary-color);
    transition: all .3s;
}

.flt-blog-filters{
    display: flex;
    gap: 2rem;
    align-items: center;
    justify-content: right;
    flex-wrap: wrap;
}

.flt-blog-filters .flt-button-container{
    display: inline;
    padding: .05rem 0.05rem;
    width: fit-content;
    height: fit-content;
}

.flt-blog-filters .flt-button-container .flt-button-secondary{
    padding: .5rem 1.5rem;
    margin: 0;  
    font-size: 16px;
}

.flt-post-publish-date,
.flt-post-category{
    padding: 1rem 0;
    color: var(--flt-link-color);
}

.flt-pagination a{
    transition: all .3s;
}

.flt-pagination a:hover{
    transition: all .3s;
    color: var(--flt-primary-color) !important;
}

.flt-blog-filters-container{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.flt-blog-filters select{
    background: linear-gradient(#EAE7E7, #EEEEEE);
    border-radius: 31.5px;
    padding: .3rem;
}

.flt-blog-filters-label{
    text-align: center;
    text-transform: uppercase;
    margin: 0 auto;
}

.flt-post-meta{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}

.flt-category-description{
    color: var(--flt-gray1-color);
}

.flt-brand-container{
    background: linear-gradient(rgba(103, 101, 101, 0.05), rgba(128, 128, 128, 0.05));
    border-radius: 31.5px;
    filter: drop-shadow(4px 4px 15.8px rgba(0, 0, 0, .05));
    padding: 0.07rem;
}

.flt-brand{
    background: linear-gradient(#EAE7E7, #EEEEEE);
    border-radius: 31.5px;
    padding: 1rem;
    display: flex;
    align-items: center;
    gap: 1rem;
}

.flt-portrait{
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
}

.flt-footer{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 5rem 0;
    color: var(--flt-dark-gray-color);
}


.flt-footer-first-column{
    max-width: 30%;
}

.flt-footer-columns{
    display: flex;
    flex-wrap: wrap;
    gap: 7rem;
}


.flt-footer-list{
    list-style-type: none;
    padding: 0;
}

.flt-footer-list li{
    margin: .1rem 0;
    font-size: 19px;
}

.flt-footer-list li a{
    transition: all .3s;
    color: var(--flt-dark-gray-color);
}

.flt-footer-list li a:hover{
    color: var(--flt-primary-color);
    transition: all .3s;
}

.flt-footer h3{
    color: var(--flt-gray1-color);
}

#kontakt{
    margin: 15rem 0;
}

.flt-contact-container{
    display: flex;
    flex-wrap: wrap;
    gap: 5rem;
    justify-content: center;
}

.flt-contact-data{
    display: flex;
    align-items: center;
    gap: 1rem;
}

.flt-contact-data-icon{
    font-size: 45px;
    background: linear-gradient(45deg, var(--flt-primary-color), #DA7F00);
    -webkit-text-fill-color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
}

.flt-contact-data-title{
    font-weight: bold;
    color: #000;
    font-size: 20px;
}

.flt-contact-data-subtitle{
    font-weight: 400;
    font-size: 20px;
    color: var(--flt-dark-gray-color);
}

.flt-contact-data-subtitle a{
    color: var(--flt-dark-gray-color) !important;
    transition: all .3s;
}

.flt-contact-data-subtitle a:hover{
    color: var(--flt-primary-color) !important;
    text-decoration: underline !important;
    transition: all .3s;
}

.flt-error-page-message{
    width: fit-content;
    margin: 15rem auto;
}
.flt-error-page-message h1{
    margin: 0;
    padding: 0;
}

.flt-error-page-message h1,
.flt-error-page-message p {
    text-align: center;
}

.flt-error-page-message .flt-button-container{
    margin: 0 auto;
    width: fit-content;
}

img{
    height: auto;
}

#flt-about-image{
    max-width: 50%;
}

.flt-google-map-container{
    display: grid;
    place-items: center;
    margin: 3rem 0;
}

@media (max-width: 768px) { 
    .flt-container{
        max-width: 100vw;
        padding: 2vh;
    }
    
    #flt-header-container{
        height: auto;
    }
    
    #flt-navbar{
        position: fixed;
        z-index: 8;
        right: 1rem;
    }
    
    .flt-header{
        width: auto;
    }

    .flt-navbar-links{
        display: none;
    }

    .flt-brand{
        display: none;
    }

    #flt-marker-message{
        transform: none;
        rotate: none;
    }

    .about-container{
        flex-wrap: wrap;
    }

    .about-container img{
        width: 100%;
    }

    #opis p{
        font-size: 22.5px;
    }
    
    .flt-header-heading{
        font-size: 55px;
    }

    .flt-title{
        font-size: 35px;
    }

    .flt-contact-container{
        flex-flow: column;
        width: fit-content;
        margin: 0 auto;
    }

    .flt-navbar-links-mobile{
        display: block;
    }

    .flt-more-info-container{
        grid-template-columns: 100%;
    }

    .flt-blog-filters-container{
        display: block !important;
    }

    .flt-blog-filters{
        justify-content: left !important;
    }

    .flt-post-flex-container{
        display: block !important;
    }

    .flt-post-flex-container p{
        margin: 1rem 0 !important;
    }
    
    .flt-footer{
        font-size: 16px;
    }
    
    .flt-footer-first-column{
        max-width: 100%;
        width: 100%;
    }
    
    .flt-section-article p{
        font-size: 20px !important;
    }
    
    .flt-footer-columns{
        gap: 1rem;
    }
    
    #flt-about-image{
        max-width: 100%;
    }
    
    #mapka{
        max-width: 100%;
    }
}