*,::before,::after{
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
html{
    font-size: 16px;
}
h1,
h2,
h3,
h4,
h5,
p{
    font-weight: 400;
    font-family: "Kaushan Script", cursive;
}

/* ----------------------- BACKGROUND IMAGE STUFF ------------------ */
body{
    font-family: var(--ff-sans-normal);
    /* font-size: var(--fs-400); */
    /* color: hsl(var(--clr-white)); */
    background-color: hsl(var(--clr-dark));
    line-height: 1.5;
    min-height: 100vh;
    /* font-family: 'Poppins', sans-serif !important; */
    background-image: url('img/bg-paintbrush-city.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center !important;
    background-attachment: fixed;
    background-blend-mode: overlay;
    height: 100vh;
    /* display: grid; */
    /* grid-template-rows: min-content 1 fr; */
    overflow-x:hidden;
    /* backdrop-filter: grayscale(1); */
}
body.alternate-bg {
    /* background-image: url('img/paintbrushes.jpg'); */
    background-image: url('img/bg-body.jpg');

    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    background-blend-mode: overlay;
}

p,li,label,button {
    font-size: 20px;
    line-height: 1.5;
    letter-spacing: 0.05em;
}


img, picture {
    max-width: 100%;
    display: block;
    cursor:pointer;
}

/* remove animations for people who've turned them off */

@media (prefers-reduced-motion: reduce){
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* ---------------- */
/* Utility Classes  */
/* ---------------- */

/* General */

.flex{
    display: flex;
    gap: var(--gap, 1rem);
}

.grid{
    display: grid;
    gap: var(--gap, 1rem);
}

.d-block {
    display: block;
}

.flow > *:where(:not(:first-chile)){
    margin-top: var(--flow-space, 1rem);
}

.container{
    padding-inline: 2em;
    margin-inline: auto;
    max-width: 80rem;
}

.grid-container{
    text-align:center;
    display: grid;
    place-items: center;
    padding-inline: 1rem;
}

.grid-container{
    max-width: 50ch;
}

.margin-auto{
    margin:auto;
}

@media (min-width: 45em){
    .grid-container{
        text-align: left;
        column-gap: var(--container-gap, 2rem);
        grid-template-columns: minmax(1rem, 1fr) repeat(2, 1rem, 1fr);
    }

    .grid-container > *:first-child {
        grid-column: 2;
    }

    .grid-container > *:last-child{
        grid-column: 3;
    }

    .grid-container--home{
        padding-bottom: max(6rem, 20vh);
        align-items: end;
    }

    .primary-navigation li a, .title-text {
        filter:drop-shadow(5px 5px 5px #000);
        font-family: "Kaushan Script", cursive !important;
        font-weight: 400;
        white-space: nowrap
        /* box-shadow: 10px 5px 5px #222; */
    }
    .title-text{
        /* border: 1px solid red; */
        padding-left: 4rem;
        margin-left: 4rem;
    }
    /* :has(.primary-navigation){
        border: 1px solid red;
    } */
    .primary-navigation, .primary-navigation a {
        width:100%;
        /* padding-inline-end:1rem; */
        padding-inline: .5rem;
        /* display: flex; */
    }
    
}

.large-button{
    font-size: 2rem;
    position: relative;
    z-index: 1;
    display: inline-grid;
    place-items:center;
    padding: 0 2em;
    border-radius: 50%;
    aspect-ratio: 1;
    text-decoration: none;
}

.large-button::after {
    content: "";
    position: absolute;
    z-index: -1;
    width: 100%;
    height: 100%;
    background: hsl(var(--clr-wwhite) / 0.1);
    border-radius: 50%;
    opacity: 0;
    transition: opacity 500ms linear, transform 750ms ease-in;
}

.primary-header {
    font-family: "Kaushan Script", cursive;
    /* align-items:center; */
    /* justify-content: space-between; */
}
.logo{
    margin:2rem;
}
.mobile-nav-toggle {
    display:none;
}
.primary-navigation {
    list-style: none;
    padding:0;
    margin-left:5rem;
    opacity: 1;
    /* background: hsl(0 0% 0% / 0.5); */
    /* float:right; */
}
.primary-navigation a{
    text-decoration:none;
    color: white !important;;
    text-shadow: 1px 1px 5px #000;

}

.primary-navigation a > [aria-hidden]{
    font-weight: 700;
    margin-inline-end: 0.75em;
}
/* MENU BLUR */


li{
    list-style:none;
}
.uppercase{
    text-transform: uppercase;
    /* color: white; */
    text-decoration: none;
    
}


.large-button:focus::after {
    opacity: 1;
    transform: scale(1.5);
}

/* Underline indicators */

.underline-indicators > * {
    cursor: pointer;
    padding:var(--underline-gap,);     /* EDIT  */
    border:0;
    border-bottom: 0.2rem solid hsl(--underline-gap);

}
.flex{
    display:flex;
    gap: 0.5rem;
}
.title-text{
    color:white;
    /* font-weight: bold; */
    font-family: "Kaushan Script", cursive;
    font-size:.8rem;
    filter: drop-shadow(16px 16px 20px #222);
    text-shadow: #222 1px 0 10px;
    margin-right: 3rem;
}

/* .underline-indicators > *:hover */

@media only screen and (max-width: 35em){      /*------MOBILE SCREEN SIZE ---------*/

    /* body {
        background-position-x: -10rem!important;
    } */
    .card, .testimonial-content{
        /* width: clamp(95vw 50vw 95vw) !important; */
        /* color:red !important; */
        /* width: 22rem !important; */
        width: 70%;
        margin: 0 auto !important;
    }

    .primary-navigation{
        --gap: 2em;
        
        position:fixed;
        z-index: 1000;
        inset: 0 0 0 30%;

        flex-direction: column;
        padding: min(30vh, 10rem) 2em;

        /* MOBILE NAVIGATION */
        transform: translateX(100%);
        /* margin-block-end: 1rem; */
        
        }

        .title-text {
            padding-inline-start: 1rem;
            margin-right: 0!important;
        }
        .primary-navigation[data-visible="true"]{
            transform: translateX(0%);
            transition: 200ms ease-in;
        }
        .primary-navigation[data-visible="false"]{
            transform: translateX(100%);
            transition: 200ms ease-in;
        }
        /* END MOBILE NAVIGATION */

        .mobile-nav-toggle {
            display:block;
            position: absolute;
            z-index:9999;
            background:url('img/hamburger-menu.svg');
            background-size:cover;
            width: 4rem;
            border: 1px solid white;
            background-repeat: no-repeat;
            aspect-ratio: 1;
            top: 1rem;
            right: 1rem;
            transition: 200ms ease-in;
            cursor:pointer;
    }
    .mobile-nav-toggle[aria-expanded="true"] {
        background: url('img/close.svg');
        background-repeat: no-repeat;
        background-size: cover;
        transition: 200ms ease-in;
    }
    .header-logo{
        /* display: none; */
    }
    /* Blur for small screen(35em)*/
    @supports(backdrop-filter: blur(1rem)){
        .primary-navigation {
            background: hsl(0 0% 100% / 0.1);
            backdrop-filter: blur(.5rem);
            opacity: 1;
        }
    }
    .link-separator{
        display: none;
    }
}
/* GALLERY */

.gallery {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 1rem;
}
.gallery-item {
    margin: 1rem;
}
.gallery-item .thumbnail {
    width: 240px;
    /* border: 4px solid GhostWhite; */
    border: 4px solid black;
    border-radius: 4px;
}


/* About page */
.about{
    display:grid;
}
.about h1 {
    font-family: 'Kaushan Script', cursive;
}
.about-photo{ 
    text-align: center;
}
.about-photo img{
    min-width: 100px;
    /* border-radius: 50%; */
    margin-inline: auto;
}
.about-info-box {
    /* min-width: 400px; */
    /* background: rgba(128, 128, 128, .4); */
    border:1px solid #222;
    border-radius: 5px;
}
.info{
    /* font-family: "Bebas Neue"; */
    /* font-family: "Kaushan Script", cursive; */
    font-size: 1.5rem;
    font-weight: 400;
    /* font-style: italic; */
    color: white;
    padding: 2rem;
    padding-top:0;
}
.vert-center-text {
    align-content: center;
}
.text-sm{
    /* margin-inline:auto; */
    height: 1rem;
    font-size:.8rem;
    line-height: .8rem;
    padding: 0 !important;
}
.about{
    display:grid;
    grid-template-columns: 1fr 3fr;
}

/* desktop */
@media only screen and (min-width: 1200px){
    
    .about{
        display:grid;
        grid-template-columns: 1fr 3fr;
    }
    .about > div {
        /* border: 1px solid red; */
        /* padding: 20px;
        font-size: 30px; */
        /* text-align: center; */
      }
}/* END DESKTOP */

/* END MOBILE LANDSCAPE */


*{
    /* font-family: 'Optima Italic' !important; */

}
*,*::before,*::after {
    /* border: 1px solid red; */
}
/*Services Item */
.services-area {
    /* width:90%; */
    text-align:left;
    margin: auto;
}
.services-area p {
    font-size: 1.5rem;

}
.service-list, .services-description {
    color: #fff;
    /* font-family: 'Poppins' !important; */
    /* padding: 3rem; */
    max-width: 950px;
    margin-inline:auto;
    background-color:rgba(34, 34, 34,.5);
    
}
.services-description {
    /* padding:1rem; */
    border-radius: 15px;
}

/* BOTTOM CORNER SHAPE ON LIST */
.service-list {
    
    border-top-right-radius: 100%;
    /* background-size: 200px; */
    /* width:400px; */

}
.service-list-item {
    list-style-type:circle;
}
.poppins-medium-italic {
    /* font-family: "Poppins", sans-serif; */
    font-weight: 600;
    /* font-style: italic; */
}

/* contact page */
.contact-page {
    display:grid;
    /* grid-template-columns: minmax(40%, 40%)1fr 1fr; */
    /* align-self: center; */
    /* justify-self: center; */
    gap: 1rem;
    margin: auto;
    width: 100%;

    /* width: clamp(22rem, 150rem, 35.875rem); */
    font-size: clamp(1rem, 2.5vw, 2rem);
}

.card-fixed-width {
    width: clamp(40rem 50rem 26.875rem);
}

.contact-form > * {
    font-size: clamp(1rem, 2.5vw, 2rem);
}
.contact-card {
    width: 22rem;

}

/* .contact-form, .contact-card, .contact-page {
    width: clamp(22rem, 150rem, 35.875rem);
} */
.contact-area {
    color: #fff;
    background: rgba(128, 128, 128, .4);
    border:1px solid #222;
    border-radius: 15px;
    font-weight: 600;
    padding: 2rem; 
    max-width: 600px;
    margin: 0 auto;
}
.contact-form {
    color: #fff;
    background: rgba(128, 128, 128, .4);
    border-radius: 15px;
    /* width: clamp(35em, 37.5rem, 37.5rem); */
    padding: 2rem 1rem;
    margin: 0 auto;
}
.background {
    color: #fff;
    /* background: rgba(128, 128, 128, .4); */
    border:1px solid #222;
    border-radius: 15px;
}
input[type=text], select, input[type=textarea] {
    width: 100%;
    padding: 12px 20px;
    margin: 8px 0;
    display: inline-block;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
  }
  input[type=textarea]{
    padding: 40px 20px;
  }
  input[type=submit] {
    width: 100%;
    background-color: red;
    color: white;
    padding: 14px 20px;
    margin: 8px 0;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: 300ms ease-out;
  }
  input[type=submit]:hover {
    background-color: white;
    color: red;
    transition: 300ms ease-in;
  }
  button{
    font-size: 20px;
  }
  .fixed-width a, .fixed-width * {
    /* max-width: 1300px; */
    /* margin: 1rem auto; */
    line-height: 20px;
  }

  .contact-lg , .contact-md a {
    /* font-size:3rem; */
    font-size : clamp(1rem, 1.8rem, 1.8rem);
    line-height:1.5;
  }
  .contact-md {
    font-size: 1.6rem;
    line-height: 1.2;
  }
  .contact-sm {
    line-height:.5;
  }
  .no-border {
    border:none;
  }

/* mobile landscape */
/* @media only screen and (max-width: 800px) and (min-width > 575px){ */
@media only screen and (max-width: 45em) and (min-width > 35em){
    
    .title-text{
        /* color:white;
        /* font-weight: bold; */
        font-family: "Kaushan Script", cursive;
        font-size:1.2rem;
        filter: drop-shadow(16px 16px 20px #222);
        text-shadow: #222 1px 0 10px; 
            
        /* margin-right: 10rem;
        padding-bottom: 10rem; */
    }
    .about {
        /* display:grid;
        grid-template-columns: 1fr 3fr; */
    }
  

      .about-photo >*, .about-info-box{
        /* min-width: 250px;
        max-width: 400px; */
      }
      .text-sm{
        font-size: 1.2rem;
        margin-inline-start: 5rem;
    }
    .about-photo{
        justify-content: center;
        margin-inline: auto;
    }

    .gallery-item .thumbnail {
        width: 440px;
    }
   
    .link-separator{
        display:none !important;
    }
    
}
@media only screen and (min-width: 45em){
    body{
        background-position-y: 30%;
    }
    .title-text {

        /* font-size: 3rem !important; */
        padding-inline-end:1.5rem;
    }
    .primary-navigation  {
        padding-left: 3rem;
        margin-inline-start: 3rem;
        float: right;
        position:relative !important;
        left: 5rem;
    }
    
    .log-and-title-grid{
        width: 100%;
    }
}

/* mobile portrait */
@media only screen and (max-width: 575px){
    .about{
        display:grid;
        grid-template-columns: 1fr;
    }
    .about-photo img{
        width: 200px;
        margin:auto;
    }
    .text-sm{
        font-size: 1.2rem;
    }
    
    .service-list {
        margin-inline: 3rem;
    }
    .gallery-item .thumbnail {
        width: 440px;
    }
} /* END MOBILE PORTRAIT */

@media only screen and (min-width: 35em){  /*------LARGE SCREEN SIZE ---------*/
    
    .primary-header,.primary-navigation{
        /* EDIT FOR NAV AND LOGO  */
        /* margin-top: 5rem; */
        justify-self: center;
        justify-content: center;
        /* padding-inline: 1.8rem; */
    }

    .primary-navigation li a {
        font-size: .5em;
        letter-spacing: .2rem;
        text-wrap: nowrap;
        word-wrap: nowrap;
        /* padding-inline:2rem; */
    }
    
    /* DC LOGO ABOVE NAV */
    .logo-large-screensize{
        display:relative;
        justify-self: center;
        margin-inline: auto;
        margin: auto;
        top: 200px;
        /* left: 200px; */
    }
    .header-logo{
        /* display: none; */
    }

    #logo-and-title-grid {
        margin-block-start: 1rem;
        display:grid;
        grid-template-columns: 1fr 1fr;
        align-items: start;
        
    }
    
}
/* ********************************* */
/* *,::before,::after {
    border: 1px solid red;
} */
.header-logo{
    display: inline-block
}

/* Testimonials page */
.testimonial-content {
    margin: 0 auto;
    max-width: 800px;
    min-width: 450px;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.author {
    /* font-style:italic; */
    font-weight:900;
    font-size: 1rem;
    text-align: center;
}

.card {
    background: rgba(200, 200, 200, .200); /* 128,128,128 */
    border:1px solid #807e7e;
    border-radius: 5px;
    color:#fff;
    padding: 1rem;
    /* filter:blur(9); */  
}
/* 

EDIT CARD FOR MOBILE

*/


/* .card *{
    font-family: 'Poppins' !important;
} */
h1,h2,h3,p,li,a,form,p.contact-info,.card > *, * {
    /* font-family: 'Poppins' !important; */
    font-family: "Kaushan Script", cursive;
    font-weight: 800;
    font-style:normal;
    font-size: 1.2rem;
    
}
p{
    font-size: 20px;
    line-height:1.5;
    letter-spacing: 0.05em;
}
h1{
    font-size:30px !important;
    text-shadow: 1px 1px 5px #000;
    text-align: center;
}

/* Testimonial Carousel */
.carousel-card {
    height: 200px;
    width: 400px;
    word-wrap: none;
    overflow-x: scroll;
}


#logo-and-title-grid {
    margin-block-start: 1rem;
    display:grid;
    grid-template-rows: 1fr 1fr;
} 
/* NAVIGATION LARGE SCREEN */
nav{
    display:flex;
    flex-direction: column;
    flex-basis: auto;
}
/* *,::before,::after {
    border: 1px solid red;
} */
#title-small, .title-text {
    font-size:.6em;
    font-family: "Kaushan Script", cursive;
    font-weight: 100;
}


/* SERVICES */
.services-area {
    margin-inline: 2rem;
}
.align-left {
    text-align:left;
    /* padding-inline-start: 3rem; */
    margin-inline: 2rem;
}
ul.align-left {
    margin-inline-start: 5rem;
}

*,::before,::after {
    /* border: 1px solid red !important; */
}
.primary-navigation a, .title-text, .sm-text, * {
    font-size: .8rem;
    
}
sm-text {
    font-size: .8rem !important;
}
.blk-and-white {
    backdrop-filter: grayscale(1);
    display:none;
}
h1.title-text> {
    font-weight: 400;
    font-family: "Kaushan Script", cursive !important;
}
img.display-none {
    display:none;
}

/* EVERYTHING INSIDE CARD CLASSES! */
/* .card > p, p.about-info {
    font-family: 'Poppins', sans-serif !important;
}
*/
 

@media screen and (min-width: 35em) and (max-width: 45em){
    .title-text {
        margin-inline: auto;
        padding-left: 1rem;
    }

    /* MAKE NAV SMALLER */
    .primary-navigation li a {
        font-size: .45rem;
    }
    
    .link-separator {
        /* display:none; */

    }
    .title-text {
        position: relative;
        top: 250;

    }

    .title-container h1{
        min-width: 35rem;
        display:inline-block;
        /* border: 1px solid red; */
    }
}
container {
    height: 100vh;
}
*,::before,::after {
    /* border: 1px solid red; */
}

.about, .adjust-title {
    display:inline;
    position:absolute;
    top: 150px;
}


