/*
Theme Name: Serendipity
Theme URI: 
Author: Ryan Johnson
Author URI: https://www.rjohnson92777.com
Description: Built for Serendipity Counseling 
Requires at least: 5.9
Tested up to: 6.2
Requires PHP: 8.0
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: wp-devs
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, accessibility-ready   https://make.wordpress.org/themes/handbook/review/required/theme-tags/
*/



/* =============================================== */
/* Overall */
/* =============================================== */

/* 
Colors
Off White       #f5f5f5
Lightest Green  #a4fdc5
Mint Green      #93DFB0
Serendipity Green #74B08A
Forest Green    #5A6A60
Blackish        #1C1C1C

font-family: 'Lora', serif;
font-family: 'Open Sans', sans-serif;
*/

:root {
    font-size: 62.5%;
    /* (62.5/100) * 16px = 10px */
    /* 
        This should simplify the calculation of rem's across the board. 
        1px = .1rem
        10px = 1rem
        15px = 1.5rem
        20px = 2rem 
        25px = 2.5rem
        100px = 10rem
        105px = 10.5rem
        2980px = 298rem
        2985px = 298.5rem
        */
}

body {
    background-color: #f5f5f5;
    margin: 0;
    position: relative;
    z-index: 0;
    font-family: "Open Sans", sans-serif;
    font-size: 1.6rem;
    min-height: 100%;
    height: 100%;
    color: #1c1c1c;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Lora', serif;
    font-weight: 400;
}

h1 {
    font-size: 6.4rem;
    text-align: center;
    margin: 5.4rem 0;
}

p {
    line-height: 152%;
    margin: 0 0 2rem 0;
}

/* .main_content {
    padding-bottom: 9rem;
    border-bottom: 1px solid #5A6A60;
} */

.section {
    margin: 7rem 0;
}

.secition--mint {
    background-color: #93DFB0;
}

.container {
    width: 100%;
    max-width: 144rem;
    margin: 0 auto;
}

/* Header */
header {
    background-color: #5a6a60;
    color: #fff;
}

.header_container {
    width: 100%;
    max-width: 144rem;
    display: grid;
    grid-template-columns: 30rem 1fr;
    margin: 0 auto;
}

a.header_logo-link {
    display: inline-block;
    width: 19rem;
    height: 8rem;
    background-image: url("img/serendipity_logo_branding_rev.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    margin: 3rem;
}

nav#main-nav {
    text-align: right;
    padding: 0 3rem 0 0;
}

nav#main-nav ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 3rem;
    margin: 6rem 0 2rem;
}

nav#main-nav ul li {
    position: relative;
}

nav#main-nav ul li a:link,
nav#main-nav ul li a:visited,
.inspoly_link a:link,
.inspoly_link a:visited {
    color: #fff;
    text-decoration: underline;
    padding: .5rem;
}

nav#main-nav ul li a:link {
    font-size: 2rem;
}

nav#main-nav ul li a:hover,
nav#main-nav ul li a:focus,
.inspoly_link a:hover,
.inspoly_link a:focus {
    color: #000;
    text-decoration: none;
    background-color: rgba(255, 255, 255, .5)
}

.inspoly_link {
    text-align: right;
}

/* buttons */
.btn {
    display: inline-block;
    width: 20rem;
    padding: 1rem 1.5rem;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-size: 2rem;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    border-radius: .5rem;
    border: 1px solid;
    margin: 1rem auto;
}

.btn.btn-white {
    color: #1c1c1c;
    background-color: #f5f5f5;
    border: 1px solid #f5f5f5;
}

.btn.btn-white:hover {
    color: #f5f5f5;
    background-color: #1c1c1c;
    border: 1px solid;
}

.btn.btn-forest {
    color: #f5f5f5;
    background-color: #5a6a60;
    border: 1px solid #5a6a60;
}

.btn.btn-forest:hover {
    color: #5a6a60;
    background-color: #f5f5f5;
    border: 1px solid #5a6a60;
}


/* Contact Us Section */
.contact_section {
    /* display: none; */
    background-color: #5a6a60;
}

.contact_container {
    width: 100%;
    max-width: 52rem;
    margin: 5rem auto 6rem;
    padding: 5rem 0;
}

.contact_container h2 {
    color: #f5f5f5;
    font-size: 3.6rem;
    text-align: center;
    margin-bottom: 4rem;
}

.contact_form {
    position: relative;
}

.contact_form-group {
    display: grid;
    grid-template-columns: 1fr 4fr;
    gap: 1rem 2rem;
    margin: 1rem auto 0;
}

.contact_form-group label {
    color: #f5f5f5;
    font-size: 2rem;
    padding: 1rem 0;
    text-align: right;
}

.contact_form-group input,
.contact_form-group textarea {
    border: 1px solid #AEBABA;
}

.contact_form-group label.nickname,
.contact_form-group input.nickname {
    display: none;
}

#contactForm>.nickname {
    display: none;
}

.contact_form-group small {
    color: #b22222;
    display: block;
    background-color: #f5f5f5;
}

.contact_form-button {
    display: grid;
    grid-template-columns: 1fr 4fr;
    gap: 2rem;
}

.contact_form-button .btn {
    display: block;
    margin: 2rem 0 0;
    grid-column: 2;
    justify-self: start;
}

.success-message {
    font-size: 3rem;
    text-align: center;
    color: #5A6A60;
    background-color: #f5f5f5;
    border: .4rem solid;
}

/* Locations */
.location_section {
    width: 100%;
    max-width: 144rem;
    margin: 5rem auto 6rem;
}

.location_section h2 {
    font-size: 3.6rem;
    color: #5A6A60;
    margin: 0 0 4rem;
}

.loc_container {
    display: grid;
    grid-template-columns: 40rem 1fr;
}

.loc_address {
    font-size: 2rem;
    color: #5A6A60;
}

.loc_map {
    height: 52rem;
    border: 1px solid #5A6A60;
}



/* Footer */
footer {
    background-color: #5a6a60;
    color: #fff;
}

.footer_container {
    width: calc(100% - 4rem);
    max-width: 144rem;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    margin: 0 auto;
    padding: 2rem;
}

.footer_address p {
    margin: 0;
}

.footer_logo {
    display: grid;
    justify-content: center;
    align-items: center;
}

.footer_logo img {
    width: 19rem;
    height: 8rem;
}

#footer-nav.footer_social {
    display: grid;
    align-items: center;
}

#footer-nav ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 1rem;
}

#footer-nav ul li {
    position: relative;
}

#footer-nav a:link {
    color: #fff;
}

/* Credits - bar bottom */
.credits-bar {
    background-color: #1c1c1c;
}

.credits-bar_container {
    width: calc(100% - 4rem);
    max-width: 144rem;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    padding: 0 2rem;
}

.credits-bar_container span {
    display: inline-block;
    margin: 1.5rem 0;
    font-size: 1.2rem;
}

.credits-bar_container .photocred {
    color: #fff;
    text-align: right;
}

.credits-bar_container a:link,
.credits-bar_container a:visited {
    color: #fff;
    border-radius: .2rem;
    padding: 0 .2rem;
}

.credits-bar_container a:hover,
.credits-bar_container a:focus {
    color: #000;
    background-color: #fff;
}

/*@media screen and (max-width: 1440px) {*/
@media screen and (max-width: 90em) {

    /* Locations */
    .location_section {
        max-width: calc(100% - 6rem);
    }
}

/*@media screen and max-width: 860px) */
@media screen and (max-width: 53.75em) {

    /* Header */
    nav#main-nav ul {
        gap: 2rem;
        margin: 2rem 0;
    }

    /* Locations */
    .location_section h2 {
        margin: 0 0 2rem;
        text-align: center;
    }

    .loc_container {
        grid-template-columns: 1fr;
    }

    .loc_address {
        text-align: center;
        margin-bottom: 4rem;
    }

    .loc_map {
        height: 42rem;
    }

    .footer_container {
        grid-template-columns: 1fr;
    }

    .footer_address p {
        margin: 2rem 0;
        text-align: center;
    }

    .footer_logo {
        grid-row: 1;
    }


    #footer-nav.footer_social {
        display: grid;
        align-items: center;
        justify-items: center;
    }
}

/*@media screen and (max-width: 800px) {*/
@media screen and (max-width: 50em) {
    h1 {
        font-size: 4.8rem;
        text-align: center;
        margin: 3.6rem 0;
    }
}

/*@media screen and (max-width: 588px) {*/
@media screen and (max-width: 36.75em) {

    /* Header */
    .header_container {
        grid-template-columns: 21rem 1fr;
    }

    a.header_logo-link {
        width: 17rem;
        height: 7rem;
        margin: 3rem 2rem;
    }

    /* Contact Us Section */

    .contact_container {
        max-width: calc(100% - 2rem);
    }

    .contact_container h2 {
        margin-bottom: 2rem;
    }

    .contact_form-group {
        grid-template-columns: 1fr;
        gap: 0;
        margin: 1rem auto 0;
    }

    .contact_form-group label {
        text-align: left;
    }

    .contact_form-group input {
        height: 4rem;
    }

    .contact_form-group input,
    .contact_form-group textarea {
        border: 1px solid #AEBABA;
    }

    .contact_form-button {
        display: grid;
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .contact_form-button .btn {
        grid-column: 1;

    }
}

/*@media screen and (max-width: 500px) {*/
@media screen and (max-width: 31.25em) {

    /* Header */
    .header_container {
        grid-template-columns: 1fr;
        justify-items: center;
    }

    a.header_logo-link {
        margin: 1rem auto 0;
    }

    nav#main-nav {
        text-align: center;
        padding: 1rem 0 2rem;
    }

    nav#main-nav ul {
        justify-content: center;
        gap: 1rem;
        margin: 1rem 0;
    }

    nav#main-nav ul li a:link {
        font-size: 1.6rem;
    }

    nav#main-nav .inspoly_link {
        text-align: center;
    }
}

/* =============================================== */
/* Home Page Specific */
/* =============================================== */
/* banner */
.banner {
    width: 100%;
    height: 35rem;
    background-image: url("img/seredipity_succulent_banner.jpg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    display: grid;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.banner h1 {
    color: #f5f5f5;
    font-family: Lora;
    font-size: 6.4rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    margin: 0;
}

.banner>.btn.btn-forest {
    width: auto;
}

/* Services and Specialties */
.services_specialties_container {
    width: 100%;
    max-width: 114rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8rem;
}

.services_item,
.specialties_item {
    background-color: #93DFB0;
    padding: 3rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 3rem;
    border-radius: 1rem;
}

.services_item h2,
.specialties_item h2 {
    font-size: 3.6rem;
}

.services_item ul,
.specialties_item ul {
    list-style-type: none;
}

.services_item ul li,
.specialties_item ul li {
    padding: .2rem;
    line-height: 2.4rem;
}

.services_item .btn,
.specialties_item .btn {
    align-self: flex-end;
}

/* Mission and About Us Section  */
.mission_container,
.about-us_container {
    width: 100%;
    max-width: calc(144rem - 10rem);
    display: grid;
    gap: 6rem;
}

.mission_container {
    padding: 7rem 5rem;
    grid-template-columns: 56rem 1fr;
}

.about-us_container {
    padding: 3rem;
    grid-template-columns: 1fr 56rem;
}

.mission_text h2,
.about-us_text h2 {
    font-size: 3.6rem;
}

.mission_text p,
.about-us_text p {
    margin: 4rem 0;
    font-size: 2rem;
}

.mission_img,
.about-us_img {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 1rem;
    border: 1px solid #74B08A;
    height: 45rem;
}

.mission_img {
    background-image: url('img/marcel-strauss-fzqxoFJytiE-unsplash.jpg');
}

.about-us_img {
    background-image: url('img/kelly-sikkema-XX2WTbLr3r8-unsplash.jpg');
}

/*@media screen and (max-width: 1440px) {*/
@media screen and (max-width: 90em) {

    /* Mission and About Us Section  */
    .mission_container,
    .about-us_container {
        width: 100%;
        max-width: calc(100% - 10rem);
        display: grid;
        gap: 6rem;
    }
}

/*@media screen and (max-width: 1200px) {*/
@media screen and (max-width: 75em) {

    /* Services and Specialties */
    .services_specialties_container {
        max-width: calc(100% - 8rem);
    }
}

/*@media screen and (max-width: 1100px) {*/
@media screen and (max-width: 68.75em) {

    /* Mission and About Us Section  */
    .mission_container,
    .about-us_container {
        grid-template-columns: 1fr 1fr;
        gap: 4rem
    }

    .mission_img,
    .about-us_img {
        height: 30rem;
    }
}

/*@media screen and (max-width: 800px) {*/
@media screen and (max-width: 50em) {

    /* banner */
    .banner h1 {
        font-size: 4.8rem;
    }

    /* Services and Specialties */
    .services_specialties_container {
        grid-template-columns: 1fr;
        gap: 4rem;
    }

    /* Mission and About Us Section  */
    .mission_container,
    .about-us_container {
        grid-template-columns: 1fr;
        gap: 4rem
    }

}

/*@media screen and (max-width: 420px) {*/
@media screen and (max-width:26.25em) {
    .services_specialties_container {
        max-width: calc(100% - 2rem);
    }

    .mission_img,
    .about-us_img {
        height: 20rem;
    }
}

/* ================================================ */
/* Therapistst */
/* ================================================ */
.therapists_container {
    width: 100%;
    max-width: 110rem;
    margin: 0 auto;
}

.therapist_item {
    position: relative;
    background-color: #93DFB0;
    padding: 5.5rem 5.5rem 2.5rem;
    margin: 6rem 0;
    width: calc(80% - 11rem);
    border-radius: 1rem;
}

.therapist_img img {
    position: absolute;
    right: -20%;
    width: 50%;
    height: auto;
    border-radius: 1rem;
    filter: drop-shadow(1rem 1rem 0 #5A6A60);
}

.therapist_text {
    width: 65%;
}

.therapist_text h2 {
    font-size: 3.6rem;
    margin-bottom: 4.5rem;
}

.therapist_text h2 span {
    font-size: 1.6rem;
}

.therapist_text p {
    font-size: 1.8rem;
}

/*@media screen and (max-width: 1200px) {*/
@media screen and (max-width: 75em) {
    .therapists_container {
        max-width: calc(100% - 8rem);
    }
}

/*@media screen and (max-width: 700px) {*/
@media screen and (max-width: 43.75em) {
    .therapists_container {
        max-width: calc(100% - 4rem);
    }

    .therapist_item {
        padding: 2.5rem 2.5rem 1rem;
        width: calc(100% - 5rem);
    }

    .therapist_img img {
        display: block;
        position: relative;
        right: initial;
        width: 50%;
        margin: 0 auto 2.5rem;
    }

    .therapist_text {
        width: 100%;
    }
}

/*@media screen and (max-width: 460px) {*/
@media screen and (max-width: 28.75em) {
    .therapist_img img {
        width: 70%;
    }
}

/* =============================================== */
/* Credits */
/* =============================================== */

.credits_container {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 3rem;
}

.credit_box {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: column;
    justify-content: space-between;
    background-color: #a4fdc5;
    border-radius: 1rem;
    padding: 3rem;
}

.credit_image img {
    width: 100%;
    border-radius: 1rem;
    margin-bottom: 1rem
}

.credit_text {
    display: grid;
    align-items: center;
    justify-items: center;
}

.credit_text a:link,
.credit_text a:visited {
    color: #000;
}

.credit_text p {
    margin: 0;
    text-align: center;
}

/*@media screen and max-width: 860px) */
@media screen and (max-width: 53.75em) {
    .credits_container {
        grid-template-columns: 1fr 1fr;
    }
}

/*@media screen and max-width: 420px) */
@media screen and (max-width: 26.25em) {
    .credits_container {
        grid-template-columns: 1fr;
    }
}




/* =============================================== */
/* Insurance Page */
/* =============================================== */
.ins_section_container {
    width: 100%;
    max-width: 114rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8rem;
    margin: 6rem auto;
}

.in-network_text,
.out-network_text {
    color: #5A6A60;
    font-size: 2.4rem;
}

.in-network_text h2,
.out-network_text h2 {
    font-size: 3.6rem;
    margin: 0 0 4rem;
}

.in-network_text ul,
.out-network_text ul {
    margin: 0 0 4rem;
    list-style-type: none;
    line-height: 2.8rem;
}

.in-network_img,
.out-network_img {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 1rem;
    border: 1px solid #74B08A;
    height: 40rem;
}

.in-network_img {
    background-image: url('img/annie-spratt-GVDV9tKGars-unsplash.jpg');
}

.out-network_img {
    background-image: url('img/micheile-henderson-8tf3e8LaSX0-unsplash.jpg');
}


/*@media screen and (max-width: 1200px) {*/
@media screen and (max-width: 75em) {
    .ins_section_container {
        max-width: calc(100% - 8rem);
    }
}

/*@media screen and (max-width: 1100px) {*/
@media screen and (max-width: 68.75em) {}

/*@media screen and (max-width: 900px) {*/
@media screen and (max-width: 56.25em) {
    .ins_section_container {
        gap: 2rem;
    }

    .ins_section_container.ins_section-1 {
        grid-template-columns: 4fr 2fr;
    }

    .ins_section_container.ins_section-2 {
        grid-template-columns: 2fr 4fr;
    }

    .in-network_text,
    .out-network_text {
        font-size: 1.8rem;
    }

    .in-network_text h2,
    .out-network_text h2 {
        font-size: 2.8rem;
        margin: 0 0 3rem;
    }

    .in-network_text ul,
    .out-network_text ul {
        margin: 0 0 3rem;
        line-height: 2.2rem;
    }

    .in-network_img,
    .out-network_img {
        height: 20rem;
    }
}

/*@media screen and (max-width: 660px) {*/
@media screen and (max-width:41.25em) {
    .ins_section_container.ins_section-1 {
        grid-template-columns: 1fr;
    }

    .ins_section_container.ins_section-2 {
        grid-template-columns: 1fr;
    }

    .in-network_img,
    .out-network_img {
        display: none;
    }
}







/* =============================================== */
/* Insurance Policy Page */
/* =============================================== */
h1.notice_h1 {
    font-size: 6.4rem;
    margin: 6rem auto 9rem;
    text-align: center;
}

.notice_container {
    width: 100%;
    max-width: 82.5rem;
    margin: 0 auto;
}

.notice_container p,
.notice_container ul li,
.notice_container ol li {
    line-height: normal;
    font-size: 1.6rem;
}

/*@media screen and (max-width: 900px) {*/
@media screen and (max-width: 56.25em) {
    .notice_container {
        max-width: calc(100% - 8rem);
    }

    .notice_container p,
    .notice_container ul li,
    .notice_container ol li {
        line-height: normal;
        font-size: 1.4rem;
    }
}






/* =============================================== */
/* Gallery Page */
/* =============================================== */

.gallery_container {
    width: 100%;
    max-width: 98rem;
    margin: 0 auto 9rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
}

.gallery_container img {
    width: 100%;
}

.gallery_container img:first-child {
    grid-column: 1 / span 2;
}

/*@media screen and (max-width: 980px) {*/
@media screen and (max-width: 61.25em) {
    .gallery_container {
        max-width: calc(100% - 6rem);
    }
}

/*@media screen and (max-width: 720px) {*/
@media screen and (max-width: 45em) {
    .gallery_container {
        grid-template-columns: 1fr;
    }

    .gallery_container img:first-child {
        grid-column: inherit;
    }
}

/*@media screen and (max-width: 420px) {*/
@media screen and (max-width: 26.25em) {
    .gallery_container {
        max-width: calc(100% - 2rem);
    }
}








/* =============================================== */

/* =============================================== */