/*
 Theme Name:   Moonrise Horticulture
 Description:  Custom theme
 Author:       Carnoustie Creative
 Author URI:   https://www.carnoustiecreative.co.uk
 Template:     baseline
 Version:      1.0.8
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  baseline-child

.fraunces-<uniquifier> {
  font-family: "Fraunces", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
  font-variation-settings:
    "SOFT" 0,
    "WONK" 0;
}
.dm-sans-<uniquifier> {
  font-family: "DM Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

*/

:root {
    --mh-saffon: #FFBD59;
    --mh-havelock-blue: #599BFF;
    --mh-nebula: #C2D5CD;
    --mh-everglade: #0A4924;
    --mh-merlin: #3F403F;
}

.baseline {
    --baseline-aos-distance: 100px;
    --baseline-aos-distance-negative: -100px;
}

body.baseline {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    line-height: 1.4;
    font-family: "DM Sans", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: clamp(1.5rem, 2vw, 1.8rem);
    background-image: url('moonrise-page-bgnd.jpg');     
}

.baseline h1 {
    font-family: "Fraunces", serif;
    font-size: clamp(3.8rem, 3vw, 5rem);
    font-weight: 600;
}

.baseline h2 {
    font-family: "Fraunces", serif;
    font-size: clamp(3rem, 2.5vw, 4.1rem);
    font-weight: 600;
}

.cde-wide-text h2,
.cde-gallery-grid h2,
.flex-elm .before h2 {
    color: var(--mh-havelock-blue);
}

.has-bgcolor.col-nebula h2 {
    color: var(--mh-everglade);
}

.header-wrap .container,
#footer-bottom-container.container {
    max-width: 96%;
    width: 96%;
}

.baseline .header-wrap {
    border-bottom: none;
    background-color: transparent;
}

.text-centre {
    text-align: center;
}

.widget-area.footer-bottom {
    margin-bottom: 1rem;
}

.widget-area.footer-bottom p {
    margin-bottom: 0.5rem;
}

.baseline footer {
    margin-top: 2rem;
    padding-top: 4rem;
}

body.baseline .hidden h2 {
    color: transparent;
}

@media ( max-width: 920px ) {

    .container.hidden,
    .hidden.flex-elm {
        max-height: 9.5rem;
        box-sizing: border-box;
    }

}

#footer-top-container {
    margin-bottom: 4rem;
}

#footer-top-container .menu {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;    
}

#footer-top-container .menu li {
    margin: 0 3rem;    
}

#footer-top-container .menu a {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    font-weight: 500;
}

#footer-top-container .menu a i {
    font-size: 2.4rem;
    color: var(--mh-havelock-blue);
    margin-right: 0.7rem;
}

.baseline .mobile-nav.above {
    height: 8rem;
    width: 100%;
    z-index: 7;
    position: fixed;
    box-shadow: 0 2px 4px 0 rgba(213,213,213,.5);
    border-bottom: none;
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(1rem);
}

.baseline.header-not-at-top header .custom-logo {
    height: 5rem !important;    
    width: 5rem !important;    
    margin-top: 0;
    margin-left: 0;
}

.baseline header .logotitle.row {
    padding: 1rem 0;
}

.baseline header .container {
    width: 95%;
    max-width: 100%;
}

.baseline header,
.baseline header .container,
.baseline header .logotitle.row,
.header-wrap .second {
    height: 100%;
}

.header-wrap .second {
    top: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;    
}

.header-wrap .second .textwidget {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

.baseline header .container,
.baseline footer .container {
    max-width: 96%;
    width: 96%;
}

.baseline header .button {
    margin-left: 3vw;
    margin-top: unset;
    margin-bottom: unset;
}

.baseline header .custom-logo {
    margin: 1.2rem 0;
    transition-duration: 0.5s;
    width: 15.3rem !important;
    height: 15.3rem !important;
}

.header_contact a.button i {
    margin-right: 0;
}

@media ( min-width: 920px ) {

    .baseline .header-wrap {
        border-bottom: none;
        height: 20rem;
        width: 100%;
        position: fixed;
        z-index: 6;
        transition-duration: 0.7s;
        background-color: transparent;                
    }
    
    .baseline.header-not-at-top .header-wrap {
        height: 7rem;
        box-shadow: 0 2px 4px 0 rgba(213,213,213,.5);
        background-color: rgba(255, 255, 255, 0.8);
        backdrop-filter: blur(7px);
    }
    
}

.scroll-nav {
    width: 98%;
}

.scroll-nav ol {
    margin-left: 3rem;
    list-style: none;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin-bottom: 0;
}

.scroll-nav ol li {
    max-width: 13rem;
    padding: 0.8rem 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-radius: 0.8rem;
    margin-bottom: 0;
}


.widget .scroll-nav ol li.scroll-nav__item--active a {
    font-weight: 700;
    border-bottom-color: var(--mh-havelock-blue);
}

.widget .scroll-nav ol li a {
    font-size: clamp(1.4rem, 2vw, 1.6rem);    
    text-align: center;
    text-decoration: none;
    border-bottom: 0.3rem solid transparent;
    padding: 0.5rem 0;
}

.after-content-full {
    margin-top: 1rem;
}

@media ( max-width: 600px ) {

    .after-content-full {
        margin-top: -2rem;
    }

}

.header_contact .button {
    background-color: var(--mh-everglade);
    color: var(--mh-saffon);
    padding: 1.1rem 1.8rem;
}

.widget .header_social {
    margin: 0 0 0 2.5rem;
}

.widget .header_social ul {
    list-style: none;
    display: flex;
    flex-direction: row;
    justify-content: center;
}

.header_social li {    
    margin: 0 2vw;
}

.header_social i {
    color: var(--mh-havelock-blue);
    font-size: 2.4rem;
}

.baseline .container {
    max-width: 1400px;
}

.mosaic-header.flex-elm .right.img.cde-crop-nocrop {
    background-color: var(--mh-everglade);
    background-position: right center;
}

.mosaic-header.cde-text-left-image-right .left.has-bgcolor:not(.col-none) {
    padding: 8vw;
}

.mosaic-header .hide-desktop.img.right.cde-crop-nocrop {
    background-size: cover;
    margin-bottom: 0;
}

@media ( max-width: 720px ) {

    .cde-image-left-text-right.mosaic-header .img, 
    .cde-text-left-image-right.mosaic-header .img {
        margin-bottom: 0;
    }

}

#contact-block.cde-text-left-image-right .left {
    justify-content: center;
}

#circle-image img {
    width: 100%;
    aspect-ratio: 1/1;
    border-radius: 50%;
}

#circle-image .right-col {
    padding: 0 3rem;
}

#circle-image.cde-two-cols.has-bgcolor:not(.col-none) {
    padding-left: 8rem;
    padding-right: 8rem;
}

@media ( max-width: 900px ) {

#circle-image.cde-two-cols.has-bgcolor:not(.col-none) {
    padding-left: 1rem;
    padding-right: 1rem;
}

}

.baseline h2 + p {
    margin-top: 1.8rem;
}

.ig-feed .inner {
    background-color: #ccc;
    min-height: 50rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.services .cde-grid-item.col-none {
    background-color: var(--mh-nebula);
}

.services .cde-grid-item-inner {    
    padding: 4rem 2rem;
}

.services .item-image {
    background-color: rgba(255, 255, 255, 0.5);
    width: 40%;
    aspect-ratio: 1/1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    margin: 0 auto;
    padding: 3rem;
}

.services .item-label {
    font-family: "Fraunces", serif; 
    font-weight: 600;
    color: var(--mh-everglade);
    text-align: center;
    font-size: clamp(2rem, 2vw, 2.6rem);
    line-height: 1.2;
    margin-top: 2rem;
}

.services .item-content {
    font-size: clamp(1.4rem, 2vw, 1.6rem);
    margin-top: 2rem;
    text-align: center;
}

.cde-grid-list .before {
    margin-bottom: 5.5rem;
}

.reviews.flex-elm.col-nebula .col-none.cde-grid-item,
.reviews.flex-elm.col-nebula .col-none p {
    background-color: #fff;
}

.reviews.flex-elm.col-nebula .col-none.cde-grid-item {
    padding: 6rem 8rem;
    box-sizing: border-box;
    position: relative;
}

.reviews .cde-grid-item-inner {
    display: grid;
    grid-template-areas: "rev-top"
                         "rev-bot";
    grid-column-gap: 4rem;    
}

.reviews .cde-grid-item:before,
.reviews .cde-grid-item:after {
    content: "";
    width: 7rem;
    height: 7rem;
    background-image: url('open-quote.svg');
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
}

.reviews .cde-grid-item:before {
    top: -1.5rem;
    left: 0.5rem;
}

.reviews .cde-grid-item:after {
    background-image: url('close-quote.svg');
    bottom: -3rem;
    right: 0.5rem;
}

.reviews .item-label {
    grid-area: rev-bot;
    font-weight: 600;
}

.reviews .item-label span:before {
    content: "\2014";
    margin-right: 0.7rem;
}

.baseline .gform_wrapper.gravity-theme .gfield_required {
    color: var(--mh-saffon);
}

.baseline .gform_required_legend {
    font-size: 1.6rem;
}

.portfolio .cde-grid-item {
    width: 100%;    
}

.portfolio .cde-grid-item-inner {
    background-color: #fff;
    border: 0.4rem solid var(--mh-nebula);
    margin: 0 10%;
    padding-right: 4rem;
    display: grid;
    grid-template-areas: "l-top r-top"
        "l-top r-bot";
    grid-column-gap: 4rem;
    box-shadow: 0.4rem 0.4rem 1rem rgba(0,0,0,0.4);
}

.portfolio .cde-grid-item-inner .item-label {
    grid-area: r-top;
    padding-top: 3rem;
    padding-bottom: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.baseline .flickity-page-dots .dot.is-selected {
    background: var(--mh-havelock-blue)
}

.portfolio .cde-grid-item-inner .item-label span {
    padding: 1rem;
    display: inline;
    width: auto;
    background-color: var(--mh-saffon);
    color: var(--mh-merlin);
    font-size: 2rem;
    font-weight: 600;
}

.portfolio .cde-grid-item-inner .item-content {
    grid-area: r-bot;
    padding-bottom: 2rem;    
}

.portfolio .cde-grid-item-inner .item-image {
    grid-area: l-top;
}

.portfolio .cde-grid-item-inner .item-image img {
    height: 100%;
    object-fit: cover;
}

.baseline .mobile-nav .custom-logo {
    max-width: 15rem !important;    
    height: 7rem; 
    margin-top: -0.1rem;    
}

.baseline .header-wrap {
    border-bottom: none;
}

.baseline #burger-button {
    display: none;
}

.baseline .mobile-nav.above {
    height: 8.3rem;
    width: 100%;
    z-index: 7;
    position: fixed;
    box-shadow: 0 2px 4px 0 rgba(213,213,213,.5);
    border-bottom: none;
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(1rem);
}

.mobile-menubar .header_contact {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
}

.mobile-menubar .button {
    font-size: 2.2rem;
    padding: 2rem;    
    height: 100%;
    margin-bottom: 0.5rem;
    margin-right: 0.2rem;
}

.cde-projects .project {
    display: grid;
    grid-template-columns: 60% 1fr;
    grid-gap: 0;
    background-color: #fff;
    border: 0.3rem solid var(--mh-nebula);
    box-shadow: 0.4rem 0.4rem 1rem rgba(0,0,0,0.4);
}

@media ( max-width: 600px ) {

    .cde-projects .project {        
        grid-template-columns: 1fr;        
    }

}

.cde-projects .project_photos {
    padding: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.cde-projects .project_photo_list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 2rem;
}

.cde-projects .before {
    margin-bottom: 5rem;
}

.project_photo_list img {
    max-width: 100%;
    aspect-ratio: 1/1;
    cursor: zoom-in;
}

.project_data {
    padding: 5vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.project_title {
    font-size: 2.6rem;
    color: var(--mh-everglade);
    font-weight: bold;
    margin-bottom: 2rem;
}

.project_photo_list li {
    margin-bottom :0;
}

.project_photo_list img:hover {
    opacity: 0.7;
}

.widget ul.cde-project-titles {
    list-style: none;
    padding: 0;
    margin: 0 0 1em 0;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1em;
    margin-bottom: 3rem;
}

.cde-project-title-link {
    display: inline-block;
    background-color: var(--mh-nebula);
    text-decoration: none;
    color: #000;
    cursor: pointer;
    padding: 0.5em 1em;
    border-radius: 3px;
    transition: background 0.2s;
}

.cde-project-title-link.active,
.cde-project-title-link:hover {
    background: var(--mh-saffon);
    color: #000;
}

#logos .icons {
    display: flex;
    flex-direction: row;
    justify-content: center;
}

#logos .cde-icon {
    margin: 2rem 8rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

#logos .cde-icon img {
    max-width: 17rem;
}

#logos .cde-icon.smaller img {
    max-width: 12rem;
}

@media ( max-width: 600px ) {

    #logos .cde-icon {
        margin: 2rem 5rem;
    }

    #logos .cde-icon img {
        max-width: 10rem;
    }

    #logos .cde-icon.smaller img {
        max-width: 7rem;
    }

}