/* 
Theme Name: Leef met PIT
Text Domain: Leef met PIT
Version: 2.2
Description: 
Tags: 
Author: Rens Kirchner
Author URI: 
*/


/* -------------- GENERAL -------------- */ 

@import url('https://fonts.cdnfonts.com/css/franklin-gothic');

@property --white {
    syntax: '<color>';
    initial-value: #ffffff;
    inherits: false;
}

@property --gray-gradient {
    syntax: '<color>';
    initial-value: #9d8b72;
    inherits: false;
}

:root {
    --red-button-height: 90px; 
    --std-margin: 10vw; 

    --std-margin-top: 5rem; 
    --std-margin-bottom: 5rem; 

    --review-margin: 7rem; 

    --review-width: calc(var(--width) - 2 *  var(--std-margin) - 2 * var(--review-margin));

    --phone-margin: 5%;

    --red: #ea4f39; /* Beetje testen */
    --red-light: #fad6c6; 
    --red-light-text: #ea4f39; 

    --green-light: #c9deda;


    --gold: #e6c37e; 
    --light-gold: #f8ebcf;
    --lightest-gold: #fefaf0;
    --dark-gold: #706a54;

    --width: clamp(min(100vw, 1120px), 70vw, 1440px);
}

html { margin-top: 0 !important; text-align: justify;}

body {
    padding: 0; 
    margin: 0; 

    font-size: 18px;
    font-family: Arial; 
    line-height: 1.8em; 

    margin-left: auto;
    margin-right: auto;

    width: var(--width);

    /* margin-top: 0;
    width: 100%;
    background-color: #f9eeeb; */

    transition: --white 1s, --gray-gradient 3s; 
}

/* .margin-container {
    width: clamp(min(100%, 1120px), 70vw, 1440px);
    margin-left: auto;
    margin-right: auto;
    background-color: white;
    margin-top: 0;
    margin-bottom: 0;
} */

img { margin: 0; }
button { margin: 0; }
a { margin: 0; color: black; text-decoration: none;}

h1 {margin: 0; font-weight: normal; padding-top: 0.5em; color: var(--dark-gold); font-family: "Franklin Gothic"; letter-spacing: .05rem;}

p {
    color: black;
    margin: 0; 
    padding-top: 1em; 
    padding-bottom: 1em; 
}

.bold {
    font-weight: bold;
}

p.no-bottom-padding {
    padding-bottom: 0em; 
}

ul {
    margin: 0; 
    padding-left: 25px; 
}

ul li {
    list-style-image: url('assets/granaatappel-bullet.png');
}

ol li {

}

table {
    width: 100%;
    margin-top: 1em; 
    margin-bottom: 1em; 
}

table, th, td {
    border:1px solid black;
}

th, td {
    padding-left: 20px;
}

th {
    font-weight: bold;
    /* text-align: left; */
}

button {
    font-size: 18px; 
    height: 2em; 
    width: 6em; 
    border: 0;
    /* border: 1px dotted var(--dark-gold);  */
    border-radius: 5px;
    color: var(--dark-gold);
    background-image: radial-gradient(white, var(--light-gold), var(--gold)); 
}
button:hover {
    cursor: pointer; 
    
}

.text-red {
    color: var(--red);
}

.doorleesbutton {
    display: inline-flex;
    flex-direction: column;
    /* flex-wrap: wrap; */

    background-image: url('assets/doorleesbutton2.png');
    transform: rotate(200deg);
    background-repeat: no-repeat;
    background-size: 100px 100px;
    
    width: 100px;
    height: 100px;

    overflow: visible; 

    float: right;

    /* justify-content: center; */
    /* align-items: center; */

}

.doorleesbutton a {
    transform: rotate(-200deg);

    margin-top: 30px; /* dit is nu de marge aan de onderkant, heel gek */
    color: white;
    line-height: 1em;
    text-align: center;

    text-decoration: none;
    font-weight: bold; 
}
.doorleesbutton a:hover {
    text-decoration: underline;
}

li::marker {
    font-size: 1.5rem;
  }


/* -------------- HEADER -------------- */ 


.bignav .active {
    text-decoration: underline;
}

.active {
    text-decoration: underline;
}


header {
    position: relative;
    z-index: 1; 

    margin: 0; 
    padding: 0; 

    display: grid; 
    grid-template-columns: 3fr 1fr 3fr;
    width: 100%; 

    font-family: "Franklin Gothic";
    letter-spacing: .05rem;
}

header a {
    display: block;
    text-decoration: none;
    text-align: center;

    background-color: white;
    border: 0; 
    
    margin-right: auto; 
    margin-left: auto; 
    padding: 0; 

    transition: 0.3s; 

    font-size: 1.3em; 
}

header .bignav {
    display: grid; 
    grid-template-columns: repeat(4, 90px);
    column-gap: 14px;

    justify-content: center;

    margin-right: auto; 
    margin-left: auto; 

    text-align: center; 

    margin-top: 50px;
}

header .bignav a { 
    width: var(--red-button-height);
    height: var(--red-button-height); 
    line-height: var(--red-button-height);

    background: var(--red); 
    border-radius: 50%; 
    
    color: white;
}

header .bignav a:hover { 
    text-decoration: underline;
}

header #smallnavbutton {
    margin-top: 50px;
    display: block; 

    transition: none;

    fill: var(--dark-gold);
    width: 4.2rem; 
}


header #smallnavbutton svg:hover {
    cursor: pointer;
}


header #smallnavexpanded {
    display: none; 

    position: absolute;

    left: 0; 
    top: 0; 
    width: 0px; 
    overflow-x: hidden;

    z-index: 1;
    background-color: var(--red);

    transition: 0.3s;

    clip-path: url(#smallnavslope);
}


header .smallnavitems {
    margin-top: 1rem; 
    margin-bottom: 1rem;

    padding-left: 2rem;
}


header .smallnavitem {
    display: inline-block;
    height: 2.5em;
    line-height: 2.5em;

    text-align: left;

    background: none; 

    aspect-ratio: auto;

    transition: 0.3s;

    color: white;
}

header .smallnavitem:hover {
    text-decoration: underline;
}


header #close {
    display: none;

    float: right; 

    background: none;
    border: none;

    font-size: 36px;
    height: 1em; 
    padding: 0;

    color: white;
    width: 1em;

    /* transition: 0.3s; */
}

header #close:hover {
    cursor: pointer;
    /* font-size: 40px; */
}


header #slogan {
    color: var(--dark-gold); 

    margin-top: 20px; 

    text-align: center;
    line-height: 1.0em; 
    font-size: 25px; 

    overflow-x: wrap;
}

header .logo a {
    width: 100%;
    background: none; 
}

header .logo img {
    margin: 0; 
    padding: 0; 
    width: 160px; 
    /* height: 70%;  */
    scale: auto; 
}

header .contact-button {
    justify-content: center;

    margin-left: auto;
    margin-right: auto; 

    margin-top: 40px;

    width: calc(var(--red-button-height) + 20px);
    height: calc(var(--red-button-height) + 20px); 
    line-height: calc(var(--red-button-height) + 20px);


    background: radial-gradient(white, var(--gold), var(--gold)); 
    border-radius: 50%;
    
    color: var(--dark-gold);

    transition: 0.3s;
}

header .contact-button:hover {
    text-decoration: underline;
}
   
@media screen and (max-width: 600px) {
    body { font-size: 13px; }
    header .bignav { display: none; }
    header .smallnav {display: block; margin-left: 1em;}
    header #smallnavexpanded {display: block;}

    header #smallnavbutton { width: 3.2rem; margin-top: 40px;}
    header #slogan {margin-left: 1em; margin-top: 0; margin-bottom: 35px; font-size: 18px;}
    header .logo img { width: 120px; }
    header .contact-button { 
        width: 70px; height: 70px; line-height: 70px;
        margin-top: 30px;
    }
}

@media screen and (max-width: 1000px) and (min-width: 600px){
    header .bignav { display: none; }
    header .smallnav {display: block; margin-left: 1em;}
    header #smallnavexpanded {display: block}
    /* header .contact-button {margin-top: 1.8em;} */
    header #slogan {margin-left: 1em; margin-top: 0; margin-bottom: 35px;}
}

@media screen and (min-width: 1000px) {
    header .bignav { display: grid; }
    header .smallnav { display: none; }
    header #smallnavexpanded {display: none}
}



/* -------------- PAGES ------------- */ 

/* -------------- REDTEXT -------------- */

.redslope {
    min-height: 200px; 
    margin-top: -150px;

    clip-path: url(#slope);
    background-color: var(--red);
}

.redtext {
    padding-top: 25px;
    background-color: var(--red);

    color: white;
    padding-bottom: 5px; 
}

#redall {
    display: none;
}

.banner {
    text-align: center;
    font-family: "Franklin Gothic";
    background-image: linear-gradient(to right, var(--gray-gradient), var(--white), var(--gold), var(--gold)); 
    font-size: 24px; 
    padding-top: 3px; 
    padding-bottom: 3px; 
    position: relative; 
    letter-spacing: .05rem;

    white-space: nowrap;
}

.banner p {
    color: var(--dark-gold); 
    padding-top: 0.5em;
    padding-bottom: 0.5em ;
}

.banner .small {
    display: none;
}

@media screen and (max-width: 768px) {
    .banner .small {display: block}
    .banner .large {display: none}
}

@media screen and (max-width: 1000px) {
    .banner p { 
        overflow-x: scroll;

        -ms-overflow-style: none;  /* IE and Edge */
        scrollbar-width: none;  /* Firefox */
    }

    .banner p::-webkit-scrollbar {
        display: none; /* Hide scrollbar for Chrome, Safari and Opera */
    }


}



/* -------------- HERO -------------- */

.hero {
    width: 100%; 
    min-height: 200px;

    font-size: 23px; 

    background-size: cover;
}

.hero img {
    width: 100%; 
    scale: auto; 
    margin: 0; 
    display: block; 
}

.hero .quote {
    /* font-weight: bold; */
    color: var(--lightest-gold); 
    padding-top: 244px; 
    line-height: 2.5em;
    text-align: left;
}

.hero .grid {
    display: grid; 
    grid-template-columns: 50% 40%;
    grid-column-gap: 9%; 

    margin-left: var(--std-margin);
    margin-right: var(--std-margin);

    /* margin-top: var(--std-margin-top); */
    /* margin-bottom: var(--std-margin-bottom);     */

}

/* -------------- GOLDSLOPE -------------- */


.goldslope {
    position: relative;
    z-index: 1;

    background-image: linear-gradient(to right, #9d8b72, #ffffff, var(--gold), var(--gold)); 
    min-height: 200px; 
    margin-top: -200px;

    clip-path: url(#slope);
}

.goldtext {
    position: relative;
    z-index: 1;

    background-image: linear-gradient(to right, #9d8b72, #ffffff, var(--gold), var(--gold)); 

    /* text-align: center; */
    color: black;
    padding-bottom: var(--std-margin-bottom); 

    padding-left: var(--std-margin);
    padding-right: var(--std-margin);

}

.goldtext h1 {
    color: black; 
}

.lightredtext a, 
.lightgreentext a {
    display: inline;
}

.lightredtext a:hover, 
.lightgreentext a:hover {
    text-decoration: underline;
}


/* -------------- REVIEWS -------------- */

@media screen and (max-width: 768px) {
    button.next, button.prev {
        display: none;
    }
}
@media screen and (min-width: 768px) {
.overflow-container {
    position: relative; 
    overflow-x: hidden;
    /* margin-left: auto;  */
    /* margin-right: auto;  */
    /* width: var(--review-width); */
}


#reviews {
    position: relative;

    display: flex;
    flex-wrap: nowrap;
    align-items: center;

    width: 1000%;

    transition: 0.6s;

}

#reviews .single-review {
    /* flex: 100%; */
    display: inline-block;

    margin-right: var(--review-margin);
    margin-left: var(--review-margin);

    flex-basis: var(--review-width);
    flex-grow: 0;
    flex-shrink: 0;
}

button.next, button.prev {
    background: none; 
    cursor: pointer;
    position: absolute;
    top: 50%;
    width: auto;
    margin-top: -22px;
    padding: 16px;
    color: var(--dark-gold);
    font-weight: bold;
    font-size: 36px;
    transition: 0.6s ease;
    border-radius: 0 3px 3px 0;
    user-select: none;
    z-index: 1; /* zodat je op de knoppen kan drukken */
}

button.next {
    right: 0;
    border-radius: 3px 0 0 3px;
}

.review-text {
    font-style: italic;
}
}
@media screen and (max-width: 768px) {
    #reviews {
        width: 100%; 

    }
    .reviews{
        flex-direction: column;
    }
    
}

/* -------------- LIGHTREDTEXT / LIGHTGREENTEXT -------------- */

.lightredtext,
.lightgreentext {
    color: black;
    
    /* background-image: linear-gradient(white 0px, var(--red-light) 20px, var(--red-light) calc(100% - 20px), white 100%); */
    /* background-image: linear-gradient(white, var(--red-light), var(--red-light), var(--red-light), var(--red-light), var(--red-light),var(--red-light), var(--red-light), var(--red-light), var(--red-light), white); */
    min-height: 150px; 

    padding-left: var(--std-margin);
    padding-right: var(--std-margin);

    padding-top: var(--std-margin-top);
    padding-bottom: var(--std-margin-bottom);
}

.lightredtext {
    background-color: var(--red-light);
}

.lightgreentext {
    background-color: var(--green-light);
}

.lightredtext h1, 
.lightgreentext h1 {
    color: var(--red-light-text);
}

/* -------------- CARDS -------------- */

.cards {
    /* background: linear-gradient(#fefaf0, #f8ebcf, #f7eacf, #efd299); */
    background-color: white;
    min-height: 100px;
}

.cards a {
    text-decoration: none;
}

.cards-grid-container {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-column-gap: 5px;
    row-gap: 5px; 

    padding-left: 5px; 
    padding-right: 5px;
    
    background-color: var(--red);
}

.card {
    background-color: white;

    margin-top: 0px; 
    margin-bottom: 0px; 

    /* text-align: left; */
}

.card h1 {
    color: var(--red-light-text);
    margin-left: 0.5rem; 
    margin-right: 0.5rem; 
}

.card p {
    margin-left: 0.5rem; 
    margin-right: 0.5rem; 
}

.card:hover {
    /* box-shadow: 0px 8px 30px rgba(200,170,110,1); */
    transition: 0.3s;
    cursor: pointer;

    box-shadow: inset 0px 6px 10px var(--dark-gold);
}

.cardtitle {
    width: 80%; 
    margin-left: auto;
    margin-right: auto;
    margin-top: 40px; 
    margin-bottom: 20px; 
}

.cardpicture {
    width: 80%; 
    margin-left: auto;
    margin-right: auto;
    margin-top: 36px; 

    height: auto;
}

.cardpicture img {
    width: 100%;
    aspect-ratio: 3/2; 
    clip-path: url(#pictureslope);

    vertical-align: middle;
}
.cardinfo {
    width: 80%; 
    margin-left: auto;
    margin-right: auto;
    margin-top: 20px; 
    margin-bottom: 20px; 
}

.bg-light-red {
    background-color: var(--red-light);
}

.bg-white {
    background-color: white;
}

.bg-gold {
    background: linear-gradient(45deg, #9d8b72, #ffffff, var(--gold), var(--gold)); 
}

.bg-light-red .cardpicture {
    background-color: white;
}

.bg-white .cardpicture {
    background: var(--gold);
}

.bg-gold .cardpicture {
    background-color: var(--red);
}

.extra-bottom-margin {
    padding-bottom: 8em !important;
}

.quotes {
    /* display: inline;  */
    font-family: 'Franklin Gothic Heavy', sans-serif;
    font-size: 90px; 
    letter-spacing: 0.1em;
    display  : inline-block;
    position : relative;
    top      : 40px;
    color: var(--red);
}

@media screen and (max-width: 768px) {
    .cards-grid-container { grid-template-columns: 1fr;}
    
}

/* -------------- TEXT-WITH-PICTURE -------------- */

.text-with-picture {
    /* width: 100%;  */
    min-height: 100px;
    padding-top: var(--std-margin-top);
    padding-bottom: var(--std-margin-bottom);    
    padding-left: var(--std-margin);
    padding-right: var(--std-margin); 

}

.text-with-picture .grid-text-left {
    /* clear: both; */

    display: grid; 
    grid-template-columns: 65% 25%;
    grid-column-gap: 10%; 
}
.text-with-picture .grid-text-left .large {
    grid-template-columns: 55% 40%;
    grid-column-gap: 5%; 
}

.text-with-picture .grid-text-right {
    /* clear: both; */

    display: grid; 
    grid-template-columns: 25% 65%;
    grid-column-gap: 10%; 
}

.text-with-picture .grid-text-right .large {
    grid-template-columns: 40% 55%;
    grid-column-gap: 5%; 
}

@media screen and (max-width: 768px){
    .text-with-picture .grid-text-left {
        display: grid; 
        justify-content: center;
        grid-template-columns: auto;
        /* grid-row-gap: var(--std-margin-top); */
    }

    .text-with-picture .grid-text-left .large {
        grid-template-columns: auto;
    }
}

.image-container {
    display: flex;
    justify-content: center;
    align-items: center;
}

@media screen and (max-width: 768px){
    .text-with-picture .grid-text-right {
        display: grid; 
        grid-template-columns: auto;
        /* grid-row-gap: var(--std-margin-top); */
    }

    .text-with-picture .grid-text-left .large {
        grid-template-columns: auto;
    }

    .text {
        order: -1;
    }

    .image-container {
        order: 1;
        width: 40%;
        justify-content: center;
        margin-left: auto;
        margin-right: auto;
    }

    .large .image-container {
        margin-top: 2em;
        width: 80%;
    }
}


.imageslope {
    clip-path: url(#pictureslope);
}

.imageslope.long {
    clip-path: url(#pictureslopelong);
}
.text-with-picture .text {
    margin: auto; 
    justify-content: center;
}

.text-with-picture img {
    width: 100%; 
    scale: auto; 
    display: block; 
}

/* -------------- SINGLE-BLOG -------------- */

.singleblogcontent {
    padding-top: 25px;

    /* text-align: center; */
    padding-bottom: 5px; 
    margin-left: var(--std-margin); 
    margin-right: var(--std-margin); 
}

.singleblogtitle h1 {
    margin-bottom: 0.5rem;
}

.date {
    color: var(--red);
    font-style: italic;
    font-size: 0.8em;
}

/* -------------- LIGHT-GOLD-TEXT -------------- */

.light-gold-text {
    background-color: var(--light-gold);
}

.light-gold-text h1{
   color: black;
}

.light-gold-text .textbox {
    padding-top: var(--std-margin-top);
    padding-bottom: var(--std-margin-bottom);

    margin-left: var(--std-margin); 
    margin-right: var(--std-margin); 
}

/* -------------- WHITE-TEXT -------------- */

.whitetext {
    position : relative; 
    padding-left: var(--std-margin); 
    padding-right: var(--std-margin); 

    padding-top: var(--std-margin-top);
    padding-bottom: var(--std-margin-bottom);
}

/* .whitetext button {
    background-color: white;
    border: none; 
} */

/* .whitetext img {
    height: 11px;
    scale: auto; 
} */

/* #whiteall {
    display: none;
} */


/* -------------- CONTACT -------------- */

.contact {
    -moz-box-sizing: border-box; 
    -webkit-box-sizing: border-box; 
    box-sizing: border-box; 


    width: 100%;
    min-height: 200px;
    background-color: var(--red);
    display: flex;
    flex-direction: row;
    column-gap: 5px;
    padding-left: 5px;
    padding-right: 5px;
}

@media screen and (max-width: 768px) {
    .contact {
        flex-direction: column;
        row-gap: 5px;
    }
    
}

.contact-info {
    flex-basis: 100px;
    flex-grow: 1;
    min-height: 200px;
    background-color: var(--red-light);
}

@media screen and (max-width: 768px) {
    .contact-info {
        flex-basis: auto;
        flex-grow: 1; 
        padding-bottom: 8em !important;
        order: 1;
    }

    
}

.contact-info-title {
    padding-top: var(--std-margin-top);
    padding-left: calc(1/2 * var(--std-margin));
    padding-right: calc(1/2 * var(--std-margin));
}

.contact-info h1 {
    color: var(--red);
}

.contact-info-list {
    padding-top: 1em;
    padding-bottom: 1em;


    padding-left: calc(0.7 * var(--std-margin));
    padding-right: calc(1.3 * var(--std-margin));
}

.contact-info-text {
    flex-basis: 100px;
    flex-grow: 1;
    min-height: 200px;
    background-color: var(--red-light);

    padding-left: calc(1/2 * var(--std-margin));
    padding-right: calc(1/2 * var(--std-margin));
}

#contact-form {
    flex-basis: 300px;
    flex-grow: 3;
    min-height: 100px;
    background-color: white;

    padding-top: var(--std-margin-top);
    padding-bottom: var(--std-margin-bottom);
    
    padding-left: calc(0.5 * var(--std-margin));
    padding-right: calc(0.5 * var(--std-margin))
}

@media screen and (max-width: 768px) {
    #contact-form {
        flex-basis: auto;
        flex-grow: 1; 
    }
    
}

#contact-form form {
    padding-top: 1em;
    padding-bottom: var(--std-margin-bottom);
}

#contact-form input, textarea {
    resize: vertical; 
    display: block;
    width: 100%;
    height: 1.5em; 
    border: none;
    border-bottom: dotted 2px; 


    /* padding: 10px;  */
    /* border-radius: 10px; */


    font-size: 18px;
    outline: none; 

    margin-bottom: 3em; 
}

#contact-form input:focus-visible {
    /* background-color: var(--red-light); */
}

#contact-form label {
    color: var(--red);
}
#contact-form .button-container {
    display: flex; 
    align-items: center;
    gap: 0.5em; 
    position: relative; 

}
#contact-loading {
    display: none;
    text-align: center;
}

#contact-loading::after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 1.2em;
    height: 1.2em;
    border: 3px solid var(--dark-gold);
    border-top-color: var(--gold);
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

#success-message {
    display: none;
    margin-top: 2em; 
    margin-bottom: 3em; 
    padding: 1em; 
    background-color: var(--green-light);
    border-radius: 1em;
}



/* -------------- FOOTER -------------- */
.terugnaarboven {
    margin-top: 3em; 
    display: flex;
    justify-content: center;
    align-items: center;
}

.terugnaarboven button {
    width: 10em; 
}

.footerslope {
    position: relative;
    z-index: 1;

    min-height: 150px; 
    margin-top: -150px; 
    clip-path: url(#slope);
    background-image: linear-gradient(to right, #7b714c, rgb(242, 238, 207), var(--gold), var(--gold)); 
}

footer {
    position: relative;
    z-index: 1;

    width: 100%; 
    background-image: linear-gradient(to right, #7b714c, rgb(242, 238, 207), var(--gold), var(--gold)); 
}

footer .footercolumns {
    column-rule-style: solid; 

    display: flex; 
    justify-content: space-between;

    padding-left: var(--std-margin);
    padding-right: var(--std-margin);

    padding-bottom: 2em;
}

footer .col {
    /* text-align: center;  */
}

footer p {
    /* text-align: center;  */
    /* display: inline-block;  */
    margin: 0; 
}

footer p.content {
    padding: 0px; 
    margin-top: 0px; 
    margin-bottom: 0px; 
}


footer .icon-box svg {
    fill: var(--dark-gold);
    fill: black;
    width: 1em; 
}

footer .footersocials {
    fill: var(--dark-gold);
    width: 3.2rem; 
}

footer .footersocials:hover {
    fill: black;
}

footer a {
    padding: 0;
    margin-top: 0px; 
    margin-bottom: 0px; 
}

footer a:hover {
    text-decoration: underline;
    cursor: pointer;
}

@media screen and (max-width: 768px) {
    footer .footercolumns { flex-direction: column; }

    footer { text-align: center;}
}