html {
	scroll-behavior: smooth;
}

/* TEMP */
img.logo { max-width: 180px; padding: 12px 5px; }
p { font-size: 1.1em; }
.main ol, .main ul { padding-left: 30px; }
.main ul { list-style: disc; }
.main ol { list-style: decimal; }
.main li { margin-bottom: 15px; }

.page-template-page-no_title .wp-block-group .wp-block-columns {
    gap: 5em;}

/* BUILT IN VARIABLES */
:root { --text-primary-color: #595959; }

/* GENERAL STYLES */
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5 { 
    font-weight: 400;
    color: var(--brand-accent-three);
    font-family: gyst-variable, sans-serif;
    margin-bottom: 0;
}
h1 { font-size: 2.85em; }
h2, .h2 {
    font-size: 2.5em;
}
.entry-content h2, .entry-content .h2 {
    margin: 50px 0 10px;
}
h3, .h3 {
    font-size: 2em;
    margin: 15px 0 0;
    line-height: 1.35;
}
h4, .h4 {
    font-size: 1.75em;
}

h2 + p, .h2 + p, h3 + p, .h3 + p, h4 + p, .h4 + p {
    margin-top: 10px;
}

.text-center {
    text-align: center;
}
	
a.btn, .gform_wrapper.gravity-theme .gform_footer input, .gform_wrapper.gravity-theme .gform_footer button {
    text-decoration: none;
    background: var(--brand-primary-color);
    color: #FBF2DF;
    padding: 10px 20px;
    display: inline-block;
}

a.cta-btn:after {
    content: '\f178';
    font-family: 'Font Awesome 6 Pro';
    font-weight: 300;
    margin-left: 10px;
}

a.btn-wide {
    text-align: center;
    border-radius: 15px;
    font-family: gyst-variable, sans-serif;
    text-transform: uppercase;
    font-size: 1.5em;
}

a.btn-wide:after {
    line-height: 0.8;
}

.gform_wrapper.gravity-theme .gform_footer input, .gform_wrapper.gravity-theme .gform_footer button {
    background:  var(--brand-secondary-color);
    position: relative;
    appearance: none;
	border: none; 
}

article { overflow: hidden; }

#inner-content a, footer a, .gform_button, #logo a { transition: opacity 0.25s ease; }

.mx-0 {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.my-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.mt-0 {
    margin-top: 0 !important;
}

.mb-0 {
    margin-bottom: 0 !important;
}

.pr-0 {
    padding-right: 0 !important;
}

.py-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

a:focus-visible, button:focus-visible {
    outline: 2px solid var(--brand-accent-three);
}

.cta-slider button:focus-visible, .testimonial-slider button:focus-visible {
    outline-color: #fff;
    outline-offset: 3px;
}

.home div#content h2:not(.cta-container h2), .home div#values {
    padding-top: 30px;
    margin-top: -30px;
}

/* FORMS */
.gform_wrapper.gravity-theme .gfield_label {
    font-size: 1.25em;
    color: var(--brand-secondary-color);
    font-weight: 600;}
select {
    border: 2px solid #bdbdbd;
    line-height: 1;
    height: 50px;}
.gform_wrapper.gravity-theme .gfield_checkbox label, .gform_wrapper.gravity-theme .gfield_radio label {
    font-size: 1.25em;}
#gform_fields_1 .gchoice {
    display: inline-block;
    padding-right: 45px;
}
.gform_wrapper.gravity-theme #gform_fields_1 .gfield-choice-input+label {
    max-width: 100%;}
.gform_button:hover, .gform_button:focus, .gform_wrapper.gravity-theme .gform_footer button:hover, .gform_wrapper.gravity-theme .gform_footer button:focus, .nav li a:hover, .nav li a:focus {
	opacity: 0.7;
}
body .gform_wrapper.gravity-theme .gform_fields {
    grid-row-gap: 20px;
}
.gform_wrapper.gravity-theme .ginput_complex {
    grid-row-gap: 20px;
}
body .gform_wrapper.gravity-theme .ginput_complex span {
    flex-basis: 100%;
    padding: 0 !important;
}
.gform_wrapper.gravity-theme .ginput_container input::placeholder {
    color: var(--brand-accent-three);
}
::placeholder {
    color: var(--brand-accent-three);
}

.gform_wrapper.gravity-theme .ginput_container input:-ms-input-placeholder{
    color: var(--brand-accent-three);
}

.gform_wrapper.gravity-theme .ginput_container input::-ms-input-placeholder {
    color: var(--brand-accent-three);
}
.gform_wrapper.gravity-theme .gform_footer button {
    transition: opacity 0.25s ease;
}

.gform_confirmation_message {
    background: #fff;
    border-radius: 8px;
    padding: 30px 20px;
    font-size: 1.15em;
}

	/* CUSTOM RADIO BUTTON STYLES */
	input[type="radio"] {
	  appearance: none;
	  background-color: #fff;
	  margin: 0 5px 0 0;
	  font: inherit;
	  color: currentColor;
	  width: 1em;
	  height: 1em;
	  border: 2px solid var(--brand-primary-color);
	  border-radius: 50%;}
	input[type="radio"]:checked {
	  background: var(--brand-primary-color);}
	input[type="radio"]:checked + label {
		font-weight: 600;}


/* SLIDER ARROWS */
.slick-prev .slick-prev-icon:before {
    content: '\f053' !important;
    font-family: 'Font Awesome 6 Pro';}
.slick-next .slick-next-icon:before {
    content: '\f054' !important;
    font-family: 'Font Awesome 6 Pro';}

body .slick-next .slick-next-icon, body .slick-prev .slick-prev-icon {
	transition: all 0.25s ease;
    color: var(--brand-accent-three);
}

ul.slick-dots li button, .slick-dots li button .slick-dot-icon:before {
    width: 40px;
    height: 4px;
    margin: 0 !important;
}

body .slick-dots li button .slick-dot-icon:before {
    content: '';
    background: var(--brand-primary-color);
}

body .slick-dots li button .slick-dot-icon {
    color: unset;
    opacity: 0.5;
    transition: opacity 0.25s ease;
}

.slick-slide {
    padding: 0 1px;
}

body .slick-arrow {
    height: 25px;
}

body .slick-next:focus .slick-next-icon, body .slick-next:focus .slick-prev-icon, body .slick-next:hover .slick-next-icon, body .slick-next:hover .slick-prev-icon, body .slick-prev:focus .slick-next-icon, body .slick-prev:focus .slick-prev-icon, body .slick-prev:hover .slick-next-icon, body .slick-prev:hover .slick-prev-icon {
    font-size: 24px;
    margin: 0;
    color: var(--brand-accent-three);
}

/* NAV */
.nav li {
	float: left;
	position: relative;
}
nav li a {
    transition: color 0.25s ease, opacity 0.25s ease;
}

.main-navbar { 
	overflow-x: clip;
    padding: 0 15px; } /* prevent whitespace on the right of the page*/

.home .header {
    background: transparent;
    position: fixed;
    z-index: 99;
}

.nav li a {
    text-decoration: none;
    color: var(--brand-accent-three);
}

.home div#main-nav {
    justify-items: center;
    background: var(--brand-accent-two);
    border-radius: 5px;
    padding: 10px;
    transition: all 0.25s ease;
    opacity: 0;
    visibility: hidden;
    position: absolute;
    left: 50%;
}

div#main-nav.nav-open {
    opacity: 1 !important;
    visibility: visible !important;
}

div#main-nav li.cta-btn a {
    background: var(--brand-primary-color);
    color: #FCF7E7;
    padding: 10px 20px;
    border-radius: 10px;
    white-space: nowrap;
}

button.responsive-nav-toggle {
    box-shadow: 0px 1px 4px rgb(32 26 23 / 10%);
}

div#main-nav button {
    background-color: #c0b4a3;
    color: var(--brand-accent-one);
    border: none;
    border-radius: 30px;
    position: absolute;
    top: -10px;
    right: -10px;
    transition: background-color 0.25s ease;
}

div#main-nav button:hover, div#main-nav button:focus {
    background-color: rgb(192 180 163 / 70%);
}

.home .nav li:not(.cta-btn) a.active:after {
    background: var(--brand-secondary-color);
}

.home ul#menu-main-menu {
    display: flex;
    align-items: center;
}

/* PAGE TEMPLATE */
h1.page-title { font-size: 3em; }

/* --------------------------
 * --------------------------
 * -----   FOOTER
 * --------------------------
 * -------------------------- */

	/* ---------> GENERAL FOOTER STYLES */
	.footer hr { margin: 45px 0;}
    .pelan-footer .footer-logo {
        margin-bottom: 30px;
    }
    .pelan-footer h2, .pelan-footer p, .pelan-footer a {
        color: #fff;
    }
    .pelan-footer a { text-decoration: none; }
    .pelan-footer p { font-weight: 300; margin-bottom: 15px;}
    .pelan-footer .footer-logo img {
        width: 100%;
    }

	/* ---------> FOOTER SOCIAL */
    .footer .social {
        display: flex;
        gap: 15px;
    }
	.footer .social a {
		color: #fff;
        font-size: 35px;
        line-height: 1;
    }

    /* ---------> FOOTER CTA */
    .footer-cta a.cta-btn {
        background: var(--brand-accent-two);
        color: var(--brand-accent-one);
        margin-top: 20px;
    }

	/* ---------> FOOTER CREDITS */
	.footer .credits {
        margin-top: 70px;
        padding-top: 20px;
        border-top: 1px solid #fff;
    }
	.footer .credits p { font-size: 1em; }
    ul#menu-footer-links {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
    }
    ul#menu-footer-links li:not(:last-child) {
        padding-right: 10px;
    }
    ul#menu-footer-links li:not(:last-child):after {
        content: '/';
        padding-left: 10px;
    }
    ul#menu-footer-links li a {
        font-weight: 300;
    }

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

header.single-article-header, header.single-article-header + .entry-content {
    padding: 0;}
.blog #main, 
.archive #main, 
.search #main {
    margin-top: 2.2em;
    padding-right: 45px;}
.blog .hero, .archive .hero, .search .hero {
    padding-bottom: 30px;}
.blog .post, .archive .post, .search article {
    margin-bottom: 45px;
    padding-bottom: 30px;
    border-bottom: 1px solid #ddd;}
.blog .post:last-child, .archive .post:last-child, .search article:last-child { border-bottom: none; margin-bottom: 0;}
.post-feat_img img {
    max-width: 100%;}
.post-content.has-feat_img {
    padding-left: 15px;}
.post-content h2 {
    line-height: 1.25;
    margin-top: -5px;
    margin-bottom: 7px;}

.sidebar {
    margin-bottom: 150px; }
.blog .sidebar .widget_block, 
.archive .sidebar .widget_block, 
.single-post .sidebar .widget_block, 
.search .sidebar .widget_block, .single .sidebar .widget_block {
    padding: 10px 25px;
    background: #f9f7f7;
    border: 1px solid #eee;}
.blog .sidebar .widget_block h3:first-child + ul, 
.archive .sidebar .widget_block h3:first-child + ul, 
.single-post .sidebar .widget_block h3:first-child + ul, 
.search .sidebar .widget_block h3:first-child + ul, .single .sidebar .widget_block h3:first-child + ul {
    padding-left: 15px;
    margin-top: 0;}
.blog .sidebar .widget_block ul li, 
.archive .sidebar .widget_block ul li, 
.single-post .sidebar .widget_block ul li, 
.search .sidebar .widget_block ul li, .single .sidebar .widget_block ul li {
    list-style: circle;
    margin-bottom: 0.5em;}
.blog .sidebar .widget_block ul li a, 
.archive .sidebar .widget_block ul li a, 
.single-post .sidebar .widget_block ul li a, 
.search .sidebar .widget_block ul li a, .single .sidebar .widget_block ul li a {
    text-decoration: none;
    color: #565656;}

#content .sidebar .wp-block-group {
    padding: 0;}
.widget_block {
    margin-top: 0;
    margin-bottom: 30px;}
.widget_block:first-child .wp-block-group__inner-container > *:first-child {
    margin-top: 0;}
 
.single #main {
    margin-top: 1.2em;
    padding-right: 45px;}
.single .sidebar {
    margin-top: 3.3em;}


.blog .pagination, 
.archive .pagination, 
.search .pagination {
    margin-bottom: 150px;
    text-align: right;}
.pagination .page-numbers {
    margin: 0;}


/* ------------------------
 * 
 * CUSTOM GUTENBERG BLOCKS 
 * 
 * ------------------------
 */

/* HERO */

.hero-container {
    position: relative;
    height: 100vh;
    min-height: 800px;
    display: flex;
    align-items: center;
}

.hero-content {
    margin: 0 auto;
    max-width: 460px;
}

.hero-content img.hero-logo {
    margin: 0 auto;
}

.hero-content img.hero-logo, .footer-logo img {
    max-width: 250px;
    display: block;
}

.hero-content h1 {
    margin: 20px 0;
}

.hero-container .background > div {
    position: absolute;
}

.hero-container .background img {
    min-width: 180px;
    max-width: 460px;
    position: relative;
    z-index: 1;
}

.hero-img-left img {
    width: 25vw;
}

.hero-img-top-right img {
    width: 35vw;
}

.hero-img-left {
    left: 8vw;
    transform: translateY(-50%);
}

.hero-img-top-right {
    top: 0;
    right: 0;
}

.hero-img-container:after {
    content: '';
    display: inline-block;
    width: 100%;
    height: 100%;
    position: absolute;
}

.hero-img-left .hero-img-container:after {
    top: 5vw;
    left: -8vw;
}

.hero-img-top-right .hero-img-container:after {
    bottom: 5vw;
    left: -5vw;
}

.hero-content a.btn {
    background: var(--brand-secondary-color);
    margin-top: 10px;
    display: inline-block;
}

.hero-content p {
    color: var(--brand-accent-three);
}

/* TEXT AND IMAGE BLOCK */
.text-and-image-container, .text-and-image-line {
    position: relative;
}

.text-and-image-container img {
    display: block;
    width: 100%;
}

.text-and-image-line:after {
    content: '';
    height: 1px;
    display: block;
    background: var(--brand-secondary-color);
    position: absolute;
    top: 0;
    left: -18vw;
}

.text-and-image-line.below:after {
    width: calc(100% + 30vw);
}

.text-and-image-line {
    display: block;
    height: 1px;
}

.text-and-image-line.above {
    margin: 0px 0 80px;
}

.text-and-image-line.below {
    margin: 60px 0 35px;
}

.text-and-image-subsection {
    margin: 50px 0 0 auto;
}

.text-and-image-subsection h3 {
    border-top: 2px solid #F0E1C2;
    padding-top: 30px;
}

.text-and-image-img-container {
    min-width: 230px;
    max-width: 460px;
    width: 35vw;
    margin-left: auto;
    position: relative;
}

.text-and-image-img-container:after {
    content: '';
    display: inline-block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: -4vw;
    z-index: -1;
}

.text-and-image-container .wrap .text-and-image-illustration-center {
    width: auto;
}

/* CTA SECTION BLOCK */
.cta-container .wrap {
    background: var(--brand-accent-one);
    padding: 60px 30px;
}

.cta-container h2, .cta-container p {
    color: #FCF7E7;
}

.cta-container p {
    font-size: 1.15em;
}

.cta-container h3 {
    color: var(--brand-accent-two);
    font-style: italic;
    margin-bottom: 5px;
    font-weight: 500;
}

.cta-container ul.slick-dots {
    position: relative;
    margin: 15px 0 0 -5px;
    text-align: left;
    padding: 0 0 5px;
    bottom: 0;
}

.cta-slider .slick-arrow, .testimonial-slider .slick-arrow {
    z-index: 2;
}

.cta-slider .slick-arrow span, .testimonial-slider .slick-arrow span {
    color: var(--brand-accent-two);
}

body .cta-slider .slick-arrow:hover span, body .cta-slider .slick-arrow:focus span, body .testimonial-slider .slick-arrow:hover span, body .testimonial-slider .slick-arrow:focus span {
    color: #FCF7E7;
}

/* CONTENT TOOGGLER SECTION BLOCK */
.content-toggle-container p {
    margin-bottom: 30px;
}

.toggle-container .switch {
    position: relative;
    display: inline-block;
    width: 34px;
    height: 20px;
    border-radius: 34px;
    margin: 0 10px;
}

.toggle-container .switch input:focus-visible {
    outline: 2px solid var(--brand-accent-three);
    outline-offset: 2px;
}

.toggle-container .switch input {
    display: inline-block;
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 100%;
}

.toggle-container .slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    -webkit-transition: .4s;
    transition: .4s;
}

.toggle-container .slider:before {
    position: absolute;
    content: "";
    height: 12px;
    width: 12px;
    left: 4px;
    top: 50%;
    background: var(--brand-accent-one);
    -webkit-transition: .4s;
    transition: .4s;
}

.toggle-container input:checked + .slider:before {
	-webkit-transform: translate(14px, -50%);
	-ms-transform: translate(14px, -50%);
	transform: translate(14px, -50%);
}

.toggle-container input + .slider:before {
	-webkit-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	transform: translate(0, -50%);
}

.toggle-container .slider.round {
    border-radius: 34px;
    background: rgb(102 79 60 / 40%);
}

.toggle-container .slider.round:before {
    border-radius: 50%;
}

.toggle-container .toggle-label {
    display: inline-block;
    font-size: 1.15em;
}

.toggle-container {
    display: inline-flex;
    align-items: center;
}

.toggle-content-two {
    display: flex;
    gap: 20px;
}

.single-content-two {
    padding: 60px 30px;
    border-radius: 20px;
    display: flex !important;
    align-items: stretch;
    flex-wrap: wrap;
}

.single-content-two ul {
    list-style: none;
    padding: 0;
    margin: 50px 0 0;
}

.single-content-two ul li {
    font-size: 1.15em;
}

.single-content-two ul li:last-child {
    margin-bottom: 0;
}

.single-content-two ul li:not(:last-child) {
    padding-bottom: 25px;
    margin-bottom: 25px;
    border-bottom: 2px solid;
}

.toggle-content h4 {
    font-style: italic;
}

.toggle-content-two .slick-track {
    display: flex;
    cursor: -webkit-grab;
    cursor: grab;
}

.toggle-content-two .slick-track:active {
    cursor: -webkit-grabbing;
    cursor: grabbing;
}

.toggle-content .slick-list {
    overflow: visible;
}

.toggle-content-two .slick-slide {
    max-width: 350px;
    height: inherit;
    margin-right: 20px;
}

.toggle-content-two .slick-slide > div, .toggle-content-two .slick-slide > div > div, .single-content-two {
    height: 100%;
}

.toggle-content-one-slider .slick-track {
    display: flex;
    gap: 20px;
}

.toggle-content-one-slider .slick-track .slick-slide {
    height: inherit;
}

.toggle-content-one-slider .slick-track .slick-slide > div {
    height: 100%;
}

.single-content-one {
    text-align: center;
    border: 1px solid var(--brand-primary-color);
    border-radius: 15px;
    padding: 70px 37px;
    height: 100%;
    display: flex !important;
    align-items: center;
    max-width: 402px;
}

.single-content-one-content h4 {
    margin-bottom: 20px;
    padding-bottom: 15px;
    position: relative;
}

.single-content-one-content h4:after {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background: rgb(201 49 27 / 25%);
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    max-width: 260px;
}

.single-content-one p {
    color: var(--brand-accent-three);
}

.single-content-one p:last-child {
    margin-bottom: 0;
}

.toggle-content-one a.btn-wide {
    margin-top: 30px;
}

.content-toggle-container {
    position: relative;
}

.toggle-content, .toggle-content .slick-slider {
    position: unset;
}

.toggle-content button.slick-prev {
    left: unset;
    right: 60px;
}

.toggle-content button.slick-next {
    right: 30px;
}

/* TESTIMONIAL SLIDER BLOCK */
.testimonial-slider {
    background: var(--brand-accent-one);
    display: inline-block;
}

.testimonial-slider .slick-prev {
    left: 28px;
}

.testimonial-slider .slick-next {
    right: 28px;
}

.single-testimonial p {
    color: #FCF6E8;
}

.single-testimonial > div:last-child img {
    width: 100%;
}

.single-testimonial > div:first-child {
    position: relative;
}

.quote-byline {
    margin-top: 30px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.quote-byline .company {
    display: flex;
    align-items: center;
    gap: 15px;
}

.quote-byline .company p {
    font-style: italic;
}

.quote-byline img {
    max-width: 150px;
    max-height: 40px;
    object-fit: contain;
}

p.quote {
    font-family: gyst-variable, sans-serif;
    line-height: 1.3;
}

.single-testimonial > div:first-child:before {
    content: '“';
    font-family: gyst-variable, sans-serif;
    font-style: italic;
    font-size: 70px;
    color: var(--brand-primary-color);
    line-height: 1;
    position: absolute;
    top: -12px;
    width: 25px;
    height: 42px;
    background: var(--brand-accent-one);
    z-index: 1;
}

.single-testimonial > div:first-child:after {
    content: '';
    display: inline-block;
    width: 1px;
    height: 100%;
    background: #FCF6E8;
    position: absolute;
    top: 0;
}

.testimonial-slider ul.slick-dots {
    text-align: left;
    position: relative;
    padding: 0;
    bottom: 0;
}

.quote-read-more button {
    border: none;
    margin-top: 15px;
    padding: 10px 20px;
    background: var(--brand-accent-two);
    color: var(--brand-accent-one);
    transition: opacity 0.25s ease;
}

.quote-read-more {
    display: flex;
    flex-direction: column-reverse;
    align-items: flex-start;
}

.quote-read-more p {
    margin-top: 10px;
    display: none;
}

/* IMAGE AND FORM BLOCK */
.image-and-form-container img {
    width: 100%;
    display: block;
}

.image-and-form-img {
    position: relative;
}

.image-and-form-img:after {
    content: '';
    top: 5vw;
    left: -7vw;
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.image-and-form-container .wrap {
    min-height: 90vh;
}

.image-and-form-container .wrap > div:last-child h2 + p {
    margin-bottom: 20px;
}

.image-and-form-container .gform-footer.gform_footer.top_label {
    padding-bottom: 0;
}

.image-and-form-container .gform-footer.gform_footer.top_label button {
    margin-bottom: 0;
}

/* PRIVACY POLICY PAGE */
.entry-content figure#our-contact-info table, .entry-content figure#our-contact-info table tr, .entry-content figure#our-contact-info table tr td {
    border: none;
}

.entry-content figure#our-contact-info table tr {
    background: none;
}

.entry-content figure#our-contact-info table {
    table-layout: auto;
    width: auto;
    margin: 0;
}

.entry-content figure#our-contact-info table tr td {
    vertical-align: top;
    padding: 0 30px 15px 0;
}

/* DEFAULT */
body:not(.home) div#content {
    padding-top: 30px;
}

/* ERROR 404 PAGE */
#post-not-found a.btn {
    background: var(--brand-secondary-color);
}

#post-not-found h1 {
    margin-bottom: 30px;
}

#post-not-found p {
    margin-bottom: 40px;
}

#post-not-found .article-header, #post-not-found .entry-content {
    padding: 0;
}

.error404 #content {
    padding: 0 30px 60px !important;
    display: flex;
    align-items: center;
    position: relative;
}

article#post-not-found img {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 60vw;
    max-width: 950px;
    margin: 0;
}