/**
* Fonts import
*/
@import url("http://hello.myfonts.net/count/4a3358");
  
@font-face {
    font-family: "Rifton-Norm";
    src: url('../woff2/riftonnorm.woff2') format('woff2'), url('../woff/riftonnorm.woff') format('woff');
}

@font-face {
    font-family: "Objective";
    src: url('../woff2/objective-regular.woff2') format('woff2');
    font-display: swap;
    font-style: normal;
    font-weight: 400;
}

@font-face {
    font-family: "Objective";
    src: url('../woff2/objective-regular.woff2') format('woff2');
    font-display: swap;
    font-style: normal;
    font-weight: 400;
}

@font-face {
    font-family: "Objective";
    src: url('../woff2/objective-medium.woff2') format('woff2');
    font-display: swap;
    font-style: normal;
    font-weight: 500;
}

@font-face {
    font-family: "Objective";
    src: url('../woff2/objective-bold.woff2') format('woff2');
    font-display: swap;
    font-style: normal;
    font-weight: 700;
}

@font-face {
    font-family: "Objective";
    src: url('../woff2/objective-extrabold.woff2') format('woff2');
    font-display: swap;
    font-style: normal;
    font-weight: 800;
}

/* Reset */
/* Box sizing rules */
*,
*::before,
*::after {
    box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
    margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role='list'],
ol[role='list'] {
    list-style: none;
}

/* Set core root defaults */
html:focus-within {
    scroll-behavior: smooth;
}

/* Set core body defaults */
body {
    min-height: 100vh;
    text-rendering: optimizeSpeed;
    line-height: 1.5;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
    text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img,
picture,
figure {
    max-width: 100%;
    display: block;
    height: auto;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
    font: inherit;
}

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
    html:focus-within {
        scroll-behavior: auto;
    }
    
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms;
        animation-iteration-count: 1;
        transition-duration: 0.01ms;
        scroll-behavior: auto;
    }
}

/*
* Define global variables
*/
:root {
    --clr-black:               #000;
    --clr-white:               #fff;
    --clr-blue:                #012af0;
    --clr-red:                 #fe4347;
    --clr-light-gray:           #f4f4f4;
    --clr-success:              #95ff63;
    --clr-error:                var(--clr-red);

    --ff-base:                   "Objective", sans-serif;  
    --ff-headings:               "Rifton-Norm", sans-serif;  

    --fc-base:                   var(--clr-black);  
    --fc-headings:               var(--clr-black);
    --fc-light:                  var(--clr-white);
    
    --font-size-base:           1rem;   
    --font-size-h1:             3.5rem;
    --font-size-h2:             1.75rem;
    --font-size-h3:             1.25rem;
    --font-size-h4:             1rem;
    --font-size-h5:             1rem;
    --font-size-h6:             1rem;
    --font-size-sm:             0.875rem;

    --font-size-h1-mobile:      2.25rem;
    --font-size-h2-mobile:      1.5rem;
    --font-size-h3-mobile:      1.25rem;
    --font-size-h4-mobile:      1rem;
    --font-size-h5-mobile:      1rem;
    --font-size-h6-mobile:      1rem;

    --font-size-h1-tablet:      3rem;
    --font-size-h2-tablet:      1.5rem;
    --font-size-h3-tablet:      1.25rem;
    --font-size-h4-tablet:      1rem;
    --font-size-h5-tablet:      1rem;
    --font-size-h6-tablet:      1rem;

    --line-height-base:         1.5;
    --line-height-headings:     1.05;

    --font-weight-base:         400;
    --font-weight-headings:     700;

    --container-width-xs:   100%;
    --container-width-sm:   540px;
    --container-width-md:   720px;
    --container-width-lg:   960px;
    --container-width-xl:   1140px;

    --column-gap-global:    35px;

    --section-spacing-sm:   6rem;
    --section-spacing-md:   7.5rem;
    --section-spacing-lg:   12.5rem;

    --transition-default:   250ms;
}

/*
* Layout
*/
html {
    scroll-behavior: smooth;
    scroll-padding: 60px;
}

@media screen and (min-width: 768px) {
    html {
        scroll-padding: 130px;
    }
}

body {
    overflow-x: hidden;
}

.ct-wrapper {
    flex-grow: 1;
    padding: 2.5rem 0 3rem;
}

@media screen and (min-width: 768px) {
    .ct-wrapper {
        padding: 4rem 0 8rem;
    }
}

.ct-wrapper--home {
    padding-top: 0;
}

.ct-container,
.ct-container--left,
.ct-container--blog {
    padding-left: 1rem;
    padding-right: 1rem;
    margin-left: auto;
    margin-right: auto;
    max-width: var(--container-width-xs);
    width: 100%;
}

@media screen and (min-width: 576px) {
    .ct-container,
    .ct-container--blog {
        max-width: var(--container-width-sm);
    }
}

@media screen and (min-width: 768px) {
    .ct-container,
    .ct-container--blog {
        max-width: var(--container-width-md);
    }
}

@media screen and (min-width: 992px) {
    .ct-container {
        max-width: var(--container-width-lg);
    }

    .ct-container--left {
        --edge: calc(calc(100% - var(--container-width-lg)) / 2);
        margin-left: unset;
        padding-left: 0;
        max-width: calc(100% - var(--edge));
    }

    .ct-container--blog {
        max-width: 900px;
    }
}

@media screen and (min-width: 1200px) {
    .ct-container {
        max-width: var(--container-width-xl);
    }

    .ct-container--left {
        --edge: calc(calc(100% - var(--container-width-xl)) / 2);
    }
}

/* 
* WP Classes
*/
.sticky,
.gallery-caption,
.bypostauthor {
	font-size: inherit;
}

.wp-caption {
	font-size: inherit;
}

.wp-caption-text {
	font-size: inherit;
}

.alignleft {
	display: inline;
	float: left;
	margin-right: 1.5em;
}

.alignright {
	display: inline;
	float: right;
	margin-left: 1.5em;
}

.aligncenter {
	margin-left: auto;
	margin-right: auto;
	display: block;
}

.alignfull {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	max-width: 100vw;
	width: 100vw;
}

.wp-block-image {
	margin: 1.75rem 0;
}

.wp-block-image figcaption {
    font-style: italic;
}

.gallery {
	margin-bottom: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	vertical-align: top;
	width: 100%;
}

.gallery-caption {
	display: block;
}

/*
* Utilities
*/
.hidden {
    display: none !important;
}

.text-red {
    color: var(--clr-red) !important;
}

.text-blue {
    color: var(--clr-blue) !important;
}

.text-white {
    color: var(--clr-white) !important;
}

.text-success {
    color: var(--clr-success) !important;
}

.text-muted {
    color: rgba(0, 0, 0, 0.4);
}

.text-bold {
    font-weight: 800 !important;
}

.bg-red {
    background-color: var(--clr-red) !important;
}

.bg-blue {
    background-color: var(--clr-blue) !important;
}

.bg-black {
    background-color: var(--clr-black) !important;
}

.section-spacing {
    margin-top: var(--section-spacing-sm);
    margin-bottom: var(--section-spacing-sm);
}

@media (min-width: 768px) {
    .section-spacing {
        margin-top: var(--section-spacing-md);
        margin-bottom: var(--section-spacing-md);
    }  
}

@media (min-width: 992px) {
    .section-spacing {
        margin-top: var(--section-spacing-lg);
        margin-bottom: var(--section-spacing-lg);
    }  
}

.ct-block + .ct-block--anchor {
    margin-top: var(--section-spacing-sm);
}

@media (min-width: 768px) {
    .ct-block + .ct-block--anchor {
        margin-top: var(--section-spacing-md);
    }    
}

@media (min-width: 992px) {
    .ct-block + .ct-block--anchor {
        margin-top: var(--section-spacing-lg);
    }     
}

.ct-block--anchor + .ct-block.section-spacing {
    margin-top: 0;
}

.read-more-link {
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--clr-blue);
    line-height: 1;
}

.read-more-link::after {
    content: "";
    height: 10px;
    width: 20px;
    display: inline-block;
    margin-left: 8px;
    -webkit-mask-image: url(../long-arrow-right.html);
    mask-image: url(../long-arrow-right.html);
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-size: 100% 100%;
    -webkit-mask-size: 100% 100%;
    mask-position: center;
    -webkit-mask-position: center;
    background-color: var(--clr-red);
    transition: all 250ms ease;
}

.read-more-link:hover,
.read-more-link:focus {
    color: var(--clr-red);
    text-decoration: none;
}

.read-more-link:hover::after,
.read-more-link:focus::after {
    background-color: var(--clr-blue);
}

.btns-wrapper {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    justify-content: center;
    gap: 28px;
    flex-wrap: wrap;
    margin-top: 3rem;
}

@media (min-width: 992px) {
    .btns-wrapper {
        justify-content: flex-start;
    }   
}

.ct-image-gallery {
    --grid-columns: 3;
    --grid-gap: 28px;

    display: grid;
    grid-template-columns: repeat(var(--grid-columns), 1fr);
    gap: var(--grid-gap);
}

.ct-image-gallery__thumb {
    width: 100%;
    aspect-ratio: 16 / 9;
    background-color: var(--clr-light-gray);
    border-radius: 4px;
    overflow: hidden;
}

.ct-image-gallery__thumb img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.ct-image-gallery__details {
    margin-top: 0.5rem;
}

.ct-image-gallery__details .file-name {
    font-size: 11px;
    margin: 0;
    color: rgba(0, 0, 0, 0.7);
    word-break: break-all;
}

/*
* Preloader
*/
.ct-preloader {
    --preloader-size: 80px;
    --preloader-color: var(--clr-white);
    --preloader-thickness: 8px;

    display: inline-block;
    position: relative;
    width: var(--preloader-size);
    height: var(--preloader-size);
}

.ct-preloader div {
    box-sizing: border-box;
    display: block;
    position: absolute;
    width: calc(var(--preloader-size) * 0.8);
    height: calc(var(--preloader-size) * 0.8);
    margin: var(--preloader-thickness);
    border: var(--preloader-thickness) solid var(--preloader-color);
    border-radius: 50%;
    animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
    border-color: #fff transparent transparent transparent;
}

.ct-preloader div:nth-child(1) {
    animation-delay: -0.45s;
}

.ct-preloader div:nth-child(2) {
    animation-delay: -0.3s;
}

.ct-preloader div:nth-child(3) {
    animation-delay: -0.15s;
}

@keyframes lds-ring {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

/*
* Global styles
*/
body.menu-active {
    overflow: hidden;
}

.site {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

form,
.form-wrapper {
    --form-gap-y: 24px;
    --form-gap-x: 24px;
    --input-bg-clr: #f4f4f4;
    --input-text-clr: var(--clr-black);
    --input-border-clr: #f4f4f4;
    --input-border-width: 2px;
    --input-border-radius: 24px;
    --input-height: 48px;
    --input-padding-y: 10px;
    --input-padding-x: 16px;
    --input-font-size: 13px;
    --input-font-weight: 500;
    --input-placeholder-clr: rgba(0, 0, 0, 0.4);
    --input-error-clr: rgba(0, 0, 0, 0.4);
    --input-focus-border-clr: var(--clr-black);
    --input-focus-bg-clr: #f4f4f4;
    --input-error-border-clr: var(--clr-red);
    --label-font-size: 11px;
    --label-font-weight: 500;
    --label-color: var(--clr-black);

    display: grid;
    grid-template-columns: 1fr;
    gap: var(--form-gap-y) var(--form-gap-x);
}

form label,
.input-wrapper label {
    display: block;
    font-size: var(--label-font-size);
    font-weight: var(--label-font-weight);
    padding-left: 16px;
    margin-bottom: 8px;
    color: var(--label-color);
}

form label .optional {
    display: none;
}

input[type="text"],
input[type="email"], 
input[type="password"],
input[type="tel"],
input[type="search"],
input[type="url"],
input[type="number"],
textarea,
select {
    min-height: var(--input-height);
    border-radius: var(--input-border-radius);
    background-color: var(--input-bg-clr);
    width: 100%;
    font-weight: var(--input-font-weight);
    border: var(--input-border-width) solid var(--input-border-clr);
    padding: var(--input-padding-y) var(--input-padding-x);
    font-size: var(--input-font-size);
    color: var(--input-text-clr);
}

input[type="text"]::placeholder,
input[type="email"]::placeholder, 
input[type="password"]::placeholder,
input[type="tel"]::placeholder,
input[type="search"]::placeholder,
input[type="url"]::placeholder,
input[type="number"]::placeholder,
textarea::placeholder {
    color:var(--input-placeholder-clr);
    font-weight: var(--input-font-weight);
    font-size: var(--input-font-size);
    text-transform: capitalize;
}

input[type="text"]:focus,
input[type="email"]:focus, 
input[type="password"]:focus,
input[type="tel"]:focus,
input[type="search"]:focus,
input[type="url"]:focus,
input[type="number"]:focus,
textarea:focus {
    outline: none;
    border-color: var(--input-focus-border-clr);
    background-color: var(--input-focus-bg-clr);
}

input[type="text"].invalid,
input[type="email"].invalid,
input[type="password"].invalid,
input[type="tel"].invalid,
input[type="url"].invalid,
input[type="number"].invalid,
textarea.invalid {
    border-color: var(--input-error-border-clr);
}

textarea {
    resize: none;
}

textarea::-webkit-scrollbar {
    width: 6px;
}
  
textarea::-webkit-scrollbar-track {
    background: transparent;
}   
  
textarea::-webkit-scrollbar-thumb {
    background: var(--clr-blue);
    /* background: linear-gradient(to bottom, transparent 10px, var(--clr-blue) 10px, var(--clr-blue) calc(100% - 10px), transparent 100%); */
    border-radius: 50px;
    overflow: hidden;
}

.submit-wrapper {
    text-align: center;
}

.form-section + .form-section {
    margin-top: 0;
}

@media (min-width: 992px) {
    .form-section + .form-section {
        margin-top: 2.5rem;
    }    
}

.form-title {
    margin-bottom: 2.5rem;
    font-size: 2.5rem;
}

.form-section__title {
    margin-bottom: 1rem;
}

.form-section__inputs {
    display: grid;
    gap: var(--form-gap-y) var(--form-gap-x);
}

.form-cancel {
    display: inline-block;
    margin-top: 24px;
    font-size: 15px;
    font-weight: 800;
    color: var(--clr-blue);
    text-transform: capitalize;
}

.input-error-message {
    font-size: var(--label-font-size);
    color: var(--input-error-clr);
    font-weight: var(--label-font-weight);
    margin: 8px 0 0;
    padding-left: var(--input-padding-x);
}

.input-notice {
    display: block;
    font-size: var(--label-font-size);
    color: var(--input-placeholder-clr);
    font-weight: var(--label-font-weight);
    margin: 8px 0 0;
    padding-left: var(--input-padding-x);
}

.ct-checkbox-wrapper {
    --checkbox-size: 20px;
    --checkbox-bg-clr: var(--clr-light-gray);
    --checkbox-border-radius: 4px;
    --checkbox-hover-bg-clr: #ccc;
    --checkbox-active-bg-clr: var(--clr-blue);
    --checkbox-checkmark-clr: var(--clr-white);
    --checkbox-checkmark-width: 2px;
    --checkbox-label-font-size: 12px;

    display: flex;
    justify-content: start;
    align-items: start;
    position: relative;
    padding-left: calc(var(--checkbox-size) + 10px);
    cursor: pointer;
    user-select: none;
    margin-top: 1.25rem;
}
  
.ct-checkbox-wrapper__input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}
  
.ct-checkbox-wrapper__checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: var(--checkbox-size);
    width: var(--checkbox-size);
    background-color: var(--checkbox-bg-clr);
    border-radius: var(--checkbox-border-radius);
}
  
.ct-checkbox-wrapper:hover input ~ .ct-checkbox-wrapper__checkmark {
    background-color: var(--checkbox-hover-bg-clr);
}
  
.ct-checkbox-wrapper input:checked ~ .ct-checkbox-wrapper__checkmark {
    background-color: var(--checkbox-active-bg-clr);
}

.ct-checkbox-wrapper__checkmark:after {
    content: "";
    position: absolute;
    display: none;
}
  
.ct-checkbox-wrapper input:checked ~ .ct-checkbox-wrapper__checkmark:after {
    display: block;
}
  
.ct-checkbox-wrapper__checkmark:after {
    --width: calc(var(--checkbox-size) / 4);
    --height: calc(var(--checkbox-size) / 2); 

    left: calc(50% - calc(var(--width) - calc(var(--width) / 4)));
    top: calc(50% - calc(var(--height) / 8));
    width: var(--width);
    height: var(--height);
    border: solid var(--checkbox-checkmark-clr);
    border-width: 0 var(--checkbox-checkmark-width) var(--checkbox-checkmark-width) 0;
    transform: rotate(45deg) translate(-50%, -50%);
}

.ct-checkbox-wrapper__label {
    --fs-offset: calc(var(--checkbox-label-font-size) * 0.6);
    margin-top: calc(calc(var(--checkbox-size) / 2) - var(--fs-offset));
    font-size: var(--checkbox-label-font-size);
}

.ct-range-slider + .ct-range-slider {
    margin-top: 1rem;
}

.ct-range-slider__labels {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 20px;
    margin-bottom: 8px;
}

.ct-range-slider__labels span {
    font-size: 1rem;
    font-weight: 800;
}

.ct-range-slider__input {
    position: relative;
    isolation: isolate;
}

.ct-range-slider__input input[type="range"] {
    width: 100%;
    appearance: none;
    background: transparent;
    cursor: pointer;
}

.ct-range-slider__input input[type="range"]:disabled {
    cursor: initial;
}

.ct-range-slider__input input[type="range"]::-webkit-slider-thumb {
    appearance: none;
}
  
.ct-range-slider__input input[type="range"]:focus {
    outline: none;
}
  
.ct-range-slider__input input[type="range"]::-ms-track {
    width: 100%;
    background: transparent; 
    border-color: transparent;
    color: transparent;
}

.ct-range-slider__input input[type="range"]::-webkit-slider-thumb {
    appearance: none;
    width: 20px;
    height: 20px;
    background: var(--clr-blue);
    border-radius: 50%;
    margin-top: 6px;
    box-shadow: inset 0 0 0 6px var(--clr-blue), inset 0 0 0 8px #fff;
}

.ct-range-slider__input input[type="range"]:disabled::-webkit-slider-thumb {
    width: 10px;
    height: 10px;
    margin-top: 0;
}

.ct-range-slider__input .ct-range-slider__track,
.ct-range-slider__input .ct-range-slider__dots {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    height: 6px;
    pointer-events: none;
}

.ct-range-slider__input .ct-range-slider__track {
    z-index: -2;
    background-color: var(--clr-light-gray);
    border-radius: 200px;
}

.ct-range-slider__input .ct-range-slider__dots {
    z-index: -1;
    pointer-events: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.ct-range-slider__input .ct-range-slider__dot {
    display: inline-block;
    height: 2px;
    width: 2px;
    border-radius: 50%;
    background-color: var(--clr-black);
    margin-left: 4px;
}

.ct-url-description-repeater {
    display: grid;
    gap: 16px;
    grid-template-columns: 1fr auto;
    align-items: start;
}

.ct-url-description-repeater .input-first {
    grid-column: 1 / -1;
}

.ct-url-description-repeater .input-last {
    grid-column: 1;
}

.ct-url-description-repeater .btn--add {
    grid-column: 2;
}

.ct-url-description-repeater__results {
    grid-column: 1 / -1;
}

.ct-color-select-repeater {
    display: grid;
    gap: 16px;
    grid-template-columns: 48px 1fr auto;
}

.ct-color-select-repeater .color-input-wrapper {
    position: relative;
}

.ct-color-select-repeater .color-input-wrapper svg,
.ct-color-select-repeater .color-input-wrapper input,
.ct-color-select-repeater .color-input-wrapper .selected-color {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: 48px;
    width: 48px;
    border-radius: 50%;
}

.ct-color-select-repeater .color-input-wrapper .selected-color {
    height: 28px;
    width: 28px;
}

.ct-color-select-repeater .color-input-wrapper svg,
.ct-color-select-repeater .color-input-wrapper .selected-color {
    pointer-events: none;
}

.ct-color-select-repeater .color-input-wrapper input {
    opacity: 0;
}

.ct-color-select-repeater .color-input-wrapper .selected-color {
    display: none;
}

.ct-color-select-repeater .color-input-wrapper .selected-color.show {
    display: inline-block;
}

.ct-color-select-repeater .input-error-message {
    grid-column: 1 / -1;
}

.ct-color-select-repeater__results .repeater-section-link,
.ct-url-description-repeater__results .repeater-section-link {
    margin-top: 1.5rem;
}

.ct-color-select-repeater__results .repeater-section-link + .repeater-section-link,
.ct-url-description-repeater__results .repeater-section-link + .repeater-section-link {
    margin-top: 1rem;
}

.ct-url-description-repeater__results .repeater-section-link p:last-child {
    margin-bottom: 0;
}

.ct-color-select-repeater__results .selected-color-wrapper {
    display: grid;
    align-items: center;
    grid-template-columns: 48px 1fr 16px;
    gap: 8px;
}

.ct-color-select-repeater__results .selected-color-circle {
    border: 2px solid rgba(0, 0, 0, 0.1);
    height: 48px;
    width: 48px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
}

.ct-color-select-repeater__results .selected-color {
    height: 28px;
    width: 28px;
    border-radius: 50%;
}

.ct-color-select-repeater__results .selected-color-wrapper span {
    line-height: 1;
}

.ct-color-select-repeater__results .selected-color-wrapper button {
    margin-left: 0;
}

/* Star Rating */
.ct-stars {
    --star-spacing: 8px;
    --star-size: 32px;
    --star-initial-fill-color: transparent;
    --star-initial-stroke-color: var(--clr-white);
    --star-hover-fill-color: var(--clr-blue);
    --star-hover-stroke-color: var(--clr-blue);
    --star-active-fill-color: var(--clr-white);
    --star-active-stroke-color: var(--clr-white);

    display: inline-block;
    height: var(--star-size) !important;
    margin-left: calc(var(--star-spacing) * -1);
}

.ct-star {
    display: inline-block;
    cursor: pointer;
    height: var(--star-size) !important;
    width: var(--star-size) !important;
}

.ct-star .ct-star-svg {
    padding-left: var(--star-spacing);
    width: 100%;
    height: 100%;
}

.ct-star-svg path {
    stroke-linejoin: round;
}

.ct-star-svg polygon[class^="svg-empty"] {
    fill: var(--star-initial-fill-color) !important;
}

.ct-star-svg polygon[class^="svg-empty"]:first-of-type {
    stroke: var(--star-initial-stroke-color) !important;
}

@media (hover: hover) {
    .ct-star-svg polygon[class^="svg-hovered"],
    .ct-stars:hover .ct-star polygon[class^="svg-hovered"] {
        stroke: var(--star-hover-stroke-color) !important;
        fill: var(--star-hover-fill-color) !important;
    }
    
    .ct-stars:hover .ct-star polygon[class^="svg-empty"]:first-of-type {
        stroke: var(--star-hover-stroke-color) !important;
    }
}

.ct-stars .ct-star polygon[class^="svg-rated"] {
    stroke: var(--star-active-stroke-color) !important;
    fill: var(--star-active-fill-color) !important;
}

/* Custom file upload dropbox */
.ct-file-dropbox { }

.ct-file-dropbox__input-wrapper {
    --border-width: 2px;
    --border-color: rgba(0, 0, 0, 0.1);
    --bg-color: transparent;

    position: relative;
    isolation: isolate;
    min-height: 140px;
    width: 100%;
    border: var(--border-width) dashed rgba(0, 0, 0, 0.1);
    border-radius: 12px;
    background-color: var(--bg-color);
    display: grid;
    grid-template-rows: 1fr;
    grid-template-columns: 1fr;
    place-items: center;
    overflow: hidden;
    transition: all 300ms ease;
}

.ct-file-dropbox__input-wrapper.hovered {
    --border-color: var(--clr-blue);
    --bg-color: var(--clr-blue);
    color: var(--clr-white);
}

.ct-file-dropbox__input-wrapper.success {
    --border-color: var(--clr-success);
    --bg-color: var(--clr-success);
    color: var(--clr-black);
}

.ct-file-dropbox__input-wrapper.error {
    --border-color: var(--clr-red);
    --bg-color: var(--clr-red);
    color: var(--clr-white);
}

.ct-file-dropbox__input {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    opacity: 0;
}

.ct-file-dropbox__input.disabled {
    pointer-events: none;
}

.ct-file-dropbox__label,
.ct-file-dropbox__errors {
    grid-column: 1;
    grid-row: 1;    
    margin: 0;
    padding: 1rem;
}

.ct-file-dropbox__errors {
    position: absolute;
    display: grid;
    place-items: center;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: var(--clr-red);
    z-index: 2;
    padding: 1rem;
    opacity: 0;
    pointer-events: none;
    transition: all 300ms ease;
}

.ct-file-dropbox__errors.success {
    background-color: var(--clr-success);
}

.ct-file-dropbox__errors.show {
    opacity: 1;
}

.ct-file-dropbox__errors p {
    font-size: 1rem;
    font-weight: 800;
    margin: 0;
    color: var(--clr-white);
}

.ct-file-dropbox__errors.success p {
    color: var(--clr-black);
}

.ct-file-dropbox__input-below {
    margin-top: 16px;
    display: flex;
    align-items: center;
    gap: 8px 12px;
}

.ct-file-dropbox__input-below span {
    font-size: 13px;
    font-weight: 800;
}

.ct-file-dropbox__notice {
    font-size: var(--label-font-size);
    color: var(--input-placeholder-clr);
    font-weight: var(--label-font-weight);
    margin: 8px 0 0;
}

.ct-file-dropbox__preview {
    display: none;
    height: 100%;
    width: 100%;
    background-color: var(--clr-white);
    grid-column: 1;
    grid-row: 1;
    grid-template-columns: 1fr;
    align-items: center;
    gap: 28px;
    margin-top: 1rem;
}

.ct-file-dropbox__preview:not(.ct-file-dropbox__preview--image) .icon-file {
    position: relative;
    top: -4px;
}

.ct-file-dropbox__preview--image {
    grid-template-columns: 1fr 1fr 1fr;
    align-items: start;
}

.ct-file-dropbox__preview:not(.ct-file-dropbox__preview--image) .preview {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ct-file-dropbox__preview.show {
    display: grid;
}

.ct-file-dropbox__preview .preview {
    position: relative;
}

.ct-file-dropbox__preview .preview--image img {
    width: 100%;
    aspect-ratio: 112 / 64;
    border-radius: 4px;
    object-fit: cover;
}

.ct-file-dropbox__preview .preview__delete,
.ct-file-dropbox__preview .preview__delete-existing {
    height: 24px;
    width: 24px;
    border-radius: 50%;
    background-color: var(--clr-black);
    background-image: url(../svg/close.svg);
    border: none;
    outline: none;
    background-size: 12px 12px;
    background-repeat: no-repeat;
    background-position: center;
    cursor: pointer;
}

.ct-file-dropbox__preview--image .preview__delete,
.ct-file-dropbox__preview--image .preview__delete-existing {
    position: absolute;
    top: -10px;
    right: -10px;
    z-index: 2;
}

.ct-file-dropbox__preview .preview__delete:hover,
.ct-file-dropbox__preview .preview__delete-existing:hover {
    background-color: var(--clr-red);
}

.ct-file-dropbox__preview .file-name {
    display: block;
    margin-top: 0.25rem;
    font-size: 13px;
    font-weight: 800;
}

/* Select 2 dropdown styling */
.select2-container {
    width: 100% !important;
}

.select2-container .selection .select2-selection--single {
    min-height: var(--input-height);
    border-radius: var(--input-border-radius) !important;
    background-color: var(--input-bg-clr);
    width: 100%;
    font-weight: var(--input-font-weight);
    border: var(--input-border-width) solid var(--input-border-clr);
    padding: var(--input-padding-y) var(--input-padding-x);
    font-size: var(--input-font-size);
    color: var(--input-text-clr);
}

.select2-container .select2-selection--single .select2-selection__rendered {
    padding-right: 32px !important;
}

.select2-container .selection .select2-selection--single .select2-selection__arrow {
    top: 50%;
    transform: translateY(-50%);
    right: 10px;
    background-image: url(../svg/chevron-down.svg);
    background-repeat: no-repeat;
    background-position: center center;
}

.select2-container.select2-container--open .selection .select2-selection--single .select2-selection__arrow {
    transform: translateY(-50%) rotate(180deg);
}

.select2-container .selection .select2-selection--single .select2-selection__arrow b {
    display: none;
}

.select2-container .select2-dropdown {
    background-color: var(--clr-white);
    border-radius: 12px !important;
    overflow: hidden;
    box-shadow: 0px 20px 40px rgba(0, 0, 0, 0.15);
    margin-top: 10px !important;
    padding: 0;
    border: none !important;
}

.select2-container .select2-dropdown .select2-results {
    padding: 8px;
}

.select2-container .select2-dropdown .select2-results__options {
    padding: 12px 26px 12px 16px;
}

.select2-container .select2-dropdown .select2-results__option {
    border-bottom: 2px solid rgba(0, 0, 0, 0.1) !important;
    padding: 12px 0 !important;
}

.select2-container .select2-dropdown .select2-results__option[aria-disabled="true"] {
    display: none !important;
}

.select2-container .select2-results__option[data-selected="true"] {
    background: none !important;
}

.select2-container .select2-results__option[aria-selected="true"], 
.select2-container .select2-results__option[data-selected="true"],
.select2-container .select2-results__option--highlighted[aria-selected="true"], 
.select2-container .select2-results__option--highlighted[data-selected="true"],
.select2-container .select2-results__option--highlighted {
    position: relative;
    isolation: isolate;
    background: none !important;
    color: var(--clr-white) !important;
}

.select2-container .select2-results__option[aria-selected="true"]::before, 
.select2-container .select2-results__option[data-selected="true"]::before,
.select2-container .select2-results__option--highlighted[aria-selected="true"]::before, 
.select2-container .select2-results__option--highlighted[data-selected="true"]::before,
.select2-container .select2-results__option--highlighted::before {
    content: "";
    position: absolute;
    left: -14px;
    top: 0;
    z-index: -1;
    width: calc(100% + 30px);
    height: 100%;
    background-color: var(--clr-red);
    color: var(--clr-white);
    border-radius: 8px;
}

.select2-container .select2-results__option--highlighted::before {
    background-color: var(--clr-blue);
}

.select2-container--default .select2-results>.select2-results__options::-webkit-scrollbar {
    width: 6px;
}
  
.select2-container--default .select2-results>.select2-results__options::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.1);
    border-radius: 100px;
    overflow: hidden;
}
  
.select2-container--default .select2-results>.select2-results__options::-webkit-scrollbar-thumb,
.select2-container--default .select2-results>.select2-results__options::-webkit-scrollbar-thumb:hover {
    background: var(--clr-black);
    border-radius: 100px;
}

.select2-selection__clear {
    display: none !important;
}

/* CF7 Global */
.wpcf7-not-valid-tip {
    color: var(--input-error-clr, --clr-red) !important;
    font-size: 11px;
    font-weight: 700;
    margin-top: 6px;
    padding-left: var(--form-gap-x);
}

.wpcf7-spinner {
    display: none !important;
}

.wpcf7 form .wpcf7-response-output {
    border-color: var(--clr-blue);
    padding: 0.5rem 1rem;
    display: block;
    font-weight: 500;
    font-size: 15px;
    color: var(--clr-black);
    background-color: transparent;
}

.wpcf7 form.invalid .wpcf7-response-output {
    border-color: var(--clr-red);   
}

/*
* Global typography
*/
body {
    font-family: var(--ff-base);
    font-size: var(--font-size-base);
    line-height: 1.5;
    font-weight: 500;
}

p {
    margin-bottom: 1rem;
}

strong {
    font-weight: 800;
}

a {
    text-decoration: none;
    transition: all 250ms ease;
}

a:hover {
    text-decoration: underline;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--ff-headings);
    font-weight: 400;
}

h1,
.fs-h1 {
    font-size: var(--font-size-h1-mobile);
    line-height: 1.125;
    margin-bottom: 1.25rem;
}

@media (min-width: 768px) {
    h1,
    .fs-h1 {
        font-size: var(--font-size-h1-tablet);
    }   
}

@media (min-width: 1200px) {
    h1,
    .fs-h1 {
        font-size: var(--font-size-h1);
    }   
}

h2,
.fs-h2 {
    font-size: var(--font-size-h2-mobile);
    line-height: 1.4;
    margin-bottom: 0.75rem;
}

@media (min-width: 768px) {
    h2,
    .fs-h2 {
        font-size: var(--font-size-h2-tablet);
    }   
}

@media (min-width: 1200px) {
    h2,
    .fs-h2 {
        font-size: var(--font-size-h2);
    }   
}

h3,
.fs-h3 {
    font-size: var(--font-size-h3-mobile);
    line-height: 1.6;
    margin-bottom: 1rem;
}

@media (min-width: 768px) {
    h3,
    .fs-h3 {
        font-size: var(--font-size-h3-tablet);
    }   
}

@media (min-width: 1200px) {
    h3,
    .fs-h3 {
        font-size: var(--font-size-h3);
    }   
}

h4 {
    font-size: var(--font-size-h4-mobile);
    line-height: 1.5;
    margin-bottom: 1rem;
}

@media (min-width: 768px) {
    h4 {
        font-size: var(--font-size-h4-tablet);
    }   
}

@media (min-width: 1200px) {
    h4 {
        font-size: var(--font-size-h4);
    }   
}

h5 {
    font-size: var(--font-size-h5-mobile);
    line-height: 1.5;
    margin-bottom: 1rem;
}

@media (min-width: 768px) {
    h5 {
        font-size: var(--font-size-h5-tablet);
    }   
}

@media (min-width: 1200px) {
    h5 {
        font-size: var(--font-size-h5);
    }   
}

h6 {
    font-size: var(--font-size-h6-mobile);
    line-height: 1.5;
    margin-bottom: 1rem;
}

@media (min-width: 768px) {
    h6 {
        font-size: var(--font-size-h6-tablet);
    }   
}

@media (min-width: 1200px) {
    h6 {
        font-size: var(--font-size-h6);
    }   
}

.pretitle {
    color: var(--clr-red);
    text-transform: uppercase;
    font-size: 15px;
    font-family: var(--ff-base) !important;
    font-weight: 800;
    margin: 0 0 0.75rem;
}

/*
* Components
*/
.btn,
.wp-block-button > .wp-block-button__link,
.wp-block-button.is-style-outline > .wp-block-button__link, 
.wp-block-button .wp-block-button__link.is-style-outline,
.post-password-form input[type="submit"] {
    --btn-text-color: var(--fc-light);
    --btn-bg-color: var(--clr-blue);
    --btn-border-color: var(--clr-blue);
    --btn-text-color-hover: var(--fc-light);
    --btn-bg-color-hover: var(--clr-red);
    --btn-border-color-hover: var(--clr-red);
    --btn-border-radius: 28px;
    --btn-border-width: 0px;
    --btn-font-size: 0.938rem;

    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 1.125rem 2.5rem 0.875rem;
    line-height: 1;
    border-radius: var(--btn-border-radius);
    font-size: var(--btn-font-size);
    font-weight: 800;
    transition: all var(--transition-default) ease;
    text-align: center;
    background-color: var(--btn-bg-color);
    color: var(--btn-text-color);
    border: var(--btn-border-width) solid var(--btn-border-color);
    cursor: pointer;
    text-decoration: none;
    min-height: 56px;
}

.btn:hover,
.btn:focus,
.wp-element-button:hover,
.wp-element-button:focus,
.wp-block-button.is-style-outline > .wp-block-button__link:hover, 
.wp-block-button.is-style-outline > .wp-block-button__link:focus, 
.wp-block-button .wp-block-button__link.is-style-outline:hover,
.wp-block-button .wp-block-button__link.is-style-outline:focus,
.post-password-form input[type="submit"]:hover, 
.post-password-form input[type="submit"]:focus {
    text-decoration: none;
    background-color: var(--btn-bg-color-hover);
    color: var(--btn-text-color-hover);
    border-color: var(--btn-border-color-hover);
}

@media screen and (min-width: 768px )  {
    .wp-element-button {
        padding: 1.125rem 2.5rem 0.875rem;
    }
}

.btn.btn--sm {
    min-height: 48px;
}

.btn.btn--xs {
    min-height: 28px;
    padding: 0.6rem 1rem 0.5rem;
    font-size: 12px;
}

.btn.btn--blue {
    --btn-text-color: var(--fc-light);
    --btn-bg-color: var(--clr-blue);
    --btn-text-color-hover: var(--fc-light);
    --btn-bg-color-hover: var(--clr-red);
}

.btn.btn--red {
    --btn-text-color: var(--fc-light);
    --btn-bg-color: var(--clr-red);
    --btn-border-color: var(--clr-red);
    --btn-text-color-hover: var(--fc-light);
    --btn-bg-color-hover: var(--clr-blue);
    --btn-border-color-hover: var(--clr-blue);
    --btn-border-width: 2px;
}

.btn.btn--black {
    --btn-text-color: var(--fc-light);
    --btn-bg-color: var(--clr-black);
    --btn-border-color: var(--clr-black);
    --btn-text-color-hover: var(--fc-base);
    --btn-bg-color-hover: transparent;
    --btn-border-color-hover: var(--clr-black);
    --btn-border-width: 2px;
}

.btn.btn--success {
    --btn-text-color: var(--clr-black);
    --btn-bg-color: var(--clr-success);
    --btn-border-color: var(--clr-success);
    --btn-text-color-hover: var(--fc-light);
    --btn-bg-color-hover: transparent;
    --btn-border-color-hover: var(--clr-success);
    --btn-border-width: 2px;
}

.btn.btn--blue-outline,
.wp-block-button.is-style-outline > .wp-block-button__link, 
.wp-block-button .wp-block-button__link.is-style-outline {
    --btn-text-color: var(--clr-blue);
    --btn-bg-color: transparent;
    --btn-border-color: var(--clr-blue);
    --btn-text-color-hover: var(--fc-light);
    --btn-bg-color-hover: var(--clr-blue);
    --btn-border-color-hover: var(--clr-blue);
    --btn-border-width: 2px;
}

.wp-block-button.is-style-outline > .wp-block-button__link, 
.wp-block-button .wp-block-button__link.is-style-outline {
    color: var(--clr-blue) !important;
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover, 
.wp-block-button.is-style-outline > .wp-block-button__link:focus, 
.wp-block-button .wp-block-button__link.is-style-outline:hover,
.wp-block-button .wp-block-button__link.is-style-outline:focus {
    color: var(--fc-light) !important;
}

.btn.btn--red-outline {
    --btn-text-color: var(--clr-red);
    --btn-bg-color: transparent;
    --btn-border-color: var(--clr-red);
    --btn-text-color-hover: var(--fc-light);
    --btn-bg-color-hover: var(--clr-red);
    --btn-border-color-hover: var(--clr-red);
    --btn-border-width: 2px;
}

.btn.btn--block {
    width: 100%;
}

.btn.btn--arrow {
    font-size: 0;
    min-height: 48px;
    min-width: 88px;
    padding: 10px 12px;

    --btn-text-color: var(--clr-red);
    --btn-bg-color: transparent;
    --btn-border-color: var(--clr-blue);
    --btn-text-color-hover: var(--fc-light);
    --btn-bg-color-hover: var(--clr-red);
    --btn-border-color-hover: var(--clr-red);
    --btn-border-width: 2px;
}

.btn.btn--arrow::after {
    content: "";
    height: 24px;
    width: 24px;
    display: inline-block;
    -webkit-mask-image: url(../svg/short-arrow-right.svg);
    mask-image: url(../svg/short-arrow-right.svg);
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-size: 100% 100%;
    -webkit-mask-size: 100% 100%;
    mask-position: center;
    -webkit-mask-position: center;
    background-color: var(--btn-text-color);
    transition: all 250ms ease;
}

.btn.btn--arrow:hover::after,
.btn.btn--arrow:focus::after {
    background-color: var(--btn-text-color-hover);
}

.btn.btn--arrow.btn--arrow-blue {
    --btn-text-color: var(--clr-white);
    --btn-bg-color: var(--clr-blue);
    --btn-text-color-hover: var(--fc-light);
    --btn-bg-color-hover: var(--clr-red);
    --btn-border-width: 0;
}

.btn.btn--add {
    padding: 1rem 1.5rem;
    min-height: 48px;
}

.btn.btn--add svg {
    height: 16px;
    width: 16px;
}

.btn.btn--round {
    --btn-size: 24px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    padding: 0;
    height: var(--btn-size);
    width: var(--btn-size);
    min-height: var(--btn-size);
}

.btn.btn--round svg {
    height: calc(var(--btn-size) / 2);
    width: calc(var(--btn-size) / 2);
}

.btn.btn--delete {
    --btn-text-color-hover: var(--fc-light);
    --btn-bg-color-hover: var(--clr-red);

    border: none;
    box-shadow: none;
    outline: none;
    margin-left: 8px;
}

/* Loading Spinner */
.ct-spinner {
    --spinner-color: var(--clr-red);
    --spinner-size: 80px;

    display: inline-block;
    position: relative;
    width: var(--spinner-size);
    height: var(--spinner-size);
}

.ct-spinner div {
    animation: spinning 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
    transform-origin: 40px 40px;
}

.ct-spinner div:after {
    content: " ";
    display: block;
    position: absolute;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--spinner-color);
    margin: -4px 0 0 -4px;
}

.ct-spinner div:nth-child(1) {
    animation-delay: -0.036s;
}

.ct-spinner div:nth-child(1):after {
    top: 63px;
    left: 63px;
}

.ct-spinner div:nth-child(2) {
    animation-delay: -0.072s;
}

.ct-spinner div:nth-child(2):after {
    top: 68px;
    left: 56px;
}

.ct-spinner div:nth-child(3) {
    animation-delay: -0.108s;
}

.ct-spinner div:nth-child(3):after {
    top: 71px;
    left: 48px;
}

.ct-spinner div:nth-child(4) {
    animation-delay: -0.144s;
}

.ct-spinner div:nth-child(4):after {
    top: 72px;
    left: 40px;
}

.ct-spinner div:nth-child(5) {
    animation-delay: -0.18s;
}

.ct-spinner div:nth-child(5):after {
    top: 71px;
    left: 32px;
}

.ct-spinner div:nth-child(6) {
    animation-delay: -0.216s;
}

.ct-spinner div:nth-child(6):after {
    top: 68px;
    left: 24px;
}

.ct-spinner div:nth-child(7) {
    animation-delay: -0.252s;
}

.ct-spinner div:nth-child(7):after {
    top: 63px;
    left: 17px;
}

.ct-spinner div:nth-child(8) {
    animation-delay: -0.288s;
}

.ct-spinner div:nth-child(8):after {
    top: 56px;
    left: 12px;
}

@keyframes spinning {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}
  

/* Modal */
.ct-custom-modal {
	position: fixed;
	z-index: -1;
	left: 0;
	top: 0;
	height: 100vh;
	width: 100%;
	display: block;
	pointer-events: none;
	visibility: hidden;
	opacity: 0;
	transition: opacity 350ms ease;
}

.ct-custom-modal.show {
	pointer-events: auto;
    visibility: visible;
    opacity: 1;
    z-index: 9999;
}

.ct-custom-modal.show .ct-custom-modal__box {
    transform: translateY(0);
    opacity: 1;
    transition: transform 350ms ease, opacity 350ms ease;
}

.ct-custom-modal__backdrop {
    background: rgba(0, 0, 0, 0.9);
    position: absolute;
    top: 0;
    right: 0;
    z-index: 0;
    height: 100%;
    width: 100%;
}

.ct-custom-modal__close {
    position: absolute;
    top: 20px;
    right: 30px;
    background: none;
    border: none;
    box-shadow: none;
    padding: 0;
    height: 40px;
    width: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.ct-custom-modal__close svg {
    height: 23px;
    width: 23px;
}

.ct-custom-modal__dialog {
	transform: translate(0, 0);
    position: relative;
    z-index: 2;
    overflow-x: hidden;
    overflow-y: auto;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 1rem;
    padding-right: 1rem;
}

.ct-custom-modal__dialog::-webkit-scrollbar {
    width: 0;
}

.ct-custom-modal__inner {
    margin: auto;
    max-width: calc(100% - 2rem);
    width: 100%;
}

@media screen and (min-width: 640px) {
    .ct-custom-modal__inner {
        max-width: 600px;
    }   
}

.ct-custom-modal__box {
    position: relative;
    width: 100%;
    min-height: 30vh;
    background-color: var(--clr-white);
    border-radius: 12px;
    overflow: hidden;
    margin: 1rem 0;
    padding: 4rem 1.25rem 1.5rem;
    opacity: 0;
    transform: translateY(-20px);
}

@media screen and (min-width: 768px) {
    .ct-custom-modal__box {
        padding: 56px 50px 80px;
        margin: 5rem 0;    
    }   
}

.ct-custom-modal__box .btn--close-modal-cross {
    position: absolute;
    right: 20px;
    top: 20px;
    background: none;
    border: none;
    color: var(--clr-black);
    opacity: 0.5;
    cursor: pointer;
    padding: 0.5rem;
    transition: opacity 250ms ease;
}

.ct-custom-modal__box .btn--close-modal-cross:hover {
    opacity: 1;
}

.ct-custom-modal__main-text {
    text-align: center;
    margin-top: 1.5rem;
}

.ct-custom-modal__content {
    max-width: 340px;
    width: 100%;
    margin: 0 auto;
}

.ct-custom-modal__header {
    position: relative;
}

.ct-custom-modal__header h4,
.ct-custom-modal__main-panel h4 {
    font-size: var(--font-size-h2);
    color: var(--clr-blue);
    text-align: center;
    line-height: 1.15;
}

.ct-custom-modal__main {
    padding: 2rem 0;
}

.ct-custom-modal__main-panel {
    display: none;
}

.ct-custom-modal__main-panel[data-active="true"] {
    display: block;
}

.ct-custom-modal__main-panel.success {
    text-align: center;
}

.ct-custom-modal__main-panel.success svg {
    height: 60px;
    width: 60px;
    color: var(--clr-success);
    margin-bottom: 0.75rem;
}

.ct-custom-modal__main > p {
    text-align: center;
}

.ct-custom-modal__footer {
    text-align: center;
    font-size: 11px;
    color: rgba(0, 0, 0, 0.4);
    font-weight: 500;
}

.ct-custom-modal__footer a {
    font-weight: 800;
    color: var(--clr-blue);
}

.ct-custom-modal__form .submit-wrapper .btn,
.ct-custom-modal__main .submit-wrapper .btn {
    display: flex;
    width: 100%;
}

/* Image Lightbox */
.fslightbox-container .fslightbox-download-link {
    position: absolute;
    top: 0;
    right: 90px;
    z-index: 3;
    height: 45px;
    width: 45px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(35,35,35,.65);
    color: var(--clr-white);
}

.fslightbox-container .fslightbox-download-link svg {
    height: 16px;
    width: auto;
}

/* Pagination */
.ct-archive-pagination {
    margin-top: 4rem;
}

.ct-archive-pagination__list,
.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.pagination {
    margin-top: 2rem;
}

.pagination li:only-child {
    display: none;
}

.pagination li.disabled {
    pointer-events: none;
}

.ct-archive-pagination__item a,
.ct-archive-pagination__item span,
.pagination li a {
    color: var(--clr-blue);
    font-size: 16px;
    font-weight: 800;
}

.ct-archive-pagination__item.active a,
.ct-archive-pagination__item.active span,
.pagination li.active a {
    color: var(--clr-red);
}

.ct-archive-pagination__item a.next,
.ct-archive-pagination__item a.prev {
    background-image: url(../svg/chevron-right.svg);
    display: inline-block;
    height: 12px;
    width: 8px;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

.ct-archive-pagination__item a.prev {
    transform: rotate(180deg);
}

/* Slick Slider */
.slick-slide {
    margin: 0 15px;
}

.slick-list {
    margin: 0 -15px;
}

@media (min-width: 992px) {
    .slick-slide {
        margin: 0 40px;
    }
    
    .slick-list {
        margin: 0 -40px;
    }   
}

.slick-arrow {
    position: absolute;
    bottom: -24px;
    border: none;
    padding: 12px;
    background: none;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--clr-red);
}

@media (min-width: 992px) {
    .slick-arrow {
        bottom: unset;
        top: 50%;
        transform: translateY(-50%);
    }     
}

.slick-arrow:not(.slick-disabled) {
    cursor: pointer;
}

.slick-arrow.slick-prev {
    left: 0;
}

.slick-arrow.slick-next {
    right: 0;
}

@media (min-width: 992px) {
    .slick-arrow.slick-prev {
        left: -50px;
        transform: translate(-50%, -50%);
    }
    
    .slick-arrow.slick-next {
        right: -50px;
        transform: translate(50%, -50%);
    }     
}

.slick-arrow.slick-disabled {
    opacity: 0.5 !important;
}

.slick-dots {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin-top: 4rem;
}

.slick-dots li {
    position: relative;    
    display: inline-block;
    height: 6px;
    width: 6px;
}

.slick-dots button {
    position: absolute;
    background: none;
    font-size: 0;
    display: inline-block;
    height: 6px;
    width: 6px;
    background-color: var(--clr-red);
    border-radius: 50%;
    padding: 0;
    border: none;
}

.slick-dots li.slick-active {
    height: 12px;
    width: 12px;
}

.slick-dots li.slick-active button {
    border: 4px solid var(--clr-red);
    background-color: #fff;
    height: 12px;
    width: 12px;
}

.slick-dots > li:only-child {
    display: none;
}

/* Custom Tabs */
.ct-tabs-nav__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 12px 8px;
    margin-bottom: 3rem;
}

.ct-tabs-nav__link {
    display: inline-block;
    color: var(--clr-black);
    text-transform: uppercase;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.05em;
    padding: 12px 14px;
    line-height: 1;
}

.ct-tabs-nav__link:hover {
    text-decoration: none;
}

.ct-tabs-nav__link > span {
    position: relative;
    display: inline-block;
    margin-left: 1rem;
    opacity: 0.6;
    line-height: 1;
}

.ct-tabs-nav__link > span::before {
    content: "";
    position: absolute;
    left: -8px;
    top: 50%;
    transform: translate(-50%, -50%);
    display: inline-block;
    height: 2px;
    width: 2px;
    border-radius: 50%;
    background-color: var(--clr-black);
    opacity: 0.3;
}

.ct-tabs-nav__link.active {
    background-color: var(--clr-black);
    border-radius: 25px;
    color: var(--clr-white);
}

.ct-tabs-nav__link.active > span {
    opacity: 1;
    color: var(--clr-red);
}

.ct-tabs-nav__link.active > span::before {
    background-color: var(--clr-white);
    opacity: 0.4;
}

.ct-tabs-list__item {
    display: none;
}

.ct-tabs-list__item.active {
    display: block;
}

/*
* Header
*/
.site-header {
    z-index: 999;
    padding: 1.5rem 1.5rem 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0 3rem;
    pointer-events: none;
}

@media (min-width: 992px) {
    .site-header {
        position: sticky;
        top: 0;
        padding: 1.5rem 1rem 1rem;
    }     
}

.site-header__right {
    display: flex;
    flex-grow: 1;
    justify-content: flex-end;
    align-items: center;
}

@media (min-width: 992px) {
    .site-header__right {
        justify-content: space-between;
    }     
}

.site-header__brand {
    pointer-events: auto;
}

.site-header__brand:hover img,
.sidebar-brand:hover img {
    filter: invert(21%) sepia(100%) saturate(7414%) hue-rotate(359deg) brightness(94%) contrast(117%);
}

@media (min-width: 992px) {
    .site-header__brand {
        display: inline-block;
        padding: 1rem 1.5rem;
        border-radius: 50px;
        background-color: var(--clr-white);
    }    
}

.site-header__nav {
    display: none;
}

@media (min-width: 992px) {
    .site-header__nav {
        display: flex;
        justify-content: space-between;
        flex-grow: 1;
        align-items: center;
    }      
}

.site-header__nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: inline-flex;
    gap: 1.25rem 2.5rem;
    align-items: center;
}

.site-header__nav .main-menu {
    padding: 1.3rem 2rem;
    border-radius: 50px;
    background-color: var(--clr-white);
    pointer-events: auto;
}

.site-header__nav .site-header__secondary-menu {
    padding: 0.5rem 1.5rem;
    border-radius: 50px;
    background-color: var(--clr-white);
    pointer-events: auto;
}

.site-header__nav ul li a:not(.btn) {
    position: relative;
    text-decoration: none;
    color: var(--clr-blue);
    font-size: 0.875rem;
    font-weight: 800;
    line-height: 1;
    border-bottom: 2px solid transparent;
}

.site-header__nav ul li a:not(.btn)::after {
    content: "";
    position: absolute;
    bottom: -3px;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: var(--clr-red);
    transform: scaleX(0);
    transition: transform 150ms linear;
}

.site-header__nav .main-menu a:not(.btn) {
    filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
    text-transform: uppercase;
    font-weight: 800;
    transition: all var(--transition-default) linear;
}

.site-header__nav ul li.current-menu-item a:not(.btn) {
    color: var(--clr-black);
    filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0));
}

.site-header__nav ul li a:not(.btn):hover {
    color: var(--clr-red);
    filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0));
}

.site-header__nav ul li a:not(.btn):hover::after {
    transform: scaleX(1);
}

.site-header__secondary-menu .btn {
    --btn-bg-color-hover: var(--clr-red);
    --btn-border-color-hover: var(--clr-red);
}

.site-header__nav-mobile {
    display: none;
}

.mobile-menu-toggle {
    --size: 40px;
    --bg-color: var(--clr-blue);
    --bar-color: var(--clr-white);
    --bar-width-lg: 16px;
    --bar-width-sm: 10px;
    --bar-width-close: 10px;
    --bar-height: 3px;
    --bar-distance: 6px;

    display: inline-block;
    position: relative;
    height: var(--size);
    width: var(--size);
    border-radius: 50%;
    background-color: var(--bg-color);
    cursor: pointer;
}

@media (min-width: 992px) {
    .mobile-menu-toggle {
        display: none;
    }        
}

#mobile-menu-open {
    position: fixed;
    right: 24px;
    top: 32px;
    pointer-events: auto;
}

.mobile-menu-toggle span {
    position: absolute;
    top: 50%;
    left: calc(calc(var(--size) / 2) - calc(var(--bar-width-lg) / 2));
    transform: translateY(-50%);
    background-color: var(--bar-color);
    display: inline-block;
    height: var(--bar-height);
    width: var(--bar-width-lg);
}

.mobile-menu-toggle span:first-child {
    top: calc(50% - calc(var(--bar-distance) / 2));
}

.mobile-menu-toggle span:last-child {
    width: var(--bar-width-sm);
    top: calc(50% + calc(var(--bar-distance) / 2));
}

.mobile-menu-toggle.close {
    background-color: var(--clr-red);
}

.mobile-menu-toggle.close span {
    top: 50%;
    left: 50%;
    width: var(--bar-width-close);
}

.mobile-menu-toggle.close span {
    transform: translate(-50%, -50%) rotate(45deg);
}

.mobile-menu-toggle.close span:last-child {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.mobile-navigation-overlay {
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 0;
    left: 0;
    min-height: 100%;
    width: 100%;
    z-index: 1000;
    background-color: var(--clr-white);
    padding: 1.5rem 1.5rem 1rem;
    opacity: 0;
    pointer-events: none;
}

@media (min-width: 992px) {
    .mobile-navigation-overlay {
        display: none;
    }   
}

.mobile-navigation-overlay.active {
    opacity: 1;
    pointer-events: all;
}

.mobile-navigation-overlay__top-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 0 1rem;
}

.mobile-navigation-overlay__menu {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
}

.mobile-navigation-overlay__menu ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mobile-navigation-overlay__menu a:not(.btn) {
    position: relative;
    text-decoration: none;
    color: var(--clr-blue);
    font-size: 0.875rem;
    font-weight: 800;
    line-height: 1;
    border-bottom: 2px solid transparent;
}

.mobile-navigation-overlay__menu .main-menu a:not(.btn) {
    display: block;
    width: 100%;
    text-align: center;
    text-transform: uppercase;
    padding: 1.25rem 0;
}

.mobile-navigation-overlay__menu .main-menu li.current-menu-item a {
    color: var(--clr-black);
}

.mobile-navigation-overlay__menu .site-header__secondary-menu {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.mobile-navigation-overlay__menu .site-header__secondary-menu li:not(:last-child) {
    margin-bottom: 2rem;
}

/*
* Footer
*/
.site-footer {
    padding-bottom: 2rem;
}

@media (min-width: 768px) {
    .site-footer {
        padding-bottom: 0;
    } 
}

.site-footer__grid {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    justify-content: center;
}

.site-footer__brand {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    justify-content: center;
    margin: 0 -15px;
}

@media (min-width: 768px) {
    .site-footer__brand {
        margin: 0;
    }  
}

.site-footer__bottom {
    z-index: 2;
    grid-column: 1;
    grid-row: 1;
    align-self: flex-end;
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 40px;
}

@media (min-width: 768px) {
    .site-footer__bottom {
        flex-direction: row;
        margin-bottom: 50px;
    }   
}

.site-footer__nav .footer-menu {
    list-style: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    gap: 14px;
}

@media (min-width: 768px) {
    .site-footer__nav .footer-menu {
        flex-direction: row;
        gap: 40px;
    }   
}

.site-footer__copy,
.site-footer__nav .footer-menu li a {
    font-size: 13px;
    color:rgba(0, 0, 0, 0.4);
}

.site-footer__copy {
    font-weight: 500;
    line-height: 1;
    margin: 0;
}

.site-footer__nav .footer-menu li a {
    font-weight: 800;
    text-decoration: none;
}

.site-footer__nav .footer-menu li a:hover {
    text-decoration: underline;
}

/*
* Templates
*/
.page-entry-header,
.section-header {
    text-align: center;
    margin-bottom: 3rem;
}

@media (min-width: 768px) {
    .page-entry-header,
    .section-header {
        margin-bottom: 5rem;
    }  
}

.page-entry-header__pretitle,
.section-header__pretitle {
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    margin: 0 0 16px;
    font-family: var(--ff-base);
}

.page-entry-header__title,
.section-header__title {
    margin: 0;
}

.section-header__title {
    max-width: 880px;
    margin-left: auto;
    margin-right: auto;    
}

.page-entry-header__description,
.section-header__description {
    margin: 48px auto 0;
    max-width: 640px;
    font-weight: 500;
}

.page-entry-header__description a,
.section-header__description a {
    color: inherit;
    text-decoration: underline;
}

.page-entry-header__description a:hover,
.section-header__description a:hover {
    text-decoration: none;
}

.page-entry-header__description p:last-of-type,
.section-header__description p:last-of-type {
    margin-bottom: 0;
}

/*
* Blog
*/
.blog-entry__thumbnail {
    display: block;
    margin-bottom: 2rem;
    overflow: hidden;
    border-radius: 8px;
}

.blog-entry__thumbnail img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    transition: transform 400ms ease;
    border-radius: 8px;
}

.blog-entry__thumbnail:hover img {
    transform: scale(1.05);
}

.blog-entry__categories {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.blog-entry__categories li a {
    color: var(--clr-red);
    font-size: 15px;
    text-transform: uppercase;
    font-weight: 800;
}

.blog-entry__title-link {
    color: var(--clr-black);
    margin-top: 0.5rem;
    display: block;
}

.blog-entry__title {
    line-height: 1.4;
}

.blog-all-listing {
    display: grid;
    grid-template-columns: 1fr;
    gap: 80px 70px;
}

@media (min-width: 768px) {
    .blog-all-listing {
        grid-template-columns: repeat(2, 1fr);
    }   
}

@media (min-width: 992px) {
    .blog-all-listing {
        grid-template-columns: repeat(3, 1fr);
    }   
}

.blog-all-listing__header {
    grid-column: 1 / -1;
    text-align: center;
    padding-top: 2.5rem;
    border-top: 2px solid rgba(0, 0, 0, 0.1);
}

.blog-all-listing__header h2 {
    text-align: center;
    margin: 0;
}

.category .blog-all-listing__header {
    padding-top: 0;
    border: none;
}

.category .blog-all-listing__header h2 {
    color: var(--clr-black) !important;
    font-size: 2rem;
}

@media (min-width: 768px) {
    .category .blog-all-listing__header h2 {
        font-size: 3rem;
    }  
}

.blog-entry--featured {
    margin-bottom: var(--section-spacing-sm);
}

@media (min-width: 768px) {
    .blog-entry--featured {
        margin-bottom: var(--section-spacing-md);
    }  
}

@media (min-width: 992px) {
    .blog-entry--featured {
        margin-bottom: var(--section-spacing-lg);
    }  
}

.blog-entry--featured__header {
    margin-bottom: 2rem;
}

@media (min-width: 768px) {
    .blog-entry--featured__header {
        margin-bottom: 3rem;
    }
}

.blog-entry--featured__header .blog-entry__categories {
    margin-bottom: 6px;
}

.blog-entry--featured .blog-entry__title {
    font-size: 2rem;
    line-height: 1.05;
}

@media (min-width: 768px) {
    .blog-entry--featured .blog-entry__title {
        font-size: 3rem;
    }
}

@media (min-width: 992px) {
    .blog-entry--featured__main {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0 4rem;
    }
}

.blog-entry--featured__main .blog-entry__thumbnail {
    margin: 0 -1rem;
}

.blog-entry--featured__main .blog-entry__thumbnail img {
    border-radius: 0;
    height: 100%;
}

@media (min-width: 992px) {
    .blog-entry--featured__main .blog-entry__thumbnail img {
        border-radius: 0 8px 8px 0;
    }
}

.blog-entry--featured__content {
    margin-top: 2rem;
}

@media (min-width: 992px) {
    .blog-entry--featured__content {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        max-width: 400px;
        margin-top: 0;
    }
}

.blog-entry--featured__content .chat-with-us {
    margin-top: 3rem;
}

@media (min-width: 768px) {
    .blog-entry--featured__content .chat-with-us {
        max-width: 400px;
    }
}

.blog-entry--featured__content .chat-with-us a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--clr-black);
    gap: 24px;
}

.blog-entry--featured__content .chat-with-us span {
    position: relative;
    padding-top: 1.5rem;
    display: block;
}

.blog-entry--featured__content .chat-with-us span::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    max-width: 270px;
    border-top: 2px solid rgba(0, 0, 0, 0.1);
}

.blog-entry--featured__content .chat-with-us svg {
    color: var(--clr-blue);
    flex: 0 0 16px;
    margin-top: 1.5rem;
}

/* Blog Article Single Page */
.blog-entry-single__header {
    margin-bottom: 2rem;
}

@media screen and (min-width: 768px) {
    .blog-entry-single__header {
        text-align: center;
        margin-bottom: 4rem;
    }

    .blog-entry-single__header .blog-entry__categories {
        justify-content: center;
    }
}

.blog-entry-single__thumbnail {
    max-width: 1280px;
    margin: 0 auto 2rem;
}

@media screen and (min-width: 768px) {
    .blog-entry-single__thumbnail {
        margin-bottom: 5rem;
    }
}

.blog-entry-single__thumbnail img {
    width: 100%;
    aspect-ratio: 27 / 10;
    object-fit: cover;
}

.ct-container--blog > p,
.ct-container--blog > ul,
.ct-container--blog > ol {
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1.5rem;
}

.ct-container--blog > h1,
.ct-container--blog > h2,
.ct-container--blog > h3,
.ct-container--blog > h4,
.ct-container--blog > h5,
.ct-container--blog > h6 {
    margin: 3rem 0 1.5rem;
}

@media screen and (min-width: 768px) {
    .ct-container--blog > h1,
    .ct-container--blog > h2,
    .ct-container--blog > h3,
    .ct-container--blog > h4,
    .ct-container--blog > h5,
    .ct-container--blog > h6 {
        margin: 5rem 0 2.5rem;
        text-align: center;
    }
}

.wp-block-quote {
    position: relative;
    padding-left: 64px;
    padding-top: 20px;
    margin: 4rem 0;
}

.wp-block-quote::before {
    content: url(../svg/quote.svg);
    position: absolute;
    left: 0;
    top: 0;
}

.wp-block-quote > p {
    font-family: var(--ff-headings);
    font-size: 20px;
    font-weight: 400;
    line-height: 1.6;
}

.wp-block-quote > p:last-of-type {
    margin-bottom: 0;
}

.wp-block-quote strong {
    font-weight: 400;
    color: var(--clr-red);
}

.wp-block-quote cite {
    font-style: normal;
    font-weight: 800;
    font-size: 14px;
    margin-top: 1.25rem;
    display: block;
}

.blog-entry-single__bottom {
    display: flex;
    flex-direction: column;
    gap: 3rem 0;
    max-width: 600px;
    margin: 2.5rem auto 0;
}

@media screen and (min-width: 768px) {
    .blog-entry-single__bottom {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        gap: 4rem;
        margin-top: 4rem;
    }
}

.blog-entry-meta {
    display: flex;
    align-items: center;
    gap: 20px;
}

.blog-entry-meta__avatar img {
    border-radius: 50%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.blog-entry-meta__main {
    display: flex;
    flex-direction: column;
    gap: 6px 12px;
}

.blog-entry-meta__date {
    color: rgba(0, 0, 0, 0.7);
    text-transform: uppercase;
    font-size: 12px;
    line-height: 1.1;
}

.blog-entry-meta__author {
    font-weight: 800;
    font-size: 14px;
    line-height: 1.1;
    text-transform: capitalize;
}

.blog-entry-single__bottom .need-help p {
    margin: 0 0 6px;
    font-family: var(--ff-headings);
    font-weight: 400;
    line-height: 1.1;
}

/* 
* Blocks Global
*/
.ct-block--spacing + .ct-block {
    margin-top: 0 !important;
}

.ct-block .cta-bottom {
    margin-top: 4rem;
}

@media screen and (min-width: 768px) {
    .ct-block .cta-bottom {
        margin-top: 6rem;
    }
}

.ct-block .cta-bottom.with-border {
    position: relative;
    padding-top: 32px;
}

.ct-block .cta-bottom.with-border::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    height: 2px;
    width: 270px;
    max-width: 100%;
    background-color: var(--clr-black);
    opacity: 0.1;
}

.ct-block .cta-bottom__inner {
    max-width: 300px;
    margin: 0 auto;
    text-align: center;
}

@media screen and (min-width: 768px) {
    .ct-block .cta-bottom__inner {
        max-width: 450px;
    }
}

.ct-block .cta-bottom__title {
    margin-bottom: 1.5rem;
}

.ct-block .cta-bottom__button {
    margin-top: 0.75rem;
}

/*
* Home Blocks
*/
.ct-block--home-hero {
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    gap: 40px 0;
    padding-top: 2rem;
}

@media screen and (min-width: 992px) {
    .ct-block--home-hero {
        grid-template-rows: 1fr;
        gap: 0;
        padding-top: 0;
    }
}

.ct-block--home-hero__content {
    grid-row: 1;
    grid-column: 1;
    text-align: center;
}

.ct-block--home-hero__image-wrapper {
    grid-row: 2;
    grid-column: 1;    
    pointer-events: none;
}

@media screen and (min-width: 992px) {
    .ct-block--home-hero__content {
        text-align: left;
    }

    .ct-block--home-hero__content,
    .ct-block--home-hero__image-wrapper {
        grid-row: 1;
        grid-column: 1;
    }
}

.ct-block--home-hero__image-wrapper {
    display: flex;
    justify-content: center;
    justify-self: end;
    width: 100%;
}

@media screen and (min-width: 992px) {
    .ct-block--home-hero__image-wrapper {
        display: flex;
        justify-content: flex-end;
    }

    .ct-block--home-hero__image-wrapper img {
        max-width: 65%;
    }   
}

@media screen and (min-width: 1200px) {
    .ct-block--home-hero__image-wrapper img {
        max-width: 70%;
    }   
}

@media screen and (min-width: 992px) {
    .ct-block--home-hero__content-inner {
        max-width: calc(var(--container-width-lg) / 2);
    }
}

@media screen and (min-width: 1200px) {
    .ct-block--home-hero__content-inner {
        max-width: calc(var(--container-width-xl) / 2);
    }
}

.ct-block--home-hero__text {
    margin-top: 3rem;
}

.ct-block--home-hero__image-desktop {
    display: none;
}

.ct-block--home-hero__image-mobile {
    width: 100%;
}

@media screen and (min-width: 768px) {
    .ct-block--home-hero__image-mobile {
        width: auto;
    }

    .ct-block--home-hero__image-desktop {
        display: block;
    }

    .ct-block--home-hero__image-mobile {
        display: none;
    }
}

.ct-block--text-image {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    text-align: center;
}

@media screen and (min-width: 992px) {
    .ct-block--text-image {
        align-items: center;
        grid-template-columns: 1fr 1fr;
        gap: 70px 80px;
        text-align: left;
    }  
}

.ct-block--text-image__image-wrapper {
    display: flex;
    justify-content: center;
}

@media screen and (min-width: 992px) {
    .ct-block--text-image__image-wrapper {
        justify-content: end;
    }

    .ct-block--text-image.image-right .ct-block--text-image__image-wrapper {
        justify-content: start;
    }
}

@media screen and (min-width: 1200px) {
    .ct-block--text-image img {
        width: calc(100% + 50px);
        min-width: calc(100% + 50px);
    }
}

.ct-block--text-image__content {
    flex: 0 1 50%;
    order: 1;
}

.ct-block--text-image__image-wrapper {
    order: 2;
}

@media screen and (min-width: 992px) {
    .ct-block--text-image.image-left .ct-block--text-image__image-wrapper {
        order: 1;
    }

    .ct-block--text-image.image-right .ct-block--text-image__image-wrapper {
        order: 2;
    }
}

.ct-block--text-image__image-desktop {
    display: none;
}

@media screen and (min-width: 768px) {
    .ct-block--text-image__image-desktop {
        display: block;
    }

    .ct-block--text-image__image-mobile {
        display: none;
    }
}

.ct-block--text-image.image-stretch {
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    gap: 40px 0;
    padding-top: 2rem;
}

@media screen and (min-width: 992px) {
    .ct-block--text-image.image-stretch {
        grid-template-rows: 1fr;
        gap: 0;
        padding-top: 0;
    }
}

.ct-block--text-image.image-stretch .ct-block--text-image__content {
    grid-row: 1;
    grid-column: 1;
    text-align: center;
}

.ct-block--text-image.image-stretch .ct-block--text-image__image-wrapper {
    grid-row: 2;
    grid-column: 1;    
}

.ct-block--text-image.image-stretch .ct-block--text-image__image-wrapper img {
    width: 100%;
}

@media screen and (min-width: 992px) {
    .ct-block--text-image.image-stretch .ct-block--text-image__content {
        text-align: left;
    }

    .ct-block--text-image.image-stretch .ct-block--text-image__content {
        display: flex;
        justify-content: flex-end;
    }

    .ct-block--text-image.image-stretch.image-right .ct-block--text-image__content {
        justify-content: flex-start;
    }

    .ct-block--text-image.image-stretch .ct-block--text-image__content-inner {
        max-width: 50%;
    }

    .ct-block--text-image.image-stretch .ct-block--text-image__content,
    .ct-block--text-image.image-stretch .ct-block--text-image__image-wrapper {
        grid-row: 1;
        grid-column: 1;
    }

    .ct-block--text-image.image-stretch .ct-block--text-image__image-wrapper {
        max-width: calc(50% - 60px);
    }

    .ct-block--text-image.image-stretch.image-right .ct-block--text-image__image-wrapper {
        margin-left: auto;
    }

    .ct-block--text-image.image-stretch .ct-block--text-image__image-wrapper img {
        object-fit: cover;
        height: 100%;
        width: auto;
    }
}

.ct-block--steps__steps {
    display: grid;
    grid-template-columns: 1fr;
    gap: 60px;
}

@media screen and (min-width: 992px) {
    .ct-block--steps__steps {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media screen and (min-width: 1200px) {
    .ct-block--steps__steps {
        gap: 60px 120px;
    }
}

.ct-block--steps__step {
    text-align: center;
}

.ct-block--steps__step-number {
    position: relative;
    font-size: var(--font-size-h2);
    font-family: var(--ff-headings);
    color: var(--clr-blue);
    display: inline-flex;
    align-items: center;
    margin: 0 0 1.5rem;
}

.ct-block--steps__step-number::before,
.ct-block--steps__step-number::after {
    content: "";
    height: 8px;
    width: 8px;
    display: inline-block;
    border: 3px solid var(--clr-red);
    border-radius: 50%;
}

.ct-block--steps__step-number::before {
    margin-right: 14px;
}

.ct-block--steps__step-number::after {
    margin-left: 14px;
}

.ct-block--steps__step img {
    margin: 0 auto 1.5rem;
}

.ct-block--steps__step h4 {
    color: var(--clr-blue);
    font-weight: 800;
    font-size: var(--fs-base);
    font-family: var(--ff-base);
    margin: 0 0 1.5rem;
}

.ct-block--testimonials__slide {
    padding-bottom: 1rem;
    padding-top: 1rem;
}

.ct-block--testimonials__slide a {
    --clr-testimonials-bg: #fff;
    --clr-testimonials-text: var(--clr-black);
    --clr-testimonials-text-strong: var(--clr-red);
    --clr-testimonials-read-more: var(--clr-red);
    --clr-testimonials-author: var(--clr-black);
    --clr-testimonials-company: rgba(0,0,0,0.7);

    display: flex;
    flex-direction: column;
    position: relative;
    padding-left: 64px;
    padding-top: 20px;
    border-radius: 12px;
}

.ct-block--testimonials__slide a:hover {
    --clr-testimonials-bg: var(--clr-red);
    --clr-testimonials-text: var(--clr-white);
    --clr-testimonials-text-strong: var(--clr-blue);
    --clr-testimonials-read-more: var(--clr-black);
    --clr-testimonials-author: var(--clr-white);
    --clr-testimonials-company: rgba(255,255,255,0.7);

    text-decoration: none;
}

.ct-block--testimonials__slide a::before {
    content: url(../svg/quote.svg);
    position: absolute;
    left: 0;
    top: 0;
}

.ct-block--testimonials__slide a::after {
    content: "";
    position: absolute;
    inset: -1rem;
    z-index: -1;
    height: calc(100% + 2rem);
    width: calc(100% + 2rem);
    background-color: var(--clr-testimonials-bg);
    border-radius: 12px;
    transition: all 250ms ease;
}

.ct-block--testimonials__slide blockquote .quote-text {
    font-family: var(--ff-headings);
    font-weight: 400;
    font-size: 20px;
    line-height: 1.6;
    color: var(--clr-testimonials-text);
    transition: color 250ms ease;
    display: -webkit-box;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;  
    overflow: hidden;
}

.ct-block--testimonials__slide blockquote .quote-text strong {
    color: var(--clr-testimonials-text-strong);
    font-weight: 400;
    transition: color 250ms ease;
}

.ct-block--testimonials__slide blockquote .read-more-testimonials {
    display: inline-flex;
    align-items: center;
    color: var(--clr-testimonials-read-more);
    font-size: 13px;
    font-weight: 800;
    font-family: var(--ff-base);
    text-transform: uppercase;
    line-height: 1;
    transition: color 250ms ease;
    margin-top: 24px;
}

.ct-block--testimonials__slide blockquote .read-more-testimonials > span {
    opacity: 0;
    font-size: 18px;
    color: var(--clr-blue);
    margin-left: 6px;
    transition: opacity 250ms ease;
}

.ct-block--testimonials__slide a:hover blockquote .read-more-testimonials > span {
    opacity: 1;
}

.ct-block--testimonials__slide cite,
.testimonials-list-modal__single cite {
    display: flex;
    gap: 20px;
    align-items: center;
    font-style: normal;
    margin-top: 40px;
    color: var(--clr-testimonials-author);
    transition: color 250ms ease;
}

.ct-block--testimonials__slide cite img,
.testimonials-list-modal__single cite img {
    flex: 0 1 72px;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 50%;
    max-width: 72px;
}

.ct-block--testimonials__slide cite p,
.testimonials-list-modal__single cite p {
    margin-bottom: 0;
}

.ct-block--testimonials__slide cite span,
.testimonials-list-modal__single cite span {
    display: block;
}

.ct-block--testimonials__slide cite .author-name,
.testimonials-list-modal__single cite .author-name {
    font-size: 14px;
    font-weight: 800;
    line-height: 1.1;
}

.ct-block--testimonials__slide cite .author-company,
.testimonials-list-modal__single cite .author-company {
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 500;
    line-height: 1.2;
    margin-top: 3px;
    color: var(--clr-testimonials-company);
    transition: color 250ms ease;
}

@media screen and (max-width: 991px) {
    .ct-block--testimonials__slider .slick-dots {
        max-width: calc(100% - 40px);
        margin-left: auto;
    }

    .ct-block--testimonials__slider .slick-prev {
        left: 44px;
    }

    .ct-block--testimonials__slider .slick-right {
        right: 0;
    }
}

.ct-custom-modal--testimonials .ct-custom-modal__header h4 {
    color: var(--clr-red);
}

@media screen and (min-width: 640px) {
    .ct-custom-modal--testimonials .ct-custom-modal__inner {
        max-width: calc(100% - 2rem);
    }   
}

@media screen and (min-width: 992px) {
    .ct-custom-modal--testimonials .ct-custom-modal__inner {
        max-width: 940px;
    }   

    .ct-custom-modal--testimonials .ct-custom-modal__content {
        max-width: 600px;
    }
}

.testimonials-list-modal__single {
    display: flex;
    flex-direction: column;
    position: relative;
    padding-left: 64px;
    padding-top: 80px;
    border-radius: 12px;
}

.testimonials-list-modal {
    display: grid;
    grid-template-columns: 1fr;
    gap: 50px 0;
}

.testimonials-list-modal__single::before {
    content: url(../svg/quote.svg);
    position: absolute;
    left: 0;
    top: 60px;
}

.testimonials-list-modal__single::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    width: 200px;
    height: 2px;
    background-color: rgba(0,0,0,0.1);
}


.testimonials-list-modal__single .quote-text {
    font-weight: 500;
    font-size: 18px;
}

.ct-block--pricing__list {
    /* display: none; */
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
}

/* .ct-block--pricing__list.active {
    display: grid;
} */

@media screen and (min-width: 992px) {
    .ct-block--pricing__list {
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
    }
}

@media screen and (min-width: 1200px) {
    .ct-block--pricing__list {
        grid-template-columns: repeat(5, 1fr);
    }
}

.ct-block--pricing__item {
    --clr-item-bg: var(--clr-white);
    --clr-item-border: rgba(0, 0, 0, 0.1);
    --clr-title: var(--clr-black);
    --clr-designs: var(--clr-blue);
    --clr-tag-bg: var(--clr-black);
    --clr-tag-text: var(--clr-white);
    --clr-price: var(--clr-red);
    --clr-billed: rgba(0,0,0,0.3);
    --clr-btn-bg: transparent;
    --clr-btn-border: var(--clr-blue);
    --clr-btn-text: var(--clr-red);
    --clr-btn-bg-hover: var(--clr-red);
    --clr-btn-border-hover: var(--clr-red);
    --clr-btn-text-hover: var(--clr-white);

    position: relative;
    border: 2px solid var(--clr-item-border);
    border-radius: 12px;
    padding: 32px 24px;
    text-align: center;
    background-color: var(--clr-item-bg);
    transition: all 400ms ease;
}

.ct-block--pricing__item.popular {
    --clr-item-bg: var(--clr-red);
    --clr-item-border: var(--clr-red);
    --clr-designs: var(--clr-white);
    --clr-tag-bg: var(--clr-white);
    --clr-tag-text: var(--clr-blue);
    --clr-price: var(--clr-blue);
    --clr-billed: rgba(255,255,255,0.5);
    --clr-btn-bg: transparent;
    --clr-btn-border: var(--clr-white);
    --clr-btn-text: var(--clr-black);
    --clr-btn-bg-hover: var(--clr-red);
    --clr-btn-border-hover: var(--clr-red);
    --clr-btn-text-hover: var(--clr-white);
}

.ct-block--pricing__item.popular::before {
    --popular-tag-bg-color: var(--clr-blue);
    --popular-tag-text-color: var(--clr-white);

    content: "Most Popular";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, calc(-50% - 1px));
    font-size: 10px;
    line-height: 1;
    font-weight: 800;
    text-transform: uppercase;
    height: 20px;
    text-align: center;
    padding: 6px 10px 2px;
    border-radius: 4px;
    white-space: nowrap;
    background-color: var(--popular-tag-bg-color);
    color: var(--popular-tag-text-color);
    transition: all 400ms ease;
}

.ct-block--pricing__item.black {
    --clr-item-bg: var(--clr-black);
    --clr-item-border: var(--clr-black);
    --clr-title: var(--clr-red);
    --clr-designs: var(--clr-red);
    --clr-tag-bg: var(--clr-white);
    --clr-tag-text: var(--clr-blue);
    --clr-price: var(--clr-blue);
    --clr-billed: rgba(255,255,255,0.4);
    --clr-btn-bg: transparent;
    --clr-btn-border: var(--clr-blue);
    --clr-btn-text: var(--clr-red);
    --clr-btn-bg-hover: var(--clr-red);
    --clr-btn-border-hover: var(--clr-red);
    --clr-btn-text-hover: var(--clr-white);
}

.ct-block--pricing__item.monthly:nth-child(1),
.ct-block--pricing__item.monthly:nth-child(2),
.ct-block--pricing__item.monthly:nth-child(3) {
    --clr-tag-bg: var(--clr-red);
    --clr-tag-text: var(--clr-white);
}

.ct-block--pricing__item:hover {
    --clr-item-bg: var(--clr-blue);
    --clr-item-border: var(--clr-blue);
    --clr-title: var(--clr-white);
    --clr-designs: var(--clr-white);
    --clr-tag-bg: var(--clr-white);
    --clr-tag-text: var(--clr-blue);
    --clr-price: var(--clr-white);
    --clr-billed: rgba(255,255,255,0.4);
    --clr-btn-bg: var(--clr-red);
    --clr-btn-border: var(--clr-red);
    --clr-btn-text: var(--clr-white);
    --clr-btn-bg-hover: var(--clr-red);
    --clr-btn-border-hover: var(--clr-red);
    --clr-btn-text-hover: var(--clr-white);
    transform: scale(1.05);
    text-decoration: none;
}

.ct-block--pricing__item.monthly:nth-child(1):hover,
.ct-block--pricing__item.monthly:nth-child(2):hover,
.ct-block--pricing__item.monthly:nth-child(3):hover {
    --clr-tag-bg: var(--clr-white);
    --clr-tag-text: var(--clr-blue);
}

.ct-block--pricing__item.popular:hover::before {
    --popular-tag-bg-color: var(--clr-red);
    --popular-tag-text-color: var(--clr-blue);
    transform: translate(-50%, -2px);
    border-radius: 0 0 4px 4px;
}

.ct-block--pricing__item h3 {
    color: var(--clr-title);
    margin: 0 0 32px;
    transition: all 400ms ease;
}

.ct-block--pricing__item > span:not(.btn, .discount-tag, .price, .price-value) {
    display: block;
}

.ct-block--pricing__item .up-to,
.ct-block--pricing__item .designs-count,
.ct-block--pricing__item .designs,
.ct-block--pricing__item .designs-per-month {
    color: var(--clr-designs);
    transition: all 400ms ease;
}

.ct-block--pricing__item .up-to {
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
}

.ct-block--pricing__item .designs-count {
    font-size: 56px;
    line-height: 1.2;
    font-family: var(--ff-headings);
    font-weight: 400;
}

.ct-block--pricing__item .designs,
.ct-block--pricing__item .designs-per-month {
    font-weight: 800;
    font-size: 14px;
    line-height: 20px;
}

.ct-block--pricing__item .discount-tag {
    margin-top: 24px;
    font-size: 8px;
    line-height: 10px;
    font-family: var(--ff-headings);
    font-weight: 400;
    background-color: var(--clr-tag-bg);
    color: var(--clr-tag-text);
    text-transform: uppercase;
    display: inline-block;
    padding: 6px;
    border-radius: 4px;
    letter-spacing: 0.1em;
    transition: all 400ms ease;
}

.ct-block--pricing__item.monthly .discount-tag {
    opacity: 0.5;
}

.ct-block--pricing__item .price {
    display: flex;
    justify-content: center;
    margin: 60px 0 0;
    color: var(--clr-price);
    gap: 6px;
    transition: all 400ms ease;
}

.ct-block--pricing__item .discount-tag + .price {
    margin-top: 16px;
}

.ct-block--pricing__item .price-value {
    display: inline-flex;
    align-items: flex-start;
}

.ct-block--pricing__item .price-value .currency {
    font-size: 20px;
    font-weight: 800;
    margin-top: -1px;
    margin-right: 3px;
}

.ct-block--pricing__item .price-value .value {
    font-size: 36px;
    font-weight: 800;
}

.ct-block--pricing__item .price-per-month {
    font-size: 14px;
    font-weight: 500;
}

.ct-block--pricing__item .price-per-month > span {
    display: block;
    text-align: left;
    line-height: 1;
}

.ct-block--pricing__item .price-per-month > span:first-child {
    margin: 9px 0 2px;
}

.ct-block--pricing__item .billed {
    font-size: 14px;
    line-height: 1.2;
    color: var(--clr-billed);
    font-weight: 500;
    transition: all 400ms ease;
}

.ct-block--pricing__item .btn,
.ct-block--pricing__trial .btn {
    --btn-text-color: var(--clr-btn-text);
    --btn-bg-color: var(--clr-btn-bg);
    --btn-border-color: var(--clr-btn-border);
    --btn-text-color-hover: var(--clr-btn-text-hover);
    --btn-bg-color-hover: var(--clr-btn-bg-hover);
    --btn-border-color-hover: var(--clr-btn-border-hover);
    --btn-border-width: 2px;

    padding: 10px 24px;
}

.ct-block--pricing__item .btn {
    margin-top: 32px;
}

.ct-block--pricing__trial {
    background: rgba(254, 67, 71, 0.05);
    border-radius: 12px;
    padding: 32px 40px;
    margin-top: 5rem;
    display: flex;
    flex-direction: column;
    text-align: center;
    align-items: center;
    gap: 32px 0;
}

@media screen and (min-width: 992px) {
    .ct-block--pricing__trial {
        align-items: center;
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 48px;
        padding: 24px 40px;
        text-align: left;
    }
}

.ct-block--pricing__trial .trial-title {
    margin: 0;
    flex: 1 0 auto;
    font-size: 20px;
    font-family: var(--ff-headings);
    font-weight: 400;
}

.ct-block--pricing__trial .trial-design {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 56px;
    font-family: var(--ff-headings);
    font-weight: 400;
    line-height: 1;
    flex: 1 0 auto;
}

.ct-block--pricing__trial .trial-design small {
    font-family: var(--ff-base);
    font-size: 14px;
    font-weight: 800;
}

.ct-block--pricing__trial .trial-price {
    font-size: 36px;
    font-weight: 800;
    display: flex;
    align-items: flex-start;
    line-height: 1;
    padding: 4px 0 0;
}

@media screen and (min-width: 992px) {
    .ct-block--pricing__trial .trial-price {
        padding-top: 12px;
    }
}

.ct-block--pricing__trial .trial-price small {
    font-size: 20px;
    font-weight: 800;
    margin-top: -5px;
    margin-right: 3px;
}

.ct-block--pricing__trial .trial-description {
    font-size: 14px;
    opacity: 0.5;
    font-weight: 500;
}

.ct-block--pricing__trial .btn {
    --btn-text-color: var(--clr-red);
    --btn-bg-color: transparent;
    --btn-border-color: var(--clr-red);
    --btn-text-color-hover: var(--fc-light);
    --btn-bg-color-hover: var(--clr-red);
    --btn-border-color-hover: var(--clr-red);
}

.ct-block--pricing__icons {
    position: relative;
    margin-top: 5rem;
    padding-top: 32px;
}

.ct-block--pricing__icons::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    height: 2px;
    width: 400px;
    max-width: 100%;
    background-color: var(--clr-black);
    opacity: 0.1;
}

.ct-block--pricing__icons h4 {
    text-align: center;
    margin-bottom: 4rem;
}

.ct-block--pricing__icons-list {
    --gap-x: 0;
    --gap-y: 100px;

    display: grid;
    grid-template-columns: 1fr;
    gap: var(--gap-y) var(--gap-x);
} 

@media screen and (min-width: 600px) {
    .ct-block--pricing__icons-list {
        --gap-x: 0;
        --gap-y: 64px;
        grid-template-columns: repeat(2, 1fr);        
    } 
}

@media screen and (min-width: 992px) {
    .ct-block--pricing__icons-list {
        --gap-x: 0;
        --gap-y: 64px;
        grid-template-columns: repeat(4, 1fr);        
    } 
}

.ct-block--pricing__icon {
    position: relative;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px 0;
}

.ct-block--pricing__icon:not(:last-child)::after {
    content: "";
    position: absolute;
    bottom: calc(calc(var(--gap-y) / 2) * -1);
    left: 50%;
    transform: translate(-50%, 50%);
    display: inline-block;
    height: 8px;
    width: 8px;
    border-radius: 50%;
    border: 3px solid var(--clr-blue);
    background-color: transparent;
}

@media screen and (min-width: 600px) {
    .ct-block--pricing__icon:not(:last-child)::after {
        content: "";
        position: absolute;
        bottom: unset;
        top: 50%;
        left: unset;
        right: 0;
        transform: translate(-50%, 50%);
        display: inline-block;
        height: 8px;
        width: 8px;
        border-radius: 50%;
        border: 3px solid var(--clr-blue);
        background-color: transparent;
    } 
}

@media screen and (min-width: 600px) and (max-width: 991px) {
    .ct-block--pricing__icon:nth-child(even)::after {
        content: none !important;
    }
}

.ct-block--pricing__icon h5 {
    margin: 0;
    max-width: 160px;
    text-transform: capitalize;
    font-family: var(--ff-base);
    font-weight: 800;
    font-size: var(--fs-base);
    line-height: 1.5;
}

.ct-block--cta {
    --cta-pretitle-color: var(--clr-red);
    --cta-title-color: var(--clr-white);
    --cta-text-color: var(--clr-white);
    hyphens: auto;

    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    border-radius: 12px;
    padding: 64px 24px 72px;
    text-align: center;
}

@media screen and (min-width: 992px) {
    .ct-block--cta {
        padding: 64px 48px 72px;
        hyphens: none;
    } 
}

@media screen and (min-width: 1440px) {
    .ct-block--cta::before {
        content: "";
        position: absolute;
        z-index: -1;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        width: calc(100% + 200px);
        height: 100%;
        background-color: var(--clr-blue);
        border-radius: 12px;
    } 

    .ct-block--cta.bg-red::before {
        background-color: var(--clr-red);
    }

    .ct-block--cta.bg-black::before {
        background-color: var(--clr-black);
    }
}

.ct-block--cta.bg-black {
    --cta-title-color: var(--clr-blue);
}

.ct-block--cta.bg-red {
    --cta-pretitle-color: var(--clr-black);
    --cta-title-color: var(--clr-blue);
    --cta-text-color: var(--clr-white);
}

.ct-block--cta__pretitle {
    color: var(--cta-pretitle-color);
    margin-bottom: 0.5rem;
}

.ct-block--cta__title {
    color: var(--cta-title-color);
    margin-bottom: 2rem;
}

.ct-block--cta__description {
    color: var(--cta-text-color);
    max-width: 185px;
}

.ct-block--cta__description p:last-of-type {
    margin-bottom: 0;
}

.ct-block--cta .btns-wrapper {
    margin-top: 2.5rem;	
}

.ct-block--cta .btn {
    --btn-text-color: var(--clr-white);
    --btn-bg-color: var(--clr-red);
    --btn-border-color: var(--clr-red);
    --btn-text-color-hover: var(--clr-blue);
    --btn-bg-color-hover: var(--clr-white);
    --btn-border-color-hover: var(--clr-white);
}

.ct-block--cta.bg-red .btn {
    --btn-text-color: var(--clr-white);
    --btn-bg-color: var(--clr-blue);
    --btn-border-color: var(--clr-blue);
    --btn-text-color-hover: var(--clr-red);
    --btn-bg-color-hover: var(--clr-white);
    --btn-border-color-hover: var(--clr-white);
}

.ct-block--latest-posts.border-top,
.ct-block--popular-posts.border-top,
.ct-block--trending-posts.border-top {
    padding-top: 2.5rem;
    border-top: 2px solid rgba(0, 0, 0, 0.1);
}

.ct-block--latest-posts .block-title,
.ct-block--popular-posts .block-title,
.ct-block--trending-posts .block-title {
    text-align: center;
    margin-bottom: 3rem;
}

.ct-block--latest-posts .btns-wrapper {
    justify-content: center;
}

@media screen and (max-width: 767px) {
    .ct-block--popular-posts {
        margin-bottom: 10rem;
    }
}

.ct-block--popular-posts .popular-posts-slider,
.ct-block--trending-posts .trending-posts-slider {
    display: none;
}

@media screen and (min-width: 768px) {
    .ct-block--popular-posts .popular-posts-slider,
    .ct-block--trending-posts .trending-posts-slider {
        display: block;
    }  
    
    .ct-block--popular-posts .popular-posts-mobile-slider,
    .ct-block--trending-posts .trending-posts-mobile-slider {
        display: none;
    }  
}

.ct-block--popular-posts .popular-posts-mobile-slider__slide,
.ct-block--trending-posts .trending-posts-mobile-slider__slide {
    display: grid;
    gap: 80px 0;
}  

.ct-block--popular-posts .slick-arrow,
.ct-block--trending-posts .slick-arrow {
    bottom: -90px;
}

.ct-block--popular-posts .slick-arrow.slick-prev,
.ct-block--trending-posts .slick-arrow.slick-prev {
    left: calc(50% - 70px);
}

.ct-block--popular-posts .slick-arrow.slick-next,
.ct-block--trending-posts .slick-arrow.slick-next {
    right: calc(50% - 70px);
}

@media screen and (min-width: 768px) {
    .ct-block--popular-posts .slick-arrow,
    .ct-block--trending-posts .slick-arrow {
        bottom: unset;
        top: -95px;
    }
    
    .ct-block--popular-posts .slick-arrow.slick-prev,
    .ct-block--trending-posts .slick-arrow.slick-prev {
        left: -12px;
    }
    
    .ct-block--popular-posts .slick-arrow.slick-next,
    .ct-block--trending-posts .slick-arrow.slick-next {
        right: -12px;
    } 
}

@media screen and (min-width: 992px) {
    .ct-block--popular-posts .slick-arrow,
    .ct-block--trending-posts .slick-arrow {
        top: -65px;
    }

    .ct-block--popular-posts .slick-arrow.slick-prev,
    .ct-block--trending-posts .slick-arrow.slick-prev {
        left: 12px;
    }
    
    .ct-block--popular-posts .slick-arrow.slick-next,
    .ct-block--trending-posts .slick-arrow.slick-next {
        right: 12px;
    } 
}

@media screen and (min-width: 1200px) {
    .ct-block--popular-posts .slick-arrow,
    .ct-block--trending-posts .slick-arrow {
        top: 50%;
        transform: translateY(-50%);
    }

    .ct-block--popular-posts .slick-arrow.slick-prev,
    .ct-block--trending-posts .slick-arrow.slick-prev {
        left: -55px;
    }
    
    .ct-block--popular-posts .slick-arrow.slick-next,
    .ct-block--trending-posts .slick-arrow.slick-next {
        right: -55px;
    } 
}

@media screen and (min-width: 1300px) {
    .ct-block--popular-posts .slick-arrow.slick-prev,
    .ct-block--trending-posts .slick-arrow.slick-prev {
        left: -75px;
    }
    
    .ct-block--popular-posts .slick-arrow.slick-next,
    .ct-block--trending-posts .slick-arrow.slick-next {
        right: -75px;
    } 
}

.ct-block--trending-posts {
    box-shadow: 0 0 0 100vmax var(--clr-red);
    clip-path: inset(0 -100vmax);
    padding: 3rem 0 8.5rem;
}

@media screen and (min-width: 768px) {
    .ct-block--trending-posts {
        padding: 4rem 0;
    }   
}

.ct-block--trending-posts .block-title {
    color: var(--clr-blue) !important;
}

.ct-block--trending-posts .blog-entry__categories li a {
    color: var(--clr-blue);
}

.ct-block--trending-posts .blog-entry__title-link,
.ct-block--trending-posts .blog-entry__title {
    color: var(--clr-white);
}

.ct-block--trending-posts .slick-arrow {
    color: var(--clr-white);
}

/* Pricing Page Blocks */

.ct-block--design-products__list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 56px 9;
    max-width: 860px;
    margin: 0 auto;
}

@media screen and (min-width: 768px) {
    .ct-block--design-products__list {
        gap: 56px;
        grid-template-columns: 1fr 1fr;
    }   
}

@media screen and (min-width: 1200px) {
    .ct-block--design-products__list {
        gap: 80px 160px;
    }   
}

.ct-block--design-products__left,
.ct-block--design-products__right {
    display: flex;
    flex-direction: column;
    gap: 56px 0;
}

.ct-block--design-products__single {
    display: grid;
    grid-template-columns: 64px 1fr;
    grid-template-rows: auto auto;
    gap: 0 8px;
}

.ct-block--design-products__single .ct-block--design-products__icon {
    grid-column: 1;
}

.ct-block--design-products__single .ct-block--design-products__title,
.ct-block--design-products__single .ct-block--design-products__assets {
    grid-column: 2;
}

.ct-block--design-products__single .ct-block--design-products__title {
    align-self: center;
    font-family: var(--ff-base);
    font-weight: 800;
    font-size: 1rem;
    padding: 18px 0;
}

.ct-block--design-products__single .ct-block--design-products__assets {
    list-style: none;
    padding: 0;
    margin: 0;
}

.ct-block--design-products__single .ct-block--design-products__assets li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 24px 0;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.ct-block--design-products__single .ct-block--design-products__assets li:last-child {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.ct-block--design-products__single .ct-block--design-products__assets li svg {
    margin-top: -3px;
    color: var(--clr-red);
}

.ct-block--design-products__single .ct-block--design-products__assets li span {
    font-weight: 500;
    font-size: 1rem;
}

.ct-block--design-products__single.need-more .content {
    grid-column: 2;
}

.ct-block--design-products__single.need-more .content p {
    font-family: var(--ff-headings);
    font-size: 28px;
    font-weight: 400;
}

.ct-block--faq__single {
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    padding: 0 0 1rem;
}

.ct-block--faq__single:last-of-type {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.ct-block--faq__header {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0 16px;
    width: 100%;
    border: none;
    background: none;
    color: var(--color-dark);
    padding: 2.5rem 0 1.5rem;
    cursor: pointer;
}

.ct-block--faq__header:focus {
    outline: none;
}

.ct-block--faq__header svg {
    display: inline-block;
    flex: 0 0 16px;
    transition: all 250ms ease;
    color: var(--clr-blue);
}

.ct-block--faq__header .ct-block--faq__question {
    margin: 0;
    transition: color 250ms ease;
    text-align: left;
}

.ct-block--faq .ct-block--faq__answer {
    max-height: 0;
    overflow: hidden;
    transition: all 250ms ease-in-out;
    padding-left: 32px;
}

.ct-block--faq__single.open .ct-block--faq__question {
    color: var(--clr-blue);
}

.ct-block--faq__single.open svg {
    transform: rotate(90deg);
    color: var(--clr-red);
}

.ct-block--faq__single.open .ct-block--faq__answer {
    max-height: 1000px;
}

.ct-block--faq__answer p:last-child {
    margin-bottom: 1.5rem;
}

/* Contact Page Blocks */
.ct-block--contact-form__form {
    position: relative;
    background-color: var(--clr-red);
    padding: 2.5rem 0;
    box-shadow: 0 0 0 100vmax var(--clr-red);
    clip-path: inset(0 -100vmax);
    color: #fff;
}

@media screen and (min-width: 768px) {
    .ct-block--contact-form__form {
        padding: 4rem 1rem;
        border-radius: 12px;
        box-shadow: none;
        clip-path: unset;
    }
}

.ct-block--contact-form__form form {
    --input-bg-clr: #fff;
    --input-border-clr: #fff;
    --input-error-clr: #fff;
    --input-focus-border-clr: var(--clr-blue);
    --input-focus-bg-clr: #fff;
    --label-color: #fff;

    max-width: 720px;
    margin: 0 auto;
    display: block;
}

.ct-block--contact-form .input-notice {
    color: #fff;
}

.ct-block--contact-form__form .form-fields {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px 40px;
}

@media screen and (min-width: 768px) {
    .ct-block--contact-form__form .form-fields {
        grid-template-columns: 3fr 4fr;
    } 
}

.ct-block--contact-form__form .form-fields__left,
.ct-block--contact-form__form .form-fields__right {
    display: flex;
    flex-direction: column;
    gap: var(--form-gap-y) var(--form-gap-x);
}

.ct-block--contact-form__form .form-fields__right .input-wrapper {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.ct-block--contact-form__form .form-fields__right .input-wrapper br {
    display: none;
}

.ct-block--contact-form__form .form-fields__right .your-message {
    flex-grow: 1;
}

.ct-block--contact-form__form .form-fields__right textarea {
    height: 100%;
}

.ct-block--contact-form__form .submit-wrapper {
    grid-column: 1 / -1;
    text-align: right;
    margin-top: 2.5rem;
}

.ct-block--contact-form__form .btn {
    --btn-text-color-hover: var(--clr-red);
    --btn-bg-color-hover: var(--clr-white);
}

.ct-block--contact-form__bottom {
    margin-top: 4rem;
    text-align: center;
}

.ct-block--contact-form .wpcf7 .wpcf7-response-output {
    background-color: var(--clr-white);
    border-color: var(--clr-red);
    color: var(--clr-black);
}

/* Block Overrides */
.ct-block--text-image.with-round-image .ct-block--text-image__image-wrapper img {
    border-radius: 50%;
}

/* Password form styling */
.post-password-form {
    max-width: 600px;
}

.post-password-form > p:last-child {
    display: flex;
    align-items: end;
    gap: 24px;
}

.post-password-form > p:last-child label {
    margin: 0;
    flex-grow: 1;
}

.post-password-form input[type="submit"] {
    min-height: unset;
}