/* cmsms stylesheet: default_wide modified: 07/02/26 17:28:26 */
body {
    font-family: khula, sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 105%;
    line-height: 160%;
    color: #000000;
    margin: 0px;
    padding: 0px;
}

p {
    margin: 0px 0px 20px 0px;
}

h1 {
    font-family: adobe-garamond-pro, serif;
    font-weight: 400;
    font-size: 280%;
    line-height: 115%;
    margin: 0px 0px 20px 0px;
    color: #273c2d;
}

h2 {
    font-family: adobe-garamond-pro, serif;
    font-weight: 400;
    font-size: 300%;
    line-height: 115%;
    margin: 0px 0px 25px 0px;
    color: #273c2d;
}

h3 {
    font-family: adobe-garamond-pro, serif;
    font-weight: 400;
    font-size: 155%;
    line-height: 130%;
    margin: 0px 0px 20px 0px;
    color: #273c2d;
}

h4 {
    font-family: adobe-garamond-pro, serif;
    font-weight: 400;
    font-size: 177%;
    line-height: 120%;
    margin: 0px 0px 15px 0px;
}

h5 {
    font-family: adobe-garamond-pro, serif;
    font-weight: 400;
    font-size: 130%;
    line-height: 120%;
    margin: 0px 0px 5px 0px;
    color: #273c2d;
}

h6 {
    font-size: 100%;
    line-height: 120%;
    font-weight: 600;
    margin: 0px 0px 10px 0px;
}

a {
    color: #273c2d;
    text-decoration: none;
    transition: color 0.4s, background-color 0.4s;
}

a:hover {
    color: #8ca842;
    text-decoration: underline;
}

a img {
    border: 0px;
}

blockquote {
    margin: 0px 0px 20px 0px;
    font-size: 120%;
    line-height: 150%;
}

cite {
    display: block;
    font-style: normal;
    font-weight: 600;
}

/* IDs */

#sideNavBack {
    display: none;
    position: fixed;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    background-color: #00000066;
    z-index: 99999999;
}

#sideNav {
    position: absolute;
    right: -420px;
    top: 0px;
    bottom: 0px;
    width: 420px;
    box-sizing: border-box;
    padding-top: 100px;
    transition: right 0.4s;
}

.sideNavOn {
    right: 0px !important;
}

#sideNavClose {
    position: absolute;
    top: 30px;
    right: 30px;
    color: #ffffff;
    cursor: pointer;
    transition: color 0.4s;
    font-size: 70%;
}

#sideNavClose:hover {
    color: #cddfa1;
}

#sideNav ul {
    margin: 0px;
    padding: 0px 50px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

#sideNav li {
    margin: 0px;
    padding: 0px;
    list-style: none;
}

#sideNav a {
    color: #ffffff;
    font-size: 150%;
    font-family: adobe-garamond-pro, serif;
}

#sideNav a:hover {
    color: #cddfa1;
}

#navInfo {
    padding: 40px 50px 0px 50px;
    font-size: 65%;
    line-height: 160%;
    color: #cddfa1;
}

#navInfo a {
    color: #ffffff;
}

#outerHeader {
    height: 45px;
    box-sizing: border-box;
    position: relative;
    z-index: 20;
}

#innerHeader {
    height: 45px;
    align-items: center;
}

#innerHeader .pillButton {
    position: relative;
    bottom: -25px;
    transition: bottom 0.4s;
}

#innerHeader  .pillButton:hover {
    bottom: -23px;
}

#menuShow {
    cursor: pointer;
}

#logo {
    position: absolute;
    left: 50%;
    top: -20px;
    transform: translateX(-50%);
    z-index: 15;
    width: 220px;
    height: 280px;
    box-sizing: border-box;
    padding-top: 48px;
}

#heroSection {
    position: relative;
    height: 900px;
    overflow: visible;
}

#contentSectionOne {

}

#selectedWork {

}

#team {

}

#contact {

}

#serviceCards {

}

#galleryGrid {

}

#galleryFilters {

}

#faqList {
    margin-top: 30px;
}

#contactForm {

}

#outerFooter {

}

/* Classes */

.outer {

}

.inner {
    width: calc(100% - 80px);
    max-width: 1880px;
    margin: 0 auto;
    position: relative;
}

.midInner {
    width: calc(100% - 80px);
    max-width: 1360px;
    margin: 0 auto;
    position: relative;
}

.smallInner {
    width: calc(100% - 120px);
    max-width: 900px;
    margin: 0 auto;
}

.flowRooter {
    display: flow-root;
}

.standardVertical {
    padding-top: 90px;
    padding-bottom: 90px;
}

.standardBottomVertical {
    padding-bottom: 50px;
}

.standardPadded {
    padding: 30px;
}

.columnContainer {
    display: flex;
    gap: 30px;
}

.allSpaceColumn {
    justify-content: space-between;
}

.centerBlock {
    text-align: center;
}

.leftColumn {

}

.rightColumn {

}

.equalColumn {
    flex: 1;
}

a.galleryItem:link, a.galleryItem:visited   {
    max-width: 25%;
    position: relative;
    top: 0px;
    transition: top 0.4s;
}

a.galleryItem:hover {
    top: -2px;
    text-decoration: none;
}

.tinyText {
    font-size: 65%;
}

.rounded {
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px;
}

.bordered {
    border: 1px solid #ede8cf;
}

.blockButton {
    display: inline-block;
    text-decoration: none;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    border-radius: 30px;
    cursor: pointer;
    border: 0px;
    font-family: khula, sans-serif;
    transition: color 0.4s, background-color 0.4s;
}

.pillButton {
    padding: 16px 20px 12px 20px;
    font-size: 115%;
    font-weight: 600;
    line-height: 100%;
    display: inline-block;
    position: relative;
    bottom: 0px;
    transition: bottom 0.4s;
}

 .pillButton:hover {
    bottom: 3px;
}

.kicker {
    font-size: 75%;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #9a9a9a;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.kickerLine {
    display: inline-block;
    width: 24px;
    height: 1px;
    background-color: #9a9a9a;
}

.introText {
    max-width: 1130px;
    color: #5a5a5a;
    margin-bottom: 40px;
    font-size: 106%;
}

/* Header */

.heroImage {
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    height: 900px;
    overflow: hidden;
    z-index: 1;
}

.heroImage img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.heroInner {
    position: relative;
    z-index: 2;
    padding-top: 290px;
    box-sizing: border-box;
}

h2.heroTitle {
    font-size: 445%;
    font-weight: 600;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4);
    margin: 0px 0px 15px 0px;
}

.heroSubtitle {
    font-family: khula, sans-serif;
    font-weight: 600;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4);
    font-size: 250%;
    line-height: 140%;
    margin: 0px 0px 60px 0px;
}

.heroCard {
    max-width: 1190px;
    margin: auto;
    box-sizing: border-box;
}

.heroCard h1 {
    /* max-width: 900px; */
    font-size: 238%;
}

.heroCard p {
    /* max-width: 900px; */
    color: #5a5a5a;
    font-size: 120%;
}

/* Service cards */

#serviceCards .infoCard {
    padding: 30px;
    box-sizing: border-box;
}

#serviceCards img {
    display: block;
    margin-bottom: 25px;
}

#serviceCards h4 {
    min-height: 65px;
}

#serviceCards p {
    color: #5a5a5a;
    font-size: 90%;
}

.learnMore {
    display: inline-block;
    color: #000000;
    font-weight: 600;
    font-size: 90%;
}

.learnMore:hover {
    color: #8ca842;
}

/* Selected work */

.galleryHeading {
    align-items: flex-end;
    margin-bottom: 25px;
}

.filterBar {
    gap: 10px;
}

.filterPill {
    padding: 5px 16px 0px 16px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
    font-size: 80%;
    font-weight: 600;
    cursor: pointer;
    border: 1px solid #ddd8cc;
    box-sizing: border-box;
    position: relative;
    top: 0px;
    transition: top 0.4s;
}

.filterPill:hover {
    top:-2px;
}

.filterPill.activeFilter {
    border: 1px solid #cddfa1;
}

#galleryGrid {
    flex-wrap: wrap;
}

.galleryItem img {
    width: 100%;
    height: auto;
    display: block;
    margin-bottom: 15px;
}

.galleryItem h5 {
    margin-bottom: 2px;
}

.galleryItem p {
    color: #9a9a9a;
    margin-bottom: 0px;
}

.galleryHidden {
    display: none;
}

/* Team / testimonial */

.teamLeft {
    width: 47%;
    box-sizing: border-box;
    padding-top: 10px;
}

.teamIntro {
    color: #cddfa1;
    max-width: 480px;
}

.quoteCard {
    width: 43%;
    box-sizing: border-box;
    position: relative;
}

.quoteMark {
    display: block;
    font-family: adobe-garamond-pro, serif;
    font-size: 300%;
    line-height: 60%;
    margin-bottom: 10px;
}

.quoteCard blockquote {
    color: #ffffff;
}

.quoteCard cite {
    color: #ffffff;
}

.quoteLocation {
    display: block;
    font-weight: 400;
    color: #a9b8ac;
    font-size: 90%;
}

/* Contact */

.contactLeft {
    width: 46%;
    box-sizing: border-box;
}

.contactDetail {
    margin-bottom: 8px;
}

.contactFormWrap {
    width: 50%;
    box-sizing: border-box;
}

.formRow {

}

.formField {
    margin-bottom: 20px;
}

.formField label {
    display: block;
    font-size: 85%;
    font-weight: 600;
    margin-bottom: 6px;
}

.formField input,
.formField select,
.formField textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 12px 14px;
    border: 1px solid #e0ddd2;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
    font-family: khula, sans-serif;
    font-size: 95%;
    color: #000000;
}

.formField textarea {
    resize: vertical;
}

#contactForm input[type="submit"] {
    margin-top: 10px;
}

/* FAQ */

.faqItem {
    border-top: 1px solid #e0ddd2;
    padding: 22px 0px;
}

.faqItem:last-child {
    border-bottom: 1px solid #e0ddd2;
}

.faqQuestion {
    font-family: adobe-garamond-pro, serif;
    font-size: 170%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
}

.faqIcon {
    font-family: khula, sans-serif;
    font-size: 75%;
}

.faqAnswer {
    color: #5a5a5a;
    margin-top: 12px;
    font-size: 92%;
}

.faqClosed .faqAnswer {
    display: none;
}

/* Footer */

.footerTop {
    align-items: center;
    margin-bottom: 30px;
}

.footerLogo img {
    display: block;
}

.footerLeft,
.footerRight {
    color: #ffffff;
    width: 30%;
    box-sizing: border-box;
}

.footerRight {
    text-align: right;
}

.footerLeft a,
.footerRight a,
footer a {
    color: #ffffff;
}

/*  colours  */

.pineBack {
    background-color: #273c2d;
    color: #ffffff;
}

.pineBack h1,
.pineBack h2,
.pineBack h3,
.pineBack h4 {
    color: #ffffff;
}

a.pineBack:link,
a.pineBack:visited,
button.pineBack,
input.pineBack {
    background-color: #273c2d;
    color: #ffffff;
}

a.pineBack:hover,
button.pineBack:hover,
input.pineBack:hover {
    background-color: #1a2a1e;
    color: #ffffff;
    text-decoration: none;
}

.pineFront {
    color: #273c2d;
}

.midnightBack {
    background-color: #022a36;
    color: #cddfa1;
}

.midnightBack h2 {
    color: #ffffff;
}

.sageBack {
    background-color: #cddfa1;
    color: #273c2d;
}

a.sageBack:link,
a.sageBack:visited,
span.sageBack {
    background-color: #cddfa1;
    color: #273c2d;
}

a.sageBack:hover,
span.sageBack:hover {
    background-color: #b8d17e;
    color: #273c2d;
    text-decoration: none;
}

.sageFront {
    color: #cddfa1;
}

.creamBack {
    background-color: #fbfaf5;
}

.sandBack {
    background-color: #f4f1e8;
}

.whiteBack {
    background-color: #ffffff;
    color: #000000;
}

.whiteBackTrans {
    background-color: #ffffffbd;
    color: #000000;
}

.whiteFront,
.whiteFront h1,
.whiteFront h2,
.whiteFront h3 {
    color: #ffffff;
}

.oliveFront {
    color: #8ca842;
}

a.oliveFront:link,
a.oliveFront:visited {
    color: #8ca842;
}

a.oliveFront:hover {
    color: #273c2d;
}
