/*--------------------------------------------------------------
Variables
--------------------------------------------------------------*/
:root {
   --wpadminbar-height: 32px;
   --header-height: 120px;

   /* Colors */
   --white: #fff;
   --white-rgb: 255, 255, 255;
   --black: #000;
   --black-rgb: 0, 0, 0;
   --grey: #686868;
   --lgrey: #f4f4f4;

   --green: #5fbd73;
   --aqua: #00aec0;
   --blue: #2c76bb;
   --dblue: #1e4787;
   --purple: #603693;
   --magenta: #9b288e;
   --red: #de3b37;
   --orange: #f38331;
   --yellow: #eddc1b;

   --green-50: #b8dcbc;
   --aqua-50: #93d4dd;
   --blue-50: #9cb9da;
   --dblue-50: #92a3c0;
   --purple-50: #ac9bc6;
   --magenta-50: #c596c3;
   --red-50: #e3a09d;
   --orange-50: #e7bc98;
   --yellow-50: #f5ec99;

   --green-25: #d6f0d9;
   --aqua-25: #c7eaee;
   --blue-25: #cdddec;
   --dblue-25: #c9d1df;
   --purple-25: #e2d9f3;
   --magenta-25: #e1cae1;
   --red-25: #f1cfce;
   --orange-25: #fce2ca;
   --yellow-25: #f9f6cb;

   --gradient-purpleblue: linear-gradient(190deg, var(--purple-25) 0%, #cfe2fc 100%);
   --gradient-greenblue: linear-gradient(190deg, var(--green-25) 0%, #cfe2fc 100%);

   /* Effects */
   --drop: 0px 0px 15px rgba(var(--black-rgb), 0.11);

   /* Typography */
   --font-primary: 'Poppins', serif;
   --font-secondary: 'Bricolage Grotesque', serif;

   --8px: 0.5rem;
   --9px: 0.5625rem;
   --10px: 0.625rem;
   --11px: 0.6875rem;
   --12px: 0.75rem;
   --13px: 0.8125rem;
   --14px: 0.875rem;
   --15px: 0.9375rem;
   --16px: 1rem;
   --17px: 1.0625rem;
   --18px: 1.125rem;
   --20px: 1.25rem;
   --22px: 1.375rem;
   --23px: 1.4375rem;
   --24px: 1.5rem;
   --25px: 1.5625rem;
   --26px: 1.625rem;
   --28px: 1.75rem;
   --30px: 1.875rem;
   --32px: 2rem;
   --34px: 2.125rem;
   --36px: 2.25rem;
   --38px: 2.375rem;
   --40px: 2.5rem;
   --42px: 2.625rem;
   --44px: 2.75rem;
   --45px: 2.8125rem;
   --46px: 2.875rem;
   --48px: 3rem;
   --50px: 3.125rem;
   --54px: 3.375rem;
   --55px: 3.4375rem;
   --60px: 3.75rem;
   --64px: 4rem;
   --70px: 4.375rem;
   --75px: 4.6875rem;
   --85px: 5.3125rem;
   --90px: 5.625rem;
   --100px: 6.25rem;
}

@media (max-width: 992px) {
   :root {
      --header-height: 110px;
   }
}
@media (max-width: 768px) {
   :root {
      --header-height: 70px;
   }
}
@media (max-width: 782px) {
   :root {
      --wpadminbar-height: 46px;
   }
}

/*--------------------------------------------------------------
Base
--------------------------------------------------------------*/
.block-theme *,
.block-theme *:before,
.block-theme *:after {
   box-sizing: border-box;
}

.block-theme img,
.block-theme video,
.block-theme iframe {
   display: block;
   width: 100%;
}

.block-video video {
   background-image: url('../images/video-loader-black.gif');
   background-repeat: no-repeat;
   background-size: 60px;
   background-position: center;
}

.block-video .block-setting-text-white video {
   background-image: url('../images/video-loader-white.gif');
}

.block-theme hr {
   background-color: rgba(var(--black-rgb), 0.2);
   border: 0;
   height: 1px;
   margin: 40px 0;
}

/*--------------------------------------------------------------
Typography/Content
--------------------------------------------------------------*/
/* Default */
.block-theme h1,
.block-theme .h1,
.block-theme h2,
.block-theme .h2,
.block-theme h3,
.block-theme .h3,
.block-theme h4,
.block-theme .h4 {
   font-family: var(--font-secondary);
   font-weight: 700;
   color: var(--black);
   line-height: 1.1;
   margin: 0 0 16px;
}

.block-theme h1,
.block-theme .h1 {
   font-size: var(--85px);
}

.block-theme h2,
.block-theme .h2 {
   font-size: var(--64px);
}

.block-theme h3,
.block-theme .h3 {
   font-size: var(--28px);
}

.block-theme h4,
.block-theme .h4 {
   font-family: var(--font-primary);
   font-size: var(--22px);
   font-weight: 600;
   line-height: 1.5;
}

@media (max-width: 768px) {
   .block-theme h1,
   .block-theme .h1 {
      font-size: var(--64px);
   }
   .block-theme h2,
   .block-theme .h2 {
      font-size: var(--50px);
   }
   .block-theme h3,
   .block-theme .h3 {
      font-size: var(--23px);
   }
   .block-theme h4,
   .block-theme .h4 {
      font-size: var(--20px);
   }
}
@media (max-width: 440px) {
   .block-theme h1,
   .block-theme .h1 {
      font-size: var(--54px);
   }
   .block-theme h2,
   .block-theme .h2 {
      font-size: var(--40px);
   }
   .block-theme h3,
   .block-theme .h3 {
      font-size: var(--22px);
   }
}

/* Styled */
.block-theme .typo-title-allcaps {
   font-family: var(--font-secondary);
   font-size: var(--16px);
   font-weight: 500;
   text-transform: uppercase;
   letter-spacing: 0.2em;
   color: var(--grey);
   margin: 0 0 16px;
}

.block-theme .typo-copy-small,
.block-theme .typo-copy-small p {
   font-size: var(--16px);
   font-weight: 400;
   line-height: 1.5;
}

@media (max-width: 768px) {
   .block-theme .typo-copy-small,
   .block-theme .typo-copy-small p {
      font-size: var(--15px);
   }
}
.block-theme .typo-copy-large,
.block-theme .typo-copy-large p {
   font-size: var(--18px);
   font-weight: 500;
   line-height: 1.5;
}

@media (max-width: 768px) {
   .block-theme .typo-copy-large,
   .block-theme .typo-copy-large p {
      font-size: var(--17px);
   }
}

.block-theme .typo-word-underline-1,
.block-theme .typo-word-underline-2,
.block-theme .typo-word-underline-3 {
   position: relative;
   z-index: 1;
}

.block-theme .typo-word-underline-1:after {
   content: url('../images/word-underline-1.svg');
   position: absolute;
   bottom: 0;
   right: 0;
   width: 340px;
   line-height: 0;
   transform: translateY(8px);
   z-index: -1;
}

.block-theme .typo-word-underline-2:after {
   content: url('../images/word-underline-2.svg');
   position: absolute;
   bottom: 0;
   right: 0;
   width: 450px;
   line-height: 0;
   transform: translateY(16px);
   z-index: -1;
}

.block-theme .typo-word-underline-3:after {
   content: url('../images/word-underline-3.svg');
   position: absolute;
   bottom: 0;
   right: 0;
   width: 420px;
   line-height: 0;
   transform: translateY(16px);
   z-index: -1;
}

@media (max-width: 768px) {
   .block-theme .typo-word-underline-1:after {
      width: 240px;
   }
   .block-theme .typo-word-underline-2:after {
      transform: translateY(12px);
      width: 350px;
   }
   .block-theme .typo-word-underline-3:after {
      transform: translateY(12px);
      width: 320px;
   }
}

/* Other */
.block-theme ul,
.block-theme ol,
.block-theme li {
   list-style: none;
   margin: 0;
   padding: 0;
}

.block-theme p {
   font-size: var(--18px);
   color: var(--black);
   line-height: 1.5;
   margin: 0 0 16px;
}

/* Blockquote */
.block-theme blockquote {
   margin: 32px 0;
   padding: 0 0 0 24px;
   border-left: 2px solid var(--black);
}

.block-theme blockquote p {
   font-size: var(--24px);
   font-weight: 500;
   margin: 0;
   line-height: 1.3 !important;
   color: var(--black);
}

.block-theme blockquote cite {
   font-size: var(--18px);
   font-weight: 500;
   font-style: normal;
   margin: 16px 0 0;
   display: block;
}

@media (max-width: 768px) {
   .block-theme blockquote p {
      font-size: var(--20px);
   }
   .block-theme blockquote cite {
      font-size: var(--16px);
   }
}

/*--------------------------------------------------------------
Links/Buttons
--------------------------------------------------------------*/
/* Links */
.block-theme a {
   color: var(--black);
   text-decoration: none;
   cursor: pointer;
}

.block-theme a:hover {
   color: var(--grey);
}

.block-theme p a,
.block-theme li a {
   text-decoration: underline;
}

.block-theme p a:hover,
.block-theme li a:hover {
   color: var(--grey);
}

.block-theme .block-setting-text-white p a:hover,
.block-theme .block-setting-text-white li a:hover {
   color: var(--grey) !important;
}

.block-theme .block-setting-text-white .ignore-text-white p a:hover,
.block-theme .block-setting-text-white .ignore-text-white li a:hover {
   color: var(--grey);
}

.block-theme .arrow-link {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   white-space: nowrap;
   gap: 6px;
   color: var(--black);
}

.block-theme .arrow-link svg {
   width: 10px;
   height: auto;
   flex-shrink: 0;
   transition: transform 0.3s ease;
}

.block-theme .arrow-link:hover svg {
   transform: translateX(-3px);
}

.block-theme .icon-link {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   white-space: nowrap;
   gap: 6px;
   color: var(--black);
}

.block-theme .icon-link:hover {
   color: var(--grey);
}

.block-theme .icon-link svg {
   line-height: 0;
   max-height: 16px;
   max-width: 16px;
   width: 100%;
   flex-shrink: 0;
   transition: all 0.3s ease;
   color: var(--grey);
}

.block-theme .icon-link:hover svg {
   transform: translateX(-2px);
   color: var(--grey);
}

/* Buttons */
.block-theme .button-group {
   display: flex;
   align-items: center;
   flex-wrap: wrap;
   gap: 12px;
   margin-top: 32px;
}

.block-buttons .button-group {
   margin: 0;
}

.block-theme .button-group.button-group-align-start {
   justify-content: flex-start;
}
.block-theme .button-group.button-group-align-center {
   justify-content: center;
}
.block-theme .button-group.button-group-align-end {
   justify-content: flex-end;
}

@media (max-width: 440px) {
   .block-theme .button-group {
      gap: 8px;
   }
   .block-theme .button-group .button,
   .block-theme .button-group button {
      flex: 100%;
   }
}

.block-theme .button,
.block-theme button,
.block-theme input[type='button'],
.block-theme input[type='reset'],
.block-theme input[type='submit'] {
   outline: none;
   display: inline-block;
   position: relative;
   z-index: 1;
   padding: 19px 34px;
   font-family: var(--font-secondary);
   font-size: var(--18px);
   font-weight: 600;
   background-color: var(--black);
   border: 1px solid var(--black);
   border-radius: 100px !important;
   color: var(--white);
   height: auto;
   line-height: 20px;
   text-align: center;
   cursor: pointer;
}

.block-theme .button:hover,
.block-theme button:hover,
.block-theme input[type='button']:hover,
.block-theme input[type='reset']:hover,
.block-theme input[type='submit']:hover {
   border-color: var(--purple-25);
   color: var(--white);
}

.block-theme .button:before,
.block-theme button:before,
.block-theme input[type='button']:before,
.block-theme input[type='reset']:before,
.block-theme input[type='submit']:before {
   content: '';
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background-image: url(../images/button-hover.jpg);
   background-size: cover;
   background-position: center;
   background-repeat: no-repeat;
   opacity: 0;
   transition: opacity 0.3s ease;
   border-radius: 100px;
   z-index: -1;
}

.block-theme .button:hover:before,
.block-theme button:hover:before,
.block-theme input[type='button']:hover:before,
.block-theme input[type='reset']:hover:before,
.block-theme input[type='submit']:hover:before {
   opacity: 1;
}

.block-theme .btn-loader {
   display: none;
   position: absolute;
   left: calc(50% - 9px);
   top: calc(50% - 9px);
}

/* Coloured Buttons */
.block-theme .button.black,
.block-theme button.black {
   background-color: var(--black);
   border-color: var(--black);
   color: var(--white);
}

.block-theme .button.black:hover,
.block-theme button.black:hover {
   border-color: var(--purple-25);
   color: var(--white);
}

.block-theme .button.white,
.block-theme button.white {
   background-color: var(--white);
   border-color: var(--white);
   color: var(--black);
}

.block-theme .button.white:hover,
.block-theme button.white:hover {
   border-color: var(--purple);
   color: var(--white);
}

/* Ghost Buttons */
.block-theme .button.ghost,
.block-theme button.ghost {
   background-color: transparent;
   border: 1px solid var(--black);
   color: var(--black);
}

.block-theme .button.ghost:hover,
.block-theme button.ghost:hover {
   border-color: var(--purple-25);
   color: var(--white);
}

.block-theme .button.ghost.white,
.block-theme button.ghost.white {
   border-color: var(--white);
   color: var(--white);
}

.block-theme .button.ghost.white:hover,
.block-theme button.ghost.white:hover {
   border-color: var(--purple);
   color: var(--white);
}

/* Icon Buttons */
.block-theme .button.icon-button,
.block-theme button.icon-button {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   white-space: nowrap;
   gap: 8px;
}

.block-theme .button.icon-button svg,
.block-theme button.icon-button svg {
   width: 14px;
   height: auto;
   flex-shrink: 0;
   transition: transform 0.3s ease;
}

.block-theme .button.icon-button:hover svg,
.block-theme button.icon-button:focus svg {
   transform: translateX(-2px);
}

@media (max-width: 440px) {
   .block-theme .button.icon-button,
   .block-theme button.icon-button {
      white-space: normal;
   }
}

/* Arrow Buttons */
.block-theme .button.arrow-button,
.block-theme button.arrow-button {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   white-space: nowrap;
   gap: 8px;
}

.block-theme .button.arrow-button svg,
.block-theme button.arrow-button svg {
   width: 12px;
   height: auto;
   flex-shrink: 0;
   transition: transform 0.3s ease;
}

.block-theme .button.arrow-button:hover svg,
.block-theme button.arrow-button:hover svg {
   transform: translateX(-2px);
}

@media (max-width: 440px) {
   .block-theme .button.arrow-button,
   .block-theme button.arrow-button {
      white-space: normal;
   }
}

/*--------------------------------------------------------------
Forms/Inputs
--------------------------------------------------------------*/
.block-theme form *[disabled] {
   opacity: 0.5;
   pointer-events: none;
}

/* Labels */
.block-theme label,
.block-theme legend {
   display: block;
   margin: 0 0 4px;
   font-size: var(--14px);
   font-weight: 500;
   color: var(--black);
}

.block-theme label a,
.block-theme legend a {
   text-decoration: underline;
}

.block-theme label a:hover,
.block-theme legend a:hover {
   color: var(--grey);
}

.block-theme label .required {
   color: var(--red);
   margin-left: 2px;
   font-weight: 600;
}

/* Basic Fields */
.block-theme input:not([type='button'], [type='submit']),
.block-theme select,
.block-theme textarea {
   appearance: none;
   -webkit-appearance: none;
   outline: none;
   display: inline-block;
   width: 100%;
   background-color: var(--white);
   padding: 14px 16px;
   border: 1px solid var(--black);
   border-radius: 10px;
   line-height: 20px;
}

.block-theme textarea {
   height: 120px;
   resize: vertical;
}

.block-theme input:not([type='button'], [type='submit']):focus,
.block-theme select:focus,
.block-theme textarea:focus {
   border-color: var(--grey);
}

::-webkit-input-placeholder {
   color: var(--grey);
}
::-ms-input-placeholder {
   color: var(--grey);
}
::placeholder {
   color: var(--grey);
}

/* Select */
.block-theme select {
   background: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20448%22%20enable-background%3D%22new%200%200%20256%20448%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E.arrow%7Bfill%3A%23000000%3B%7D%3C%2Fstyle%3E%3Cpath%20class%3D%22arrow%22%20d%3D%22M255.9%20168c0-4.2-1.6-7.9-4.8-11.2-3.2-3.2-6.9-4.8-11.2-4.8H16c-4.2%200-7.9%201.6-11.2%204.8S0%20163.8%200%20168c0%204.4%201.6%208.2%204.8%2011.4l112%20112c3.1%203.1%206.8%204.6%2011.2%204.6%204.4%200%208.2-1.5%2011.4-4.6l112-112c3-3.2%204.5-7%204.5-11.4z%22%2F%3E%3C%2Fsvg%3E%0A')
      no-repeat right 16px center / auto 20px !important;
   -moz-appearance: none;
   -webkit-appearance: none;
   appearance: none;
   padding: 14px 40px 14px 16px;
   cursor: pointer;
}

.block-theme .select2,
.block-theme .select2 * {
   margin: 0;
   padding: 0;
}

.block-theme .select2-container .select2-selection {
   height: auto;
   display: block;
   width: 100%;
   margin: 0;
   border: 0;
   padding: 14px 16px;
   background: var(--white);
   border: 1px solid var(--black);
   border-radius: 0;
   color: var(--black);
   line-height: 20px;
   text-align: left;
   text-decoration: none;
   background: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20448%22%20enable-background%3D%22new%200%200%20256%20448%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E.arrow%7Bfill%3A%23000000%3B%7D%3C%2Fstyle%3E%3Cpath%20class%3D%22arrow%22%20d%3D%22M255.9%20168c0-4.2-1.6-7.9-4.8-11.2-3.2-3.2-6.9-4.8-11.2-4.8H16c-4.2%200-7.9%201.6-11.2%204.8S0%20163.8%200%20168c0%204.4%201.6%208.2%204.8%2011.4l112%20112c3.1%203.1%206.8%204.6%2011.2%204.6%204.4%200%208.2-1.5%2011.4-4.6l112-112c3-3.2%204.5-7%204.5-11.4z%22%2F%3E%3C%2Fsvg%3E%0A')
      no-repeat right 16px center / auto 20px !important;
   cursor: pointer;
}

.block-theme .select2-container .select2-selection,
.block-theme .select2-container .select2-selection * {
   line-height: 20px;
}

.block-theme .select2-container.select2-container--open .select2-selection {
   border-color: var(--black);
}

.block-theme .select2-selection__rendered,
.block-theme .select2-selection__placeholder {
   color: var(--red);
}

.block-theme .select2-dropdown {
   border-color: var(--black);
   background-color: transparent;
   padding-top: 30px;
   top: -30px;
   border-radius: 0;
}

.block-theme .select2-dropdown .select2-search,
.block-theme .select2-dropdown .select2-results__option {
   padding: 5px;
}

.block-theme .select2-dropdown .select2-results,
.block-theme .select2-dropdown .select2-search {
   background: var(--white);
}

.block-theme .select2-container .select2-selection .select2-selection__rendered {
   line-height: 20px;
   padding: 0;
}

.block-theme .select2-dropdown .select2-results__option.select2-results__option--highlighted {
   background: var(--black);
}

.block-theme .select2-container .select2-selection__arrow {
   display: none;
}

/* Checkbox & Radio */
.block-theme input[type='checkbox'],
.block-theme input[type='radio'] {
   min-height: 20px;
   min-width: 20px;
   max-width: 20px;
   max-height: 20px;
   border: 1px solid var(--black);
   padding: 0;
   background: var(--white);
   box-shadow: none;
   margin: 0 8px 0 0;
   position: relative;
   display: inline-block;
   cursor: pointer;
   transition: none;
}

.block-theme input[type='radio'] {
   border-radius: 100%;
}

.block-theme input[type='checkbox'] + label,
.block-theme input[type='radio'] + label {
   margin: 0;
}

.block-theme input[type='checkbox']:checked {
   border-color: var(--black);
   background: var(--black) url(../images/icon-checkbox.svg) 50% no-repeat;
   background-size: 16px;
}

.block-theme input[type='radio']:checked {
   border: 4px solid var(--black);
}

.block-theme input[type='radio']:before,
.block-theme input[type='checkbox']:before {
   display: none;
}

/* File Upload */
.block-theme input[type='file']::file-selector-button {
   border: 0;
   width: auto;
   padding: 10px 15px;
   margin-right: 10px;
   font-size: 16px;
   font-weight: 600;
   line-height: 20px;
   color: var(--white);
   text-align: center;
   text-decoration: none;
   background: var(--black);
   border: 1px solid var(--black);
   border-radius: 2px;
   cursor: pointer;
}

/* Gravity Forms */
.gform_wrapper {
   --gform-theme-form-row-gap: 32px !important;
   --gform-theme-form-col-gap: 32px !important;
}

.gform-theme--api,
.gform-theme--foundation {
   --gf-form-gap-x: 32px !important;
   --gf-form-gap-y: 32px !important;
   --gf-label-req-gap: 2px !important;
}

.gform_wrapper .gform_heading,
.gform_wrapper .gform_title,
.gform_wrapper .gform_required_legend {
   display: none;
}

.gform_wrapper .validation_message {
   display: none !important;
}

.gform_confirmation_wrapper .gform_confirmation_message {
   text-align: center;
   font-size: var(--22px);
   font-weight: 500;
}

.gform-theme--framework .gform_validation_errors .gform_submission_error {
   margin: 0;
   text-transform: none;
}

.gform-theme--framework .gfield_list_group_item:before,
.gform-theme--framework .gform-field-label {
   font-size: var(--16px) !important;
   font-weight: 500 !important;
}

.gform-theme--framework .gform-field-label.gfield_consent_label {
   font-size: var(--14px) !important;
}

.gform_wrapper .gform_body .gform_fields .gfield input[type='text'],
.gform_wrapper .gform_body .gform_fields .gfield input[type='email'],
.gform_wrapper .gform_body .gform_fields .gfield input[type='url'],
.gform_wrapper .gform_body .gform_fields .gfield input[type='password'],
.gform_wrapper .gform_body .gform_fields .gfield input[type='number'],
.gform_wrapper .gform_body .gform_fields .gfield input[type='tel'],
.gform_wrapper .gform_body .gform_fields .gfield input[type='search'],
.gform_wrapper .gform_body .gform_fields .gfield textarea,
.gform_wrapper .gform_body .gform_fields .gfield select {
   background-color: var(--white) !important;
   border: 1px solid var(--black) !important;
   border-radius: 10px !important;
   line-height: 20px !important;
   padding: 14px 16px !important;
   height: auto !important;
   box-shadow: none !important;
   width: 100%;
}

.gform_wrapper .gform_body .gform_fields .gfield select {
   padding: 14px 40px 14px 16px !important;
}

.gform_wrapper .gform_body .gform_fields .gfield textarea {
   height: 120px !important;
   min-block-size: 120px;
}

.gform_wrapper .gform_body .gform_fields .gfield input:focus,
.gform_wrapper .gform_body .gform_fields .gfield textarea:focus,
.gform_wrapper .gform_body .gform_fields .gfield select:focus {
   border-color: var(--grey) !important;
   outline: none !important;
}

.gform_wrapper .gform_body .gform_fields .gfield.gfield_error input,
.gform_wrapper .gform_body .gform_fields .gfield.gfield_error textarea,
.gform_wrapper .gform_body .gform_fields .gfield.gfield_error select {
   border-color: var(--red) !important;
}

.gform-theme--foundation .gform_drop_area {
   border: 1px solid var(--black) !important;
   border-radius: 10px !important;
   padding: 24px !important;
}

.gform-theme--framework .gfield:where(.gfield--type-fileupload, .gfield--input-type-fileupload) .gform_drop_area::before {
   content: url(../images/icon-upload-square.svg) !important;
   width: 34px;
   line-height: 0 !important;
   margin: 0 auto 16px !important;
}

.gform-theme--foundation .gform_drop_area button {
   border: 1px solid var(--grey) !important;
   background: var(--white) !important;
   padding: 6px 16px !important;
   border-radius: 6px !important;
   color: var(--black) !important;
}

.gform-theme--foundation .gform_drop_area button:hover {
   border-color: var(--black) !important;
}

.gform-theme--framework .gfield:where(.gfield--type-fileupload, .gfield--input-type-fileupload) .ginput_preview .gfield_fileupload_progressbar_progress {
   background-color: var(--grey) !important;
}

.gform-theme--foundation .gform_footer {
   justify-content: center;
   margin: 32px 0 0 !important;
}

.gform_wrapper .gform_footer input[type='submit'],
.gform_wrapper .gform_footer button[type='submit'] {
   outline: none !important;
   display: inline-block !important;
   position: relative !important;
   padding: 19px 34px !important;
   font-family: var(--font-secondary) !important;
   font-size: var(--18px) !important;
   font-weight: 600 !important;
   background-color: var(--black) !important;
   border: 1px solid var(--black) !important;
   box-shadow: none !important;
   border-radius: 100px !important;
   color: var(--white) !important;
   height: auto !important;
   line-height: 20px !important;
   text-align: center !important;
   cursor: pointer !important;
   z-index: 1 !important;
}

.gform_wrapper .gform_footer input[type='submit']:hover,
.gform_wrapper .gform_footer button[type='submit']:hover {
   background-color: transparent !important;
   border-color: var(--purple-25) !important;
   color: var(--white) !important;
}

.gform_wrapper .gform_footer input[type='submit']:before,
.gform_wrapper .gform_footer button[type='submit']:before {
   content: '' !important;
   position: absolute !important;
   top: 0 !important;
   left: 0 !important;
   width: 100% !important;
   height: 100% !important;
   background-image: url(../images/button-hover.jpg) !important;
   background-size: cover !important;
   background-position: center !important;
   background-repeat: no-repeat !important;
   opacity: 0 !important;
   transition: opacity 0.3s ease !important;
   border-radius: 100px !important;
   z-index: -1 !important;
}

.gform_wrapper .gform_footer input[type='submit']:hover:before,
.gform_wrapper .gform_footer button[type='submit']:hover:before {
   opacity: 1 !important;
}

.gform-theme--foundation .gform-loader {
   flex-shrink: 0;
}

@media (max-width: 600px) {
   .gform_wrapper {
      --gform-theme-form-row-gap: 24px !important;
      --gform-theme-form-col-gap: 24px !important;
   }
   .gform-theme--api,
   .gform-theme--foundation {
      --gf-form-gap-x: 24px !important;
      --gf-form-gap-y: 24px !important;
   }
}
@media (max-width: 440px) {
   .gform_wrapper .gform_footer input[type='submit'],
   .gform_wrapper .gform_footer button[type='submit'] {
      width: 100% !important;
   }
}

/*--------------------------------------------------------------
Helpers
--------------------------------------------------------------*/
/* Visibility */
.block-theme .desktop-only {
   display: block;
}

.block-theme .mobile-only {
   display: none;
}

.block-theme .hidden {
   display: none !important;
}

@media (max-width: 768px) {
   .block-theme .desktop-only {
      display: none;
   }
   .block-theme .mobile-only {
      display: block;
   }
}

/* Positioning */
.block-theme .pos-relative {
   position: relative;
}

/* Images */
.block-theme img.aligncenter {
   margin-left: auto;
   margin-right: auto;
   float: none;
}

.block-theme img.alignleft {
   float: left;
}

.block-theme img.alignright {
   float: right;
}

.block-theme img.size-full {
   width: 100%;
}

/* Clearfix */
.block-theme .clearfix:after {
   content: '';
   display: table;
   clear: both;
}

/* Animation */
.shimmer:before {
   content: '';
   display: block;
   background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 100%);
   height: 100%;
   left: -75%;
   position: absolute;
   top: 0;
   transform: skewX(-25deg);
   width: 50%;
   z-index: 2;
   animation: shimmer 3s infinite;
}

@keyframes shimmer {
   0% {
      left: -75%;
   }
   50% {
      left: 125%;
   }
   100% {
      left: 125%;
   }
}

/*--------------------------------------------------------------
Containers/Layout
--------------------------------------------------------------*/
/* Main */
.container {
   width: 100%;
   padding: 0 30px;
   margin: 0 auto;
   max-width: 1460px;
}

.container.w500 {
   max-width: 540px;
}
.container.w600 {
   max-width: 660px;
}
.container.w700 {
   max-width: 760px;
}
.container.w800 {
   max-width: 860px;
}
.container.w900 {
   max-width: 960px;
}
.container.w1000 {
   max-width: 1060px;
}
.container.w1100 {
   max-width: 1160px;
}
.container.w1200 {
   max-width: 1260px;
}
.container.w1300 {
   max-width: 1360px;
}
.container.w1400 {
   max-width: 1460px;
}
.container.w1600 {
   max-width: 1660px;
}
.container.wmax {
   max-width: 1920px;
   padding: 0;
}
.container.none {
   max-width: none;
   padding: 0;
}

@media (max-width: 600px) {
   .container {
      padding: 0 20px;
   }
}

/* Special */
.container-oneside {
   margin-left: calc((100% - min(calc(100% - 0px), 1460px)) / 2);
   padding: 0 0 0 30px;
}

.parallax-container {
   overflow: hidden;
}

.responsive-video {
   position: relative;
   overflow: hidden;
   padding-bottom: 56.25%;
}

.responsive-video iframe {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
}

@media (max-width: 600px) {
   .container-oneside {
      margin-left: calc((100% - min(calc(100% - 0px), 1460px)) / 2);
      padding: 0 0 0 20px;
   }
}

/* Grid System */
.block-theme .grid-system-1,
.block-theme .grid-system-2,
.block-theme .grid-system-3,
.block-theme .grid-system-4,
.block-theme .grid-system-5,
.block-theme .grid-system-6 {
   display: grid;
   gap: 24px;
}

.block-theme .grid-system-1,
.block-theme .grid-system-2 {
   gap: 40px;
}

.block-theme .grid-system-2 {
   grid-template-columns: repeat(2, 1fr);
}

.block-theme .grid-system-3 {
   grid-template-columns: repeat(3, 1fr);
   gap: 40px;
}

.block-theme .grid-system-4 {
   grid-template-columns: repeat(4, 1fr);
}

.block-theme .grid-system-5 {
   grid-template-columns: repeat(5, 1fr);
}

.block-theme .grid-system-6 {
   grid-template-columns: repeat(6, 1fr);
}

@media (max-width: 1200px) {
   .block-theme .grid-system-5 {
      grid-template-columns: repeat(3, 1fr);
   }
   .block-theme .grid-system-6 {
      grid-template-columns: repeat(4, 1fr);
   }
}
@media (max-width: 992px) {
   .block-theme .grid-system-1,
   .block-theme .grid-system-2,
   .block-theme .grid-system-3 {
      gap: 30px;
   }
   .block-theme .grid-system-3 {
      grid-template-columns: repeat(2, 1fr);
   }
   .block-theme .grid-system-4,
   .block-theme .grid-system-5,
   .block-theme .grid-system-6 {
      grid-template-columns: repeat(3, 1fr);
   }
}
@media (max-width: 768px) {
   .block-theme .grid-system-2 {
      grid-template-columns: repeat(1, 1fr);
   }
   .block-theme .grid-system-4,
   .block-theme .grid-system-5 {
      grid-template-columns: repeat(2, 1fr);
   }
}
@media (max-width: 500px) {
   .block-theme .grid-system-3,
   .block-theme .grid-system-4 {
      grid-template-columns: repeat(1, 1fr);
   }
   .block-theme .grid-system-6 {
      grid-template-columns: repeat(2, 1fr);
   }
}

/* Tables */
.block-theme table {
   border-collapse: collapse;
   width: 100%;
}

.block-theme table,
.block-theme table tr,
.block-theme table th,
.block-theme table td {
   border-color: var(--black);
}

.block-theme table th,
.block-theme table td {
   padding: 10px;
   text-align: left;
   border: 1px solid var(--black);
   color: var(--black);
}

.block-theme table th {
   background: #f2f3f4;
}

.block-theme table th,
.block-theme table th * {
   font-weight: 600;
}

/*-----------------------------------------------------------------------
Block Settings
-----------------------------------------------------------------------*/
/* Padding */
.block-section .block-setting-padding {
   padding-top: var(--block-padding-top);
   padding-bottom: var(--block-padding-bottom);
}

@media (max-width: 768px) {
   .block-section .block-setting-padding {
      padding-top: calc(var(--block-padding-top) / 2);
      padding-bottom: calc(var(--block-padding-bottom) / 2);
   }
}

/* Backgrounds */
.block-section .block-setting-background-none {
   background-color: transparent;
}

.block-section .block-setting-background-white {
   background-color: var(--white);
   --block-background: var(--white);
}

.block-section .block-setting-background-grey {
   background-color: var(--lgrey);
   --block-background: var(--lgrey);
}

.block-section .block-setting-background-black {
   background-color: var(--black);
   --block-background: var(--black);
}

.block-section .block-setting-background-purple {
   background-color: var(--purple-25);
   --block-background: var(--purple-25);
}

.block-section .block-setting-background-aqua {
   background-color: var(--aqua-25);
   --block-background: var(--aqua-25);
}

.block-section .block-setting-background-gradient-pb {
   background: var(--gradient-purpleblue);
   --block-background: var(--gradient-purpleblue);
}

.block-section .block-setting-background-gradient-gb {
   background: var(--gradient-greenblue);
   --block-background: var(--gradient-greenblue);
}

.block-section .block-setting-consecutive-gradient {
   background-attachment: fixed;
}

.block-section .block-setting-clip-top {
   clip-path: ellipse(150% 100% at bottom);
}

.block-section .block-setting-clip-bottom {
   clip-path: ellipse(150% 100% at top);
}

.block-section .block-setting-clip-both {
   clip-path: ellipse(150% 50% at center);
}

@media (max-width: 768px) {
   .block-section .block-setting-clip-top {
      clip-path: ellipse(200% 100% at bottom);
   }
   .block-section .block-setting-clip-bottom {
      clip-path: ellipse(200% 100% at top);
   }
   .block-section .block-setting-clip-both {
      clip-path: ellipse(200% 50% at center);
   }
}

/* Colours */
.block-section .block-setting-text-white *:not(.button, svg, path, span[style*='color'], .ignore-text-white, .ignore-text-white *) {
   color: var(--white) !important;
}

/*--------------------------------------------------------------
General
--------------------------------------------------------------*/
/* Accordion */
.block-theme .accordion-section {
   border: none;
}

.block-theme .accordion-section .accordion-item {
   background-color: var(--white);
   border: 1px solid var(--black);
   border-radius: 20px;
   padding: 0 20px;
   margin: 0 0 12px;
}

.block-theme .block-setting-text-white .accordion-section .accordion-item {
   background-color: transparent;
   border-color: var(--white);
}

.block-theme .accordion-section .accordion-item:last-of-type {
   margin: 0;
}

.block-theme .accordion-section .accordion-item .accordion-header {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 24px;
   cursor: pointer;
   padding: 24px 0;
   line-height: 1.2;
   margin: 0;
   font-size: var(--20px);
   font-weight: 500;
   color: var(--black);
}

.block-theme .accordion-section .accordion-item .accordion-header .accordion-toggle {
   display: flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0;
}

.block-theme .accordion-section .accordion-item .accordion-header .accordion-toggle svg {
   width: 14px;
   transition: all 0.3s ease;
}

.block-theme .accordion-section .accordion-item.active .accordion-header .accordion-toggle svg {
   transform: rotate(45deg);
}

.block-theme .accordion-section .accordion-item .accordion-content {
   display: none;
   padding: 8px 48px 32px 0;
}

@media (max-width: 768px) {
   .block-theme .accordion-section .accordion-item .accordion-header {
      padding: 20px 0;
   }
   .block-theme .accordion-section .accordion-item .accordion-content {
      padding: 4px 32px 24px 0;
   }
}

/* Clipboard Copy */
.block-theme .clipboard-copy {
   position: relative;
   cursor: pointer;
}

.block-theme .clipboard-copy .tooltip {
   visibility: hidden;
   width: auto;
   white-space: nowrap;
   background: var(--black);
   color: var(--white);
   text-align: center;
   border-radius: 4px;
   padding: 3px 10px;
   position: absolute;
   top: 0;
   left: 50%;
   font-size: var(--13px);
   line-height: 1.618;
   transform: translate(-50%, -140%);
   opacity: 0;
   transition: opacity 0.3s ease;
}

.block-theme .clipboard-copy .tooltip:after {
   content: '';
   position: absolute;
   top: 100%;
   left: 50%;
   margin-left: -5px;
   border-width: 5px;
   border-style: solid;
   border-color: var(--black) transparent transparent transparent;
}

.block-theme .clipboard-copy:hover .tooltip {
   visibility: visible;
   opacity: 1;
}

/* Swiper */
.block-theme .swiper-navigation {
   display: flex;
   justify-content: flex-end;
   margin: 12px 0 0;
}

.block-theme .swiper-navigation-wrap {
   display: flex;
   align-items: center;
   gap: 8px;
   border: 1.5px solid var(--black);
   border-radius: 100px;
   padding: 6px 8px;
}

.block-theme .swiper-navigation-wrap:has(.swiper-button-lock) {
   display: none;
}

.block-theme .swiper-button-prev,
.block-theme .swiper-button-next {
   transition: all 0.3s ease;
   color: var(--black);
   width: auto;
   height: auto;
   position: static;
   margin: 0;
}

.block-theme .swiper-button-prev.swiper-button-disabled,
.block-theme .swiper-button-next.swiper-button-disabled {
   opacity: 0.5;
}

.block-theme .swiper-button-prev:after,
.block-theme .swiper-button-next:after {
   display: none;
}

.block-theme .swiper-button-prev span,
.block-theme .swiper-button-next span {
   background-color: var(--blue-25);
   height: 42px;
   width: 42px;
   display: flex;
   align-items: center;
   justify-content: center;
   border-radius: 100%;
   transition: all 0.3s ease;
}

.block-theme .swiper-button-prev:hover span,
.block-theme .swiper-button-next:hover span {
   background-color: var(--blue-50);
}

.block-theme .swiper-button-prev svg,
.block-theme .swiper-button-next svg {
   height: 16px;
   width: auto;
}

.block-theme .swiper-button-prev svg {
   margin-right: 3px;
}

.block-theme .swiper-button-next svg {
   margin-left: 3px;
}

.block-theme .swiper-pagination-progressbar.swiper-pagination-horizontal {
   background: var(--grey);
   height: 4px;
   position: static;
}

.block-theme .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
   background: var(--black);
}

.block-theme .swiper-pagination.swiper-pagination-bullets {
   display: flex;
   justify-content: center;
   gap: 6px;
   position: static;
   margin: 24px 0 0;
}

.block-theme .swiper-pagination.swiper-pagination-bullets .swiper-pagination-bullet {
   opacity: 1;
   background-color: var(--grey);
   width: 10px;
   height: 10px;
   margin: 0;
   transition: all 0.3s ease;
}

.block-theme .swiper-pagination.swiper-pagination-bullets .swiper-pagination-bullet-active {
   background: var(--black);
   width: 24px;
   border-radius: 10px;
}

/*-----------------------------------------------------------------------
WYSIWYG Content
-----------------------------------------------------------------------*/
.wysiwyg-content h1:last-child,
.wysiwyg-content h2:last-child,
.wysiwyg-content h3:last-child,
.wysiwyg-content h4:last-child,
.wysiwyg-content h5:last-child,
.wysiwyg-content h6:last-child,
.wysiwyg-content p:last-child,
.wysiwyg-content ul:last-child,
.wysiwyg-content img:last-child,
.wysiwyg-content table:last-child,
.wysiwyg-content code:last-child,
.wysiwyg-content blockquote:last-child {
   margin: 0;
}

/* Lists */
.wysiwyg-content ul,
.wysiwyg-content ol {
   list-style: none;
   margin: 0 0 24px;
   padding: 0;
   font-size: var(--18px);
}

.wysiwyg-content ul li,
.wysiwyg-content ol li {
   position: relative;
   margin: 0 0 4px;
   padding: 0 0 0 16px;
}

.wysiwyg-content ul li:last-of-type,
.wysiwyg-content ol li:last-of-type {
   margin: 0;
}

.wysiwyg-content ul li:before {
   content: '';
   display: block;
   position: absolute;
   top: 10px;
   left: 0px;
   width: 6px;
   height: 6px;
   border-radius: 100%;
   background: var(--black);
}

.block-setting-text-white .wysiwyg-content ul li:before {
   background: var(--white);
}

.wysiwyg-content ol {
   counter-reset: item;
   list-style-position: outside;
}

.wysiwyg-content ol li:before {
   content: counter(item) '. ';
   counter-increment: item;
   display: block;
   position: absolute;
   top: 0;
   left: 0;
}

/*--------------------------------------------------------------
Pages
--------------------------------------------------------------*/
/* Default */
body.site-setting-header-overlap .page-default .block-section:first-child .block-setting-padding {
   padding-top: calc(var(--header-height) + var(--block-padding-top));
}

@media (max-width: 768px) {
   body.site-setting-header-overlap .page-default .block-section:first-child .block-setting-padding {
      padding-top: calc(var(--header-height) + calc(var(--block-padding-top) / 2));
   }
}

/*-----------------------------------------------------------------------
Block: Multicolumn
-----------------------------------------------------------------------*/
.block-multicolumn .block-multicolumn-row {
   display: flex;
   flex-wrap: wrap;
   gap: 60px;
}

.block-multicolumn .block-setting-multicolumn-start .block-multicolumn-row {
   align-items: flex-start;
}
.block-multicolumn .block-setting-multicolumn-center .block-multicolumn-row {
   align-items: center;
}
.block-multicolumn .block-setting-multicolumn-end .block-multicolumn-row {
   align-items: flex-end;
}

.block-multicolumn .block-setting-multicolumn-2 .block-multicolumn-row {
   gap: 60px;
}
.block-multicolumn .block-setting-multicolumn-2 .block-multicolumn-col {
   flex: 0 0 calc(50% - 30px);
}

.block-multicolumn .block-setting-multicolumn-3 .block-multicolumn-row {
   gap: 60px;
}
.block-multicolumn .block-setting-multicolumn-3 .block-multicolumn-col {
   flex: 0 0 calc(33.33333% - 40px);
}

.block-multicolumn .block-setting-multicolumn-4 .block-multicolumn-row {
   gap: 40px;
}
.block-multicolumn .block-setting-multicolumn-4 .block-multicolumn-col {
   flex: 0 0 calc(25% - 30px);
}

@media (max-width: 768px) {
   .block-multicolumn .block-setting-multicolumn-2 .block-multicolumn-row {
      gap: 30px;
   }
   .block-multicolumn .block-setting-multicolumn-2 .block-multicolumn-col {
      flex: 100%;
   }
   .block-multicolumn .block-setting-multicolumn-3 .block-multicolumn-row {
      gap: 30px;
   }
   .block-multicolumn .block-setting-multicolumn-3 .block-multicolumn-col {
      flex: 100%;
   }
   .block-multicolumn .block-setting-multicolumn-4 .block-multicolumn-row {
      gap: 30px;
   }
   .block-multicolumn .block-setting-multicolumn-4 .block-multicolumn-col {
      flex: 100%;
   }
}

/*-----------------------------------------------------------------------
Block: Split Intro
-----------------------------------------------------------------------*/
.block-split-intro .block-split-intro-row {
   display: flex;
   gap: 32px 120px;
}

.block-split-intro .block-split-intro-left {
   flex: 0 0 calc(50% - 100px);
}

.block-split-intro .block-split-intro-left .button-group {
   margin-top: 60px;
}

.block-split-intro .block-split-intro-right {
   flex: 0 0 calc(50% - 20px);
}

@media (max-width: 992px) {
   .block-split-intro .block-split-intro-row {
      flex-wrap: wrap;
   }
   .block-split-intro .block-split-intro-left {
      flex: 100%;
   }
   .block-split-intro .block-split-intro-left .button-group {
      margin-top: 40px;
   }
   .block-split-intro .block-split-intro-left > .button-group:first-child {
      margin: 0;
   }
   .block-split-intro .block-split-intro-left .button-group.button-group-align-center,
   .block-split-intro .block-split-intro-left .button-group.button-group-align-end {
      justify-content: flex-start;
   }
   .block-split-intro .block-split-intro-right {
      flex: 100%;
   }
}

/*-----------------------------------------------------------------------
Block: Split Intro w/ Image
-----------------------------------------------------------------------*/
.block-split-intro-image .block-setting-override {
   position: relative;
   z-index: 1;
}

.block-split-intro-image .block-split-intro-image-shape {
   position: absolute;
   bottom: 0;
   right: 0;
   width: 700px;
   z-index: -1;
   pointer-events: none;
   transform: translateY(40%);
}

.block-split-intro-image .block-split-intro-image-row {
   display: flex;
   align-items: center;
   gap: 32px 120px;
}

.block-split-intro-image .block-split-intro-image-left {
   flex: 0 0 calc(50% - 100px);
}

.block-split-intro-image .block-split-intro-image-img {
   margin: 80px 0 calc(calc(var(--block-padding-bottom) + 80px) * -1) 0;
   position: relative;
   z-index: 1;
}

.block-split-intro-image .block-split-intro-image-img-top {
   background-size: cover;
   background-position: center;
   background-repeat: no-repeat;
   border-radius: 20px;
   width: 65%;
   padding-top: 70%;
}

.block-split-intro-image .block-split-intro-image-img-bottom {
   background-size: cover;
   background-position: center;
   background-repeat: no-repeat;
   border-radius: 20px;
   width: 70%;
   padding-top: 50%;
   margin: -20% 0 0 auto;
   position: relative;
   z-index: -1;
}

.block-split-intro-image .block-split-intro-image-right {
   flex: 0 0 calc(50% - 20px);
}

.block-split-intro-image .block-split-intro-image-right .button-group {
   margin-top: 40px;
}

@media (max-width: 992px) {
   .block-split-intro-image .block-split-intro-image-shape {
      width: 60%;
   }
   .block-split-intro-image .block-split-intro-image-row {
      flex-wrap: wrap;
   }
   .block-split-intro-image .block-split-intro-image-left {
      flex: 100%;
   }
   .block-split-intro-image .block-split-intro-image-right {
      flex: 100%;
   }
   .block-split-intro-image .block-split-intro-image-img {
      margin: 50px 0 0 0;
   }
}
@media (max-width: 440px) {
   .block-split-intro-image .block-split-intro-image-shape {
      display: none;
   }
}

/*-----------------------------------------------------------------------
Block: Split Heading
-----------------------------------------------------------------------*/
.block-split-heading .block-split-heading-row {
   display: flex;
   justify-content: space-between;
   align-items: flex-end;
   gap: 32px 80px;
}

.block-split-heading .block-split-heading-left {
   flex: 1;
   max-width: 700px;
}

.block-split-heading .block-split-heading-right .button-group {
   margin: 0 0 24px;
}

@media (max-width: 992px) {
   .block-split-heading .block-split-heading-row {
      flex-wrap: wrap;
   }
   .block-split-heading .block-split-heading-left {
      flex: 100%;
   }
   .block-split-heading .block-split-heading-right {
      flex: 100%;
   }
   .block-split-heading .block-split-heading-right .button-group {
      margin: 0;
   }
}

/*-----------------------------------------------------------------------
Block: Split Media
-----------------------------------------------------------------------*/
.block-split-media .block-setting-top-border {
   position: relative;
}

.block-split-media .block-setting-top-border:before {
   content: '';
   display: block;
   position: absolute;
   top: 0;
   left: 50%;
   transform: translateX(-50%);
   max-width: 1600px;
   width: 100%;
   height: 1px;
   background-color: rgba(var(--black-rgb), 0.2);
}

.block-split-media .block-split-media-row {
   display: flex;
   gap: 32px 80px;
}

.block-split-media .block-split-media-row.contain {
   align-items: center;
}

.block-split-media .block-split-media-content {
   flex: 0 0 calc(50% - 40px);
   padding: 40px 0;
   align-content: center;
}

.block-split-media .block-split-media-row.left .block-split-media-content {
   order: 2;
}

.block-split-media .block-split-media-row.right .block-split-media-content {
   order: 1;
}

.block-split-media .block-split-media-wrap {
   flex: 0 0 calc(50% - 40px);
   max-width: calc(50% - 40px);
   min-height: 580px;
}

.block-split-media .block-split-media-row.contain .block-split-media-wrap,
.block-split-media .block-split-media-row.media-type-gallery .block-split-media-wrap {
   min-height: auto;
}

.block-split-media .block-split-media-row.left .block-split-media-wrap {
   order: 1;
   padding: 0 80px 0 120px;
}

.block-split-media .block-split-media-row.right .block-split-media-wrap {
   order: 2;
   padding: 0 120px 0 80px;
}

.block-split-media div.block-split-media-img {
   background-size: cover;
   background-position: center;
   background-repeat: no-repeat;
   height: 100%;
   border-radius: 20px;
}

.block-split-media img.block-split-media-img {
   border-radius: 20px;
}

.block-split-media .block-split-media-video {
   position: relative;
   height: 100%;
   border-radius: 20px;
   overflow: hidden;
}

.block-split-media .block-split-media-video video {
   object-fit: cover;
   background-image: url('../images/video-loader-black.gif');
   background-repeat: no-repeat;
   background-size: 40px;
   background-position: center;
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
}
.block-split-media .block-split-media-video iframe {
   width: 100%;
   height: 100%;
}

.block-split-media .block-split-media-gallery {
   border-radius: 20px;
}

@media (max-width: 1260px) {
   .block-split-media .block-split-media-row.left .block-split-media-wrap {
      padding: 0;
   }
   .block-split-media .block-split-media-row.right .block-split-media-wrap {
      padding: 0;
   }
}
@media (max-width: 992px) {
   .block-split-media .block-split-media-row {
      flex-wrap: wrap;
   }
   .block-split-media .block-split-media-wrap {
      max-width: 100%;
      flex: 100%;
      min-height: auto;
   }
   .block-split-media .block-split-media-content {
      flex: 100%;
      padding: 0;
   }
   .block-split-media .block-split-media-row.left .block-split-media-wrap {
      order: 2;
   }
   .block-split-media .block-split-media-row.right .block-split-media-wrap {
      order: 2;
   }
   .block-split-media .block-split-media-row.left .block-split-media-content {
      order: 1;
   }
   .block-split-media .block-split-media-row.right .block-split-media-content {
      order: 1;
   }
   .block-split-media div.block-split-media-img {
      padding-top: 75%;
   }
   .block-split-media .block-split-media-video {
      padding-top: 75%;
   }
}
@media (max-width: 600px) {
   .block-split-media div.block-split-media-img {
      padding-top: 100%;
   }
   .block-split-media .block-split-media-video {
      padding-top: 100%;
   }
}

/*-----------------------------------------------------------------------
Block: Decorative Content
-----------------------------------------------------------------------*/
.block-decorative-content .block-setting-override {
   display: flex;
}

.block-decorative-content .block-decorative-content-shape-left,
.block-decorative-content .block-decorative-content-shape-right {
   max-width: 500px;
   pointer-events: none;
}

.block-decorative-content .block-decorative-content-shape-left {
   align-self: flex-end;
}

.block-decorative-content .block-decorative-content-shape-right {
   align-self: flex-start;
}

@media (max-width: 992px) {
   .block-decorative-content .block-decorative-content-shape-left {
      display: none;
   }
   .block-decorative-content .block-decorative-content-shape-right {
      display: none;
   }
}

/*-----------------------------------------------------------------------
Block: List
-----------------------------------------------------------------------*/
.block-list .block-setting-override {
   background-color: transparent;
}

.block-list .block-list-inner {
   background-color: var(--block-background);
   padding: 80px 60px;
   border-radius: 28px;
   position: relative;
   z-index: 1;
   overflow: hidden;
}

.block-list .block-list-shape {
   position: absolute;
   top: 0;
   right: 0;
   width: 320px;
   z-index: -1;
   pointer-events: none;
}

.block-list .block-list-header {
   margin: 0 0 60px;
}

.block-list .block-list-main {
   display: flex;
   flex-wrap: wrap;
   gap: 16px 48px;
}

.block-list .block-list-item {
   flex: 0 0 calc(33.33333% - 32px);
   display: flex;
   align-items: baseline;
   gap: 20px;
}

.block-list .block-list-item svg {
   width: 18px;
   flex-shrink: 0;
}

.block-list .block-list-item .h3 {
   margin: 0;
}

@media (max-width: 992px) {
   .block-list .block-list-item {
      flex: 0 0 calc(50% - 24px);
   }
}
@media (max-width: 768px) {
   .block-list .block-list-inner {
      padding: 40px;
   }
   .block-list .block-list-header {
      margin: 0 0 32px;
   }
   .block-list .block-list-shape {
      display: none;
   }
}
@media (max-width: 600px) {
   .block-list .block-list-inner {
      padding: 32px 20px;
   }
   .block-list .block-list-main {
      gap: 12px 48px;
   }
   .block-list .block-list-item {
      flex: 100%;
   }
}

/*-----------------------------------------------------------------------
Block: Steps
-----------------------------------------------------------------------*/
.block-steps .block-steps-row {
   display: flex;
   justify-content: center;
   flex-wrap: wrap;
   gap: 20px;
}

.block-steps .block-steps-item {
   flex: 0 0 calc(20% - 16px);
   background-color: var(--white);
   border: 1px solid var(--black);
   border-radius: 28px;
   padding: 16px 32px 56px 24px;
}

.block-steps .block-steps-item h2 {
   line-height: 1;
   margin: 0;
}

.block-steps .block-steps-item:nth-child(5n + 1) h2 {
   color: var(--purple-25);
}
.block-steps .block-steps-item:nth-child(5n + 2) h2 {
   color: var(--blue-25);
}
.block-steps .block-steps-item:nth-child(5n + 3) h2 {
   color: var(--aqua-25);
}
.block-steps .block-steps-item:nth-child(5n + 4) h2 {
   color: var(--green-25);
}
.block-steps .block-steps-item:nth-child(5n + 5) h2 {
   color: var(--red-25);
}

.block-steps .block-steps-item h3 {
   margin: 0;
}

.block-steps .block-steps-item p {
   margin: 32px 0 0;
}

@media (max-width: 1200px) {
   .block-steps .block-steps-row {
      gap: 18px;
   }
   .block-steps .block-steps-item {
      flex: 0 0 calc(33.33333% - 12px);
   }
}
@media (max-width: 768px) {
   .block-steps .block-steps-item {
      flex: 0 0 calc(50% - 9px);
   }
}
@media (max-width: 600px) {
   .block-steps .block-steps-row {
      gap: 16px;
   }
   .block-steps .block-steps-item {
      flex: 100%;
      padding: 16px 24px 32px 24px;
   }
   .block-steps .block-steps-item p {
      margin: 24px 0 0;
   }
}

/*-----------------------------------------------------------------------
Block: Stats
-----------------------------------------------------------------------*/
.block-stats {
   position: relative;
}

.block-stats .block-stats-content {
   padding: 320px 0 420px 0;
   position: relative;
   z-index: 2;
}

.block-stats .block-stats-content > h2 {
   max-width: 600px;
   margin: 0 auto 50px auto;
}

.block-stats .block-stats-countup-item {
   position: absolute;
   display: flex;
}

.block-stats .block-stats-countup-item:nth-child(1) {
   top: 100px;
   left: 30px;
}

.block-stats .block-stats-countup-item:nth-child(2) {
   top: 50px;
   right: 80px;
   flex-direction: column;
   align-items: flex-end;
}

.block-stats .block-stats-countup-item:nth-child(3) {
   bottom: 50px;
   left: 30px;
   flex-direction: column;
}

.block-stats .block-stats-countup-item:nth-child(4) {
   bottom: 80px;
   right: 0;
   flex-direction: row-reverse;
   align-items: flex-end;
}

.block-stats .block-stats-countup-image {
   background-repeat: no-repeat;
   background-size: cover;
   background-position: center;
   border-radius: 28px;
}

.block-stats .block-stats-countup-item:nth-child(1) .block-stats-countup-image {
   width: 300px;
   height: 380px;
}

.block-stats .block-stats-countup-item:nth-child(2) .block-stats-countup-image {
   width: 320px;
   height: 320px;
   margin: 0 60px 0 0;
}

.block-stats .block-stats-countup-item:nth-child(3) .block-stats-countup-image {
   width: 320px;
   height: 320px;
   margin: 0 0 -140px 120px;
}

.block-stats .block-stats-countup-item:nth-child(4) .block-stats-countup-image {
   width: 470px;
   height: 320px;
   margin: 0 0 100px -170px;
   border-radius: 28px 0 0 28px;
}

.block-stats .block-stats-countup-stat {
   background-color: var(--white);
   border-radius: 28px;
   box-shadow: var(--drop);
   display: flex;
   align-items: center;
   justify-content: center;
   flex-direction: column;
   text-align: center;
   height: 220px;
   width: 220px;
   padding: 16px;
   z-index: 1;
}

.block-stats .block-stats-countup-item:nth-child(1) .block-stats-countup-stat {
   margin: 30px 0 0 -100px;
}

.block-stats .block-stats-countup-item:nth-child(2) .block-stats-countup-stat {
   margin: -100px 0 0;
}

.block-stats .block-stats-countup-number {
   font-family: var(--font-secondary);
   font-size: var(--60px);
   font-weight: 700;
   line-height: 1.1;
}

.block-stats .block-stats-countup-item:nth-child(1) .block-stats-countup-number {
   color: var(--green);
}
.block-stats .block-stats-countup-item:nth-child(2) .block-stats-countup-number {
   color: var(--aqua);
}
.block-stats .block-stats-countup-item:nth-child(3) .block-stats-countup-number {
   color: var(--orange);
}
.block-stats .block-stats-countup-item:nth-child(4) .block-stats-countup-number {
   color: var(--purple);
}

.block-stats .block-stats-countup-title {
   font-weight: 600;
   margin: 8px 0 0;
}

@media (max-width: 1200px) {
   .block-stats .block-stats-content {
      padding: 80px 0 60px 0;
   }
   .block-stats .block-stats-countup {
      display: flex;
      flex-wrap: wrap;
      gap: 16px;
      padding: 0 0 100px;
   }
   .block-stats .block-stats-countup-item {
      position: static;
      flex: 0 0 calc(50% - 8px);
      flex-direction: row !important;
      align-items: normal !important;
   }
   .block-stats .block-stats-countup-image {
      display: none;
   }
   .block-stats .block-stats-countup-stat {
      margin: 0 !important;
      width: 100%;
      height: 180px;
   }
}
@media (max-width: 768px) {
   .block-stats .block-stats-countup-number {
      font-size: var(--45px);
   }
}
@media (max-width: 440px) {
   .block-stats .block-stats-countup-item {
      flex: 100%;
   }
}

/*-----------------------------------------------------------------------
Block: Content Cards
-----------------------------------------------------------------------*/
.block-content-cards .block-content-cards-row {
   display: flex;
   justify-content: center;
   flex-wrap: wrap;
   gap: 20px;
}

.block-content-cards .block-content-cards-item {
   flex: 0 0 calc(20% - 16px);
   background-color: var(--white);
   border: 1px solid var(--black);
   border-radius: 28px;
   padding: 24px;
   display: flex;
   flex-direction: column;
   justify-content: space-between;
}

.block-content-cards .block-content-cards-item p {
   margin: 0;
}

.block-content-cards .block-content-cards-item .button {
   width: 100%;
}

@media (max-width: 992px) {
   .block-content-cards .block-content-cards-item {
      flex: 0 0 calc(50% - 10px);
   }
}
@media (max-width: 600px) {
   .block-content-cards .block-content-cards-row {
      gap: 16px;
   }
   .block-content-cards .block-content-cards-item {
      flex: 100%;
   }
}

/*-----------------------------------------------------------------------
Block: Icon Cards
-----------------------------------------------------------------------*/
.block-icon-cards .block-icon-cards-row {
   display: flex;
   flex-wrap: wrap;
   gap: 124px 180px;
   padding: 94px 0 30px 0;
}

.block-icon-cards .block-icon-cards-item {
   flex: 0 0 calc(33.33333% - 120px);
   background-color: var(--white);
   box-shadow: var(--drop);
   color: var(--white);
   border-radius: 28px;
   padding: 124px 24px 24px 24px;
   position: relative;
}

.block-icon-cards .block-icon-cards-item:nth-child(3n + 2) {
   margin-top: 30px;
   margin-bottom: -30px;
}

.block-icon-cards .block-icon-cards-item:nth-child(3n + 1),
.block-icon-cards .block-icon-cards-item:nth-child(3n + 3) {
   margin-bottom: 30px;
   margin-top: -30px;
}

.block-icon-cards .block-icon-cards-item:nth-child(3n + 1) {
   background-color: var(--blue);
}
.block-icon-cards .block-icon-cards-item:nth-child(3n + 2) {
   background-color: var(--purple);
}
.block-icon-cards .block-icon-cards-item:nth-child(3n + 3) {
   background-color: var(--green);
}
.block-icon-cards .block-icon-cards-item:nth-child(4n + 4) {
   background-color: var(--red);
}
.block-icon-cards .block-icon-cards-item:nth-child(5n + 5) {
   background-color: var(--aqua);
}
.block-icon-cards .block-icon-cards-item:nth-child(6n + 6) {
   background-color: var(--magenta);
}

.block-icon-cards .block-icon-cards-item-icon {
   width: 128px;
   height: 128px;
   background-color: var(--white);
   box-shadow: var(--drop);
   border-radius: 28px;
   display: flex;
   align-items: center;
   justify-content: center;
   padding: 24px 12px;
   position: absolute;
   top: 0;
   left: 24px;
   transform: translateY(-50%);
}

.block-icon-cards .block-icon-cards-item h3 {
   color: var(--white);
}

.block-icon-cards .block-icon-cards-item p {
   color: var(--white);
   margin: 0;
}

@media (max-width: 1200px) {
   .block-icon-cards .block-icon-cards-row {
      gap: 124px 60px;
   }
   .block-icon-cards .block-icon-cards-item {
      flex: 0 0 calc(33.33333% - 40px);
   }
}
@media (max-width: 992px) {
   .block-icon-cards .block-icon-cards-item {
      flex: 0 0 calc(50% - 30px);
   }
}
@media (max-width: 600px) {
   .block-icon-cards .block-icon-cards-row {
      gap: 100px;
      padding: 64px 0 34px 0;
   }
   .block-icon-cards .block-icon-cards-item {
      flex: 100%;
      margin: 0 !important;
   }
}

/*-----------------------------------------------------------------------
Block: Icon Columns
-----------------------------------------------------------------------*/
.block-icon-columns .block-icon-columns-row {
   display: flex;
   flex-wrap: wrap;
   gap: 60px 0;
}

.block-icon-columns .block-icon-columns-item {
   flex: 0 0 calc(25% - 0px);
   padding: 0 24px;
   position: relative;
}

.block-icon-columns .block-icon-columns-item:after {
   content: '';
   display: block;
   position: absolute;
   bottom: 0;
   right: 0;
   width: 1px;
   height: calc(100% - 60px);
   background-color: #e6e6e6;
}

.block-icon-columns .block-icon-columns-item:nth-child(4n + 4):after {
   display: none;
}

.block-icon-columns .block-icon-columns-item-icon {
   margin: 0 0 32px;
}

.block-icon-columns .block-icon-columns-item-icon img {
   max-width: 120px;
   height: 120px;
   object-fit: contain;
   margin: 0 auto;
   pointer-events: none;
}

@media (max-width: 992px) {
   .block-icon-columns .block-icon-columns-item {
      flex: 0 0 calc(50% - 0px);
      padding: 0 16px;
   }
   .block-icon-columns .block-icon-columns-item:nth-child(4n + 4):after {
      display: block;
   }
   .block-icon-columns .block-icon-columns-item:nth-child(2n + 2):after {
      display: none;
   }
}
@media (max-width: 600px) {
   .block-icon-columns .block-icon-columns-row {
      gap: 32px 0;
   }
   .block-icon-columns .block-icon-columns-item {
      flex: 100%;
      padding: 0 0 32px;
   }
   .block-icon-columns .block-icon-columns-item:last-of-type {
      padding: 0;
   }
   .block-icon-columns .block-icon-columns-item:after {
      display: block !important;
      height: 1px;
      width: calc(100% - 60px);
      right: auto;
      left: 50%;
      transform: translateX(-50%);
   }
   .block-icon-columns .block-icon-columns-item:last-of-type:after {
      display: none !important;
   }
}

/*-----------------------------------------------------------------------
Block: Gallery Slider
-----------------------------------------------------------------------*/
.block-gallery-slider .block-gallery-slider-swiper .swiper-slide {
   height: 500px;
   width: auto;
}

.block-gallery-slider .block-gallery-slider-swiper .swiper-slide img {
   height: 500px;
   width: auto;
}

@media (max-width: 768px) {
   .block-gallery-slider .block-gallery-slider-swiper .swiper-slide {
      height: 400px;
   }
   .block-gallery-slider .block-gallery-slider-swiper .swiper-slide img {
      height: 400px;
   }
}

/*-----------------------------------------------------------------------
Block: Logo Slider
-----------------------------------------------------------------------*/
.block-logo-slider .logo-swiper .swiper-wrapper {
   align-items: center;
}

.block-logo-slider .logo-swiper .logo-swiper-slide {
   width: auto;
   padding: 0 30px;
}

.block-logo-slider .logo-swiper .logo-swiper-slide img {
   width: 100%;
   max-height: 120px;
   max-width: 220px;
   object-fit: contain;
   margin: 0 auto;
}

@media (max-width: 768px) {
   .block-logo-slider .logo-swiper .logo-swiper-slide {
      padding: 0 20px;
   }
   .block-logo-slider .logo-swiper .logo-swiper-slide img {
      max-height: 100px;
      max-width: 180px;
   }
}

/*--------------------------------------------------------------
Block: Contact Details
--------------------------------------------------------------*/
.block-contact-details {
   position: relative;
}

.block-contact-details .block-contact-details-shape {
   position: absolute;
   bottom: 0;
   left: 0;
   width: 600px;
   z-index: -1;
   pointer-events: none;
}

.block-contact-details .block-contact-details-row {
   display: flex;
   gap: 60px 160px;
}

.block-contact-details .block-contact-details-main {
   flex: 0 0 calc(50% - 80px);
}

.block-contact-details .block-contact-details-side {
   flex: 0 0 calc(50% - 80px);
}

.block-contact-details .block-contact-details-side-item {
   max-width: 500px;
   margin: 0 0 50px;
}

.block-contact-details .block-contact-details-side-item li {
   margin: 0 0 20px;
}

.block-contact-details .block-contact-details-side-item li:last-of-type {
   margin: 0;
}

.block-contact-details .block-contact-details-side-item a {
   text-decoration: none;
   word-break: break-word;
}

.block-contact-details .block-contact-details-cta {
   background: var(--gradient-greenblue);
   border-radius: 28px;
   padding: 40px 60px;
   margin: 80px 0 0 -120px;
}

@media (max-width: 992px) {
   .block-contact-details .block-contact-details-row {
      flex-wrap: wrap;
   }
   .block-contact-details .block-contact-details-main {
      flex: 100%;
   }
   .block-contact-details .block-contact-details-side {
      flex: 100%;
   }
   .block-contact-details .block-contact-details-side-item {
      margin: 0 0 40px;
   }
   .block-contact-details .block-contact-details-cta {
      margin: 60px 0 0;
      padding: 40px;
   }
   .block-contact-details .block-contact-details-shape {
      display: none;
   }
}
@media (max-width: 500px) {
   .block-contact-details .block-contact-details-cta {
      margin: 40px 0 0;
      padding: 24px;
   }
}

/*--------------------------------------------------------------
Block: Portfolio Intro
--------------------------------------------------------------*/
.block-portfolio-intro .block-portfolio-intro-row {
   display: flex;
   gap: 40px 280px;
}

.block-portfolio-intro .block-portfolio-intro-main {
   flex: 0 0 calc(50% - 20px);
}

.block-portfolio-intro .block-portfolio-intro-side {
   flex: 0 0 calc(50% - 260px);
}

.block-portfolio-intro .block-portfolio-intro-side-item {
   margin: 0 0 40px;
}

.block-portfolio-intro .block-portfolio-intro-side-item:last-of-type {
   margin: 0;
}

.block-portfolio-intro .block-portfolio-intro-side-services {
   display: flex;
   align-items: center;
   flex-wrap: wrap;
   gap: 12px 10px;
}

.block-portfolio-intro .block-portfolio-intro-side-services a {
   background-color: var(--blue-25);
   border-radius: 100px;
   font-family: var(--font-secondary);
   font-weight: 500;
   font-size: var(--16px);
   text-transform: uppercase;
   letter-spacing: 0.2em;
   padding: 10px 16px;
   line-height: 20px;
   color: var(--black);
}

.block-portfolio-intro .block-portfolio-intro-side-services a:hover {
   background-color: var(--blue-50);
   color: var(--black);
}

/* Social Shares */
.block-portfolio-intro .portfolio-social-shares {
   display: flex;
   align-items: center;
   gap: 6px;
}

.block-portfolio-intro .portfolio-social-shares a,
.block-portfolio-intro .portfolio-social-shares .clipboard-copy {
   background-color: var(--blue-25);
   height: 36px;
   width: 36px;
   border-radius: 100%;
   font-size: var(--16px);
   color: var(--black);
   display: flex;
   align-items: center;
   justify-content: center;
}

.block-portfolio-intro .portfolio-social-shares a:hover,
.block-portfolio-intro .portfolio-social-shares .clipboard-copy:hover {
   background-color: var(--blue-50);
   color: var(--black);
}

.block-portfolio-intro .portfolio-social-shares a:first-of-type {
   margin-left: 0;
}

.block-portfolio-intro .portfolio-social-shares .clipboard-copy {
   transition: all 0.3s ease;
   line-height: 1;
}

@media (max-width: 1260px) {
   .block-portfolio-intro .block-portfolio-intro-row {
      gap: 40px 120px;
   }
   .block-portfolio-intro .block-portfolio-intro-main {
      flex: 0 0 calc(50% - 20px);
   }
   .block-portfolio-intro .block-portfolio-intro-side {
      flex: 0 0 calc(50% - 100px);
   }
}
@media (max-width: 992px) {
   .block-portfolio-intro .block-portfolio-intro-row {
      flex-wrap: wrap;
   }
   .block-portfolio-intro .block-portfolio-intro-main {
      flex: 100%;
   }
   .block-portfolio-intro .block-portfolio-intro-side {
      flex: 100%;
   }
}

/*--------------------------------------------------------------
Block: Wrapped Form
--------------------------------------------------------------*/
.block-wrapped-form .block-setting-override {
   background-color: transparent;
}

.block-wrapped-form .block-wrapped-form-inner {
   background-color: var(--block-background);
   padding: 100px 160px;
   border-radius: 28px;
   position: relative;
   z-index: 1;
}

.block-wrapped-form .block-wrapped-form-shape-top {
   position: absolute;
   top: 0;
   right: 0;
   width: 540px;
   z-index: -1;
   pointer-events: none;
}

.block-wrapped-form .block-wrapped-form-shape-bottom {
   position: absolute;
   bottom: 0;
   left: 0;
   width: 460px;
   z-index: -1;
   pointer-events: none;
}

.block-wrapped-form .block-wrapped-form-content {
   max-width: 60%;
   margin: 0 0 80px;
}

.block-wrapped-form .gform_confirmation_wrapper .gform_confirmation_message {
   padding: 0 0 140px;
}

@media (max-width: 1200px) {
   .block-wrapped-form .block-wrapped-form-inner {
      padding: 100px;
   }
}
@media (max-width: 992px) {
   .block-wrapped-form .block-wrapped-form-inner {
      padding: 100px 80px;
   }
   .block-wrapped-form .block-wrapped-form-shape-top {
      width: 440px;
   }
   .block-wrapped-form .block-wrapped-form-shape-bottom {
      width: 360px;
   }
   .block-wrapped-form .block-wrapped-form-content {
      max-width: 80%;
      margin: 0 0 60px;
   }
}
@media (max-width: 768px) {
   .block-wrapped-form .block-wrapped-form-inner {
      padding: 40px;
   }
   .block-wrapped-form .block-wrapped-form-shape-top,
   .block-wrapped-form .block-wrapped-form-shape-bottom {
      display: none;
   }
   .block-wrapped-form .block-wrapped-form-content {
      max-width: 100%;
      margin: 0 0 40px;
   }
   .block-wrapped-form .gform_confirmation_wrapper .gform_confirmation_message {
      padding: 0;
   }
}
@media (max-width: 600px) {
   .block-wrapped-form .block-wrapped-form-inner {
      padding: 32px 24px;
   }
}

/*-----------------------------------------------------------------------
Block: Top Banner
-----------------------------------------------------------------------*/
.block-top-banner {
   position: relative;
}

.block-top-banner.block-setting-next-background-none {
   background-color: transparent;
}
.block-top-banner.block-setting-next-background-white {
   background-color: var(--white);
}
.block-top-banner.block-setting-next-background-grey {
   background-color: var(--lgrey);
}
.block-top-banner.block-setting-next-background-black {
   background-color: var(--black);
}
.block-top-banner.block-setting-next-background-purple {
   background-color: var(--purple-25);
}
.block-top-banner.block-setting-next-background-aqua {
   background-color: var(--aqua-25);
}

.wp-block-wrap-acf-block-top-banner .block-top-banner {
   z-index: 2;
}

.wp-block-wrap-acf-block-top-banner .block-setting-padding {
   padding-top: calc(var(--header-height) + var(--block-padding-top));
}

.block-top-banner .block-top-banner-overlay {
   background: linear-gradient(180deg, rgba(30 71, 135, 0.4) 0%, rgba(30, 71, 135, 0) 100%);
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 50%;
}

.block-top-banner .block-top-banner-shape {
   position: absolute;
   top: 0;
   right: 0;
   width: 340px;
   z-index: 2;
   pointer-events: none;
}

.block-top-banner .block-top-banner-image {
   background-repeat: no-repeat;
   background-size: cover;
   background-position: center;
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
}

.block-top-banner .block-top-banner-image-overlay {
   background: linear-gradient(270deg, rgba(var(--black-rgb), 0) 24%, rgba(var(--black-rgb), 0.4) 100%), linear-gradient(180deg, rgba(var(--black-rgb), 0.5) 30%, rgba(var(--black-rgb), 0) 64%);
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
}

.block-top-banner .block-top-banner-content {
   position: relative;
   z-index: 3;
}

@media (max-width: 768px) {
   .block-top-banner .block-top-banner-shape {
      width: 200px;
   }
}
@media (max-width: 500px) {
   .block-top-banner .block-top-banner-shape {
      display: none;
   }
}

/*-----------------------------------------------------------------------
Block: Media Banner
-----------------------------------------------------------------------*/
.block-media-banner .block-media-banner-wrap {
   border-radius: 20px;
   overflow: hidden;
}

.block-media-banner .block-media-banner-image {
   background-repeat: no-repeat;
   background-size: cover;
   background-position: center;
   padding-top: 45%;
}

.block-media-banner .block-media-banner-video video {
   object-fit: cover;
   background-image: url('../images/video-loader-black.gif');
   background-repeat: no-repeat;
   background-size: 60px;
   background-position: center;
}

@media (max-width: 992px) {
   .block-media-banner .block-media-banner-image {
      padding-top: 50%;
   }
}
@media (max-width: 768px) {
   .block-media-banner .block-media-banner-image {
      padding-top: 55%;
   }
}

/*-----------------------------------------------------------------------
Block: Hero Banner
-----------------------------------------------------------------------*/
.block-hero-banner {
   position: relative;
   z-index: 1;
}

.block-hero-banner .block-hero-banner-overlay {
   background: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 80%);
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   z-index: 2;
}

.block-hero-banner .block-hero-banner-shape {
   position: absolute;
   top: 0;
   right: 0;
   width: 340px;
   z-index: 3;
   pointer-events: none;
}

.block-hero-banner .block-hero-banner-badge {
   position: absolute;
   bottom: -30px;
   right: 80px;
   width: 220px;
   z-index: 1;
   transform: rotate(20deg);
   border-radius: 100%;
   overflow: hidden;
}

.block-hero-banner .block-hero-banner-badge img {
   pointer-events: none;
}

.block-hero-banner .block-hero-banner-media {
   min-height: 900px;
}

.block-hero-banner .block-hero-banner-image {
   background-repeat: no-repeat;
   background-size: cover;
   background-position: center;
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
}

.block-hero-banner .block-hero-banner-media video {
   object-fit: cover;
   background-image: url('../images/video-loader-black.gif');
   background-repeat: no-repeat;
   background-size: 60px;
   background-position: center;
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
}

@media (max-width: 992px) {
   .block-hero-banner .block-hero-banner-media {
      min-height: 700px;
   }
}
@media (max-width: 768px) {
   .block-hero-banner .block-hero-banner-overlay {
      background: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%);
   }
   .block-hero-banner .block-hero-banner-media {
      min-height: 600px;
   }
   .block-hero-banner .block-hero-banner-shape {
      width: 200px;
   }
   .block-hero-banner .block-hero-banner-badge {
      right: 24px;
      width: 160px;
   }
}
@media (max-width: 500px) {
   .block-hero-banner .block-hero-banner-shape {
      display: none;
   }
   .block-hero-banner .block-hero-banner-media {
      min-height: 500px;
   }
}

/*-----------------------------------------------------------------------
Block: CTA Banner
-----------------------------------------------------------------------*/
.block-cta-banner .block-setting-override {
   background-color: transparent;
}

.block-cta-banner .block-cta-banner-inner {
   background-color: var(--block-background);
   padding: 100px 180px 180px 100px;
   border-radius: 28px;
   display: flex;
   gap: 32px 80px;
   position: relative;
   z-index: 1;
}

.block-cta-banner .block-cta-banner-shape {
   position: absolute;
   bottom: 0;
   left: 0;
   width: 600px;
   z-index: -1;
   pointer-events: none;
   overflow: hidden;
   border-bottom-left-radius: 28px;
}

.block-cta-banner .block-cta-banner-badge {
   position: absolute;
   bottom: -30px;
   right: 40px;
   width: 220px;
   z-index: -1;
   transform: rotate(20deg);
   border-radius: 100%;
   overflow: hidden;
}

.block-cta-banner .block-cta-banner-badge img {
   pointer-events: none;
}

.block-cta-banner .block-cta-banner-left {
   flex: 0 0 calc(50% - 0px);
}

.block-cta-banner .block-cta-banner-right {
   flex: 0 0 calc(50% - 80px);
}

.block-cta-banner .block-cta-banner-right .button-group {
   margin-top: 60px;
}

@media (max-width: 1200px) {
   .block-cta-banner .block-cta-banner-inner {
      padding: 80px 80px 180px 80px;
   }
}
@media (max-width: 992px) {
   .block-cta-banner .block-cta-banner-inner {
      flex-wrap: wrap;
      padding: 60px 40px 240px 40px;
      overflow: hidden;
   }
   .block-cta-banner .block-cta-banner-left {
      flex: 100%;
   }
   .block-cta-banner .block-cta-banner-right {
      flex: 100%;
   }
   .block-cta-banner .block-cta-banner-right .button-group {
      margin-top: 40px;
   }
   .block-cta-banner .block-cta-banner-badge {
      bottom: 24px;
      right: 16px;
      width: 180px;
   }
}
@media (max-width: 768px) {
   .block-cta-banner .block-cta-banner-shape {
      left: -60px;
   }
}
@media (max-width: 600px) {
   .block-cta-banner .block-cta-banner-inner {
      padding: 40px 20px 240px 20px;
   }
}

/*--------------------------------------------------------------
Block: Portfolio Feed
--------------------------------------------------------------*/
.block-portfolio-feed .block-portfolio-feed-swiper .swiper-wrapper {
   align-items: flex-end;
   flex-wrap: wrap;
   gap: 20px;
   padding: 30px 0;
}

.block-portfolio-feed .swiper-navigation {
   display: none;
}

@media (max-width: 1200px) {
   .block-portfolio-feed .block-portfolio-feed-swiper .swiper-wrapper {
      gap: 12px;
   }
   .block-portfolio-feed .block-portfolio-feed-swiper .portfolio-entry {
      flex: 0 0 calc(33.33333% - 8px);
   }
   .block-portfolio-feed .block-portfolio-feed-swiper .portfolio-entry:nth-child(even),
   .block-portfolio-feed .block-portfolio-feed-swiper .portfolio-entry:nth-child(odd) {
      margin: 0;
   }
   .block-portfolio-feed .block-portfolio-feed-swiper .portfolio-entry:nth-child(3n + 2) {
      margin-top: 30px;
      margin-bottom: -30px;
   }
   .block-portfolio-feed .block-portfolio-feed-swiper .portfolio-entry:nth-child(3n + 1),
   .block-portfolio-feed .block-portfolio-feed-swiper .portfolio-entry:nth-child(3n + 3) {
      margin-bottom: 30px;
      margin-top: -30px;
   }
}
@media (max-width: 992px) {
   .block-portfolio-feed .block-portfolio-feed-swiper .portfolio-entry {
      flex: 0 0 calc(50% - 6px);
   }
   .block-portfolio-feed .block-portfolio-feed-swiper .portfolio-entry:nth-child(3n + 1),
   .block-portfolio-feed .block-portfolio-feed-swiper .portfolio-entry:nth-child(3n + 2),
   .block-portfolio-feed .block-portfolio-feed-swiper .portfolio-entry:nth-child(3n + 3) {
      margin: 0;
   }
   .block-portfolio-feed .block-portfolio-feed-swiper .portfolio-entry:nth-child(even) {
      margin-top: 30px;
      margin-bottom: -30px;
   }
   .block-portfolio-feed .block-portfolio-feed-swiper .portfolio-entry:nth-child(odd) {
      margin-bottom: 30px;
      margin-top: -30px;
   }
}
@media (max-width: 768px) {
   .block-portfolio-feed .container {
      padding: 0;
   }
   .block-portfolio-feed .block-portfolio-feed-swiper .swiper-wrapper {
      flex-wrap: nowrap;
      gap: 0;
      padding: 0;
   }
   .block-portfolio-feed .block-portfolio-feed-swiper .portfolio-entry:nth-child(even),
   .block-portfolio-feed .block-portfolio-feed-swiper .portfolio-entry:nth-child(odd),
   .block-portfolio-feed .block-portfolio-feed-swiper .portfolio-entry:nth-child(3n + 1),
   .block-portfolio-feed .block-portfolio-feed-swiper .portfolio-entry:nth-child(3n + 2),
   .block-portfolio-feed .block-portfolio-feed-swiper .portfolio-entry:nth-child(3n + 3) {
      margin: 0;
   }
   .block-portfolio-feed .block-portfolio-feed-swiper .portfolio-entry {
      flex: 0 0 380px;
   }
   .block-portfolio-feed .swiper-navigation {
      display: flex;
      justify-content: center;
      margin: 32px 0 0;
   }
}
@media (max-width: 440px) {
   .block-portfolio-feed .block-portfolio-feed-swiper .portfolio-entry {
      flex: 0 0 340px;
   }
}
@media (max-width: 360px) {
   .block-portfolio-feed .block-portfolio-feed-swiper .portfolio-entry {
      flex: 0 0 300px;
   }
}

/*--------------------------------------------------------------
Block: Portfolio Loop
--------------------------------------------------------------*/
.block-portfolio-loop .block-portfolio-loop-header {
   margin: 0 0 80px;
}

.block-portfolio-loop .block-portfolio-loop-filter {
   display: flex;
   align-items: center;
   justify-content: center;
   flex-wrap: wrap;
   gap: 12px 10px;
}

.block-portfolio-loop .block-portfolio-loop-filter a {
   background-color: var(--blue-25);
   border-radius: 100px;
   font-family: var(--font-secondary);
   font-weight: 500;
   font-size: var(--16px);
   text-transform: uppercase;
   letter-spacing: 0.2em;
   padding: 10px 16px;
   line-height: 20px;
   color: var(--black);
}

.block-portfolio-loop .block-portfolio-loop-filter a:hover {
   background-color: var(--blue-50);
   color: var(--black);
}

.block-portfolio-loop .block-portfolio-loop-filter a.active {
   background-color: var(--black);
   color: var(--white);
}

@media (max-width: 768px) {
   .block-portfolio-loop .block-portfolio-loop-header {
      margin: 0 0 40px;
   }
}

/*--------------------------------------------------------------
Block: Testimonial
--------------------------------------------------------------*/
.block-testimonial .block-setting-override {
   background-color: transparent;
}

.block-testimonial .block-testimonial-inner {
   background-color: var(--block-background);
   padding: 80px 380px 80px 100px;
   border-radius: 28px;
   position: relative;
   z-index: 1;
   overflow: hidden;
}

.block-testimonial .block-testimonial-shape {
   position: absolute;
   bottom: 0;
   right: 0;
   width: 600px;
   z-index: -1;
   pointer-events: none;
   overflow: hidden;
   border-bottom-left-radius: 28px;
}

.block-testimonial .block-testimonial-main p {
   font-family: var(--font-secondary);
   font-weight: 700;
   line-height: 1.25;
   font-size: var(--28px);
}

.block-testimonial .block-testimonial-info {
   margin: 40px 0 0;
}

.block-testimonial .block-testimonial-info .h4 {
   margin: 0;
}

.block-testimonial .block-testimonial-info p {
   margin: 6px 0 0;
}

@media (max-width: 1200px) {
   .block-testimonial .block-testimonial-inner {
      padding: 80px 280px 80px 100px;
   }
}
@media (max-width: 992px) {
   .block-testimonial .block-testimonial-inner {
      padding: 80px 200px 80px 80px;
   }
   .block-testimonial .block-testimonial-main p {
      font-size: var(--23px);
   }
   .block-testimonial .block-testimonial-shape {
      width: 500px;
   }
}
@media (max-width: 768px) {
   .block-testimonial .block-testimonial-inner {
      padding: 80px 60px;
   }
   .block-testimonial .block-testimonial-shape {
      display: none;
   }
}
@media (max-width: 600px) {
   .block-testimonial .block-testimonial-inner {
      padding: 40px 20px;
   }
   .block-testimonial .block-testimonial-main p {
      font-size: var(--20px);
   }
}

/*-----------------------------------------------------------------------
Block: Testimonial Feed
-----------------------------------------------------------------------*/
.block-testimonial-feed .block-setting-override {
   background-color: transparent;
}

.block-testimonial-feed .block-testimonial-feed-main {
   background-color: var(--block-background);
   padding: 60px 80px 40px 100px;
   border-radius: 28px;
}

.block-testimonial-feed .block-testimonial-feed-swiper.swiper {
   overflow: visible;
}

.block-testimonial-feed .block-testimonial-feed-entry {
   display: flex;
   gap: 100px;
}

.block-testimonial-feed .block-testimonial-feed-entry-left {
   flex: 0 0 calc(50% - 100px);
}

.block-testimonial-feed .block-testimonial-feed-entry-image {
   background-size: cover;
   background-position: center;
   background-repeat: no-repeat;
   aspect-ratio: 1 / 1;
   border-radius: 28px;
   margin-bottom: -120px;
}

.block-testimonial-feed .block-testimonial-feed-entry-right {
   flex: 0 0 calc(50% - 0px);
}

.block-testimonial-feed .block-testimonial-feed-entry-service {
   border-radius: 6px;
   background-color: var(--purple-50);
   padding: 8px 24px;
   display: inline-flex;
   margin: 0 0 24px;
}

.block-testimonial-feed .block-testimonial-feed-entry-service .h4 {
   color: var(--white);
   margin: 0;
}

.block-testimonial-feed .block-testimonial-feed-entry-content p {
   font-size: var(--22px);
}

.block-testimonial-feed .block-testimonial-feed-entry-info {
   margin: 24px 0 0;
}

.block-testimonial-feed .block-testimonial-feed-entry-info p {
   margin: 0;
}

.block-testimonial-feed .swiper-navigation {
   max-width: calc(50% - 10px);
   margin: 16px 0 0 auto;
   justify-content: flex-start;
}

@media (max-width: 1200px) {
   .block-testimonial-feed .block-testimonial-feed-main {
      padding: 0px 20px 40px 20px;
      margin: 80px 0 0;
   }
   .block-testimonial-feed .block-testimonial-feed-entry {
      flex-wrap: wrap;
      gap: 32px;
   }
   .block-testimonial-feed .block-testimonial-feed-entry-left {
      flex: 100%;
   }
   .block-testimonial-feed .block-testimonial-feed-entry-right {
      flex: 100%;
   }
   .block-testimonial-feed .block-testimonial-feed-entry-image {
      max-width: 500px;
      margin: -80px auto 0 auto;
   }
   .block-testimonial-feed .swiper-navigation {
      max-width: 100%;
      justify-content: center;
   }
}
@media (max-width: 600px) {
   .block-testimonial-feed .block-testimonial-feed-entry-content p {
      font-size: var(--20px);
   }
}
@media (max-width: 540px) {
   .block-testimonial-feed .block-testimonial-feed-entry-image {
      margin: -80px -10px 0;
   }
}

/*--------------------------------------------------------------
Service - Entry
--------------------------------------------------------------*/
.service-entry-row {
   display: flex;
   justify-content: center;
   flex-wrap: wrap;
   gap: 24px;
}

.service-entry {
   flex: 0 0 calc(33.33333% - 16px);
   margin: 0 0 30px;
}

.service-entry .service-entry-inner {
   background-color: var(--white);
   box-shadow: var(--drop);
   border-radius: 28px;
   padding: 32px 36px 44px 36px;
   height: 100%;
   text-align: center;
   position: relative;
}

.service-entry .service-entry-inner.has-excerpt {
   padding: 32px 36px 60px 36px;
}

.service-entry .service-entry-inner img {
   max-width: 160px;
   height: 100px;
   object-fit: contain;
   margin: 0 auto 16px auto;
}

.service-entry .service-entry-inner p {
   font-size: var(--16px);
   font-weight: 400;
   margin: 0;
}

.service-entry .service-entry-inner .button {
   position: absolute;
   bottom: 0;
   left: 50%;
   transform: translate(-50%, 50%);
   white-space: nowrap;
}

@media (max-width: 992px) {
   .service-entry {
      flex: 0 0 calc(50% - 12px);
   }
}
@media (max-width: 600px) {
   .service-entry {
      flex: 100%;
   }
   .service-entry .service-entry-inner {
      padding: 24px 20px 44px 20px;
   }
}

/*--------------------------------------------------------------
Service - Single
--------------------------------------------------------------*/
body.site-setting-header-overlap .service-single .block-section:first-child .block-setting-padding {
   padding-top: calc(var(--header-height) + var(--block-padding-top));
}

@media (max-width: 768px) {
   body.site-setting-header-overlap .service-single .block-section:first-child .block-setting-padding {
      padding-top: calc(var(--header-height) + calc(var(--block-padding-top) / 2));
   }
}

/*--------------------------------------------------------------
Portfolio - Archive
--------------------------------------------------------------*/
body.site-setting-header-overlap .portfolio-archive .block-section:first-child .block-setting-padding {
   padding-top: calc(var(--header-height) + var(--block-padding-top));
}

@media (max-width: 768px) {
   body.site-setting-header-overlap .portfolio-archive .block-section:first-child .block-setting-padding {
      padding-top: calc(var(--header-height) + calc(var(--block-padding-top) / 2));
   }
}

/*--------------------------------------------------------------
Portfolio - Entry
--------------------------------------------------------------*/
.portfolio-entry-row {
   display: flex;
   align-items: flex-end;
   flex-wrap: wrap;
   gap: 20px;
   padding: 30px 0;
}

.portfolio-entry {
   flex: 0 0 calc(25% - 15px);
}

.portfolio-entry:nth-child(even) {
   margin-top: 30px;
   margin-bottom: -30px;
}

.portfolio-entry:nth-child(odd) {
   margin-bottom: 30px;
   margin-top: -30px;
}

.portfolio-entry .portfolio-entry-inner {
   border-radius: 28px;
   overflow: hidden;
   position: relative;
   aspect-ratio: 1 / 1.35;
}

.portfolio-entry .portfolio-entry-image {
   background-position: center;
   background-size: cover;
   background-repeat: no-repeat;
   position: absolute;
   top: 0;
   left: 0;
   height: 100%;
   width: 100%;
   z-index: 0;
}

.portfolio-entry .portfolio-entry-overlay {
   background-color: rgba(var(--black-rgb), 0.7);
   position: absolute;
   top: 0;
   left: 0;
   height: 100%;
   width: 100%;
   opacity: 0;
   transition: opacity 0.3s ease;
}

.portfolio-entry .portfolio-entry-perma:hover .portfolio-entry-overlay {
   opacity: 1;
}

.portfolio-entry .portfolio-entry-content {
   position: relative;
   opacity: 0;
   padding: 40px 40px 24px 40px;
   color: var(--white);
   height: 100%;
   transition: opacity 0.3s ease;
   mask-image: linear-gradient(180deg, #000 80%, transparent);
}

.portfolio-entry .portfolio-entry-perma:hover .portfolio-entry-content {
   opacity: 1;
}

.portfolio-entry .portfolio-entry-content h3 {
   color: var(--white);
}

.portfolio-entry .portfolio-entry-content p {
   color: var(--white);
}

@media (max-width: 1200px) {
   .portfolio-entry-row {
      gap: 12px;
   }
   .portfolio-entry-row .portfolio-entry {
      flex: 0 0 calc(33.33333% - 8px);
   }
   .portfolio-entry-row .portfolio-entry:nth-child(even),
   .portfolio-entry-row .portfolio-entry:nth-child(odd) {
      margin: 0;
   }
   .portfolio-entry-row .portfolio-entry:nth-child(3n + 2) {
      margin-top: 30px;
      margin-bottom: -30px;
   }
   .portfolio-entry-row .portfolio-entry:nth-child(3n + 1),
   .portfolio-entry-row .portfolio-entry:nth-child(3n + 3) {
      margin-bottom: 30px;
      margin-top: -30px;
   }
}
@media (max-width: 992px) {
   .portfolio-entry-row .portfolio-entry {
      flex: 0 0 calc(50% - 6px);
   }
   .portfolio-entry-row .portfolio-entry:nth-child(3n + 1),
   .portfolio-entry-row .portfolio-entry:nth-child(3n + 2),
   .portfolio-entry-row .portfolio-entry:nth-child(3n + 3) {
      margin: 0;
   }
   .portfolio-entry-row .portfolio-entry:nth-child(even) {
      margin-top: 30px;
      margin-bottom: -30px;
   }
   .portfolio-entry-row .portfolio-entry:nth-child(odd) {
      margin-bottom: 30px;
      margin-top: -30px;
   }
}
@media (max-width: 600px) {
   .portfolio-entry-row {
      padding: 0;
   }
   .portfolio-entry-row .portfolio-entry {
      flex: 100%;
   }
   .portfolio-entry-row .portfolio-entry:nth-child(even),
   .portfolio-entry-row .portfolio-entry:nth-child(odd),
   .portfolio-entry-row .portfolio-entry:nth-child(3n + 1),
   .portfolio-entry-row .portfolio-entry:nth-child(3n + 2),
   .portfolio-entry-row .portfolio-entry:nth-child(3n + 3) {
      margin: 0;
   }
   .portfolio-entry .portfolio-entry-content {
      padding: 30px;
   }
}

/*--------------------------------------------------------------
Portfolio - Single
--------------------------------------------------------------*/
body.site-setting-header-overlap .portfolio-single .block-section:first-child .block-setting-padding {
   padding-top: calc(var(--header-height) + var(--block-padding-top));
}

@media (max-width: 768px) {
   body.site-setting-header-overlap .portfolio-single .block-section:first-child .block-setting-padding {
      padding-top: calc(var(--header-height) + calc(var(--block-padding-top) / 2));
   }
}

/*--------------------------------------------------------------
Post - Archive
--------------------------------------------------------------*/
.post-archive {
   padding: 80px 0;
}

/* Archive */
.post-archive .post-archive-header {
   text-align: center;
   margin: 0 0 60px;
}

/* Filter */
.post-archive-filter {
   margin: 40px 0;
}

.post-archive-filter ul {
   list-style: none;
   padding: 0;
   margin: 0;
   display: flex;
   justify-content: center;
   align-content: center;
   flex-wrap: wrap;
}

.post-archive-filter ul li {
   margin: 6px;
}

.post-archive-filter ul li a {
   padding: 6px 15px;
   background: var(--white);
   color: var(--black);
   font-weight: 600;
   text-transform: uppercase;
   line-height: 20px;
   border-radius: 20px;
   min-width: 70px;
   display: flex;
   align-items: center;
   justify-content: center;
}

.post-archive-filter a:hover {
   color: var(--grey);
}

.post-archive-filter a.active {
   background: var(--grey);
   color: var(--white);
}

/* Pagination */
.post-archive-pagination {
   display: flex;
   justify-content: center;
   margin: 40px 0 0;
}

.post-archive-pagination .post-archive-pagination-inner {
   background-color: var(--lgrey);
   border-radius: 100px;
   display: flex;
   justify-content: center;
   align-items: center;
   gap: 12px;
   padding: 16px 24px;
}

.post-archive-pagination .post-archive-pagination-inner > span,
.post-archive-pagination .post-archive-pagination-inner a {
   text-decoration: none;
   color: var(--black);
   line-height: 1;
   font-size: var(--18px);
   font-weight: 500;
}

.post-archive-pagination .post-archive-pagination-inner a:hover {
   color: var(--grey);
}

.post-archive-pagination .post-archive-pagination-inner .nav-prev {
   padding: 0 32px 0 0;
}

.post-archive-pagination .post-archive-pagination-inner .nav-next {
   padding: 0 0 0 32px;
}

.post-archive-pagination .post-archive-pagination-inner span.nav-prev,
.post-archive-pagination .post-archive-pagination-inner span.nav-next {
   color: rgba(var(--black-rgb), 0.5);
}

.post-archive-pagination .post-archive-pagination-inner .current {
   text-decoration: underline;
}

.post-archive-pagination .post-archive-pagination-inner .dots {
   font-size: var(--18px);
   font-weight: 400;
}

@media (max-width: 440px) {
   .post-archive-pagination .post-archive-pagination-inner {
      padding: 12px 16px;
      gap: 8px;
   }
   .post-archive-pagination .post-archive-pagination-inner > span,
   .post-archive-pagination .post-archive-pagination-inner a {
      font-size: var(--18px);
   }
   .post-archive-pagination .post-archive-pagination-inner .nav-prev {
      padding: 0 16px 0 0;
      font-size: var(--16px);
   }
   .post-archive-pagination .post-archive-pagination-inner .nav-next {
      padding: 0 0 0 16px;
      font-size: var(--16px);
   }
   .post-archive-pagination .post-archive-pagination-inner .dots {
      font-size: var(--16px);
   }
}

/*--------------------------------------------------------------
Post - Entry
--------------------------------------------------------------*/
.post-entry-row {
   display: flex;
   flex-wrap: wrap;
   margin-left: -20px;
   margin-right: -20px;
}

.post-entry {
   flex: 0 0 33.33333%;
   padding: 0 20px;
   margin: 0 0 40px;
}

.post-entry .post-entry-image {
   margin-bottom: 20px;
}

.post-entry .post-entry-image img {
   display: block;
   width: 100%;
}

@media (max-width: 992px) {
   .post-entry {
      flex: 0 0 50%;
   }
}
@media (max-width: 600px) {
   .post-entry {
      flex: 100%;
   }
}

/*--------------------------------------------------------------
Post - Single
--------------------------------------------------------------*/
.post-single {
   padding: 80px 0;
}

/* Header */
.post-single .post-single-header {
   text-align: center;
   margin: 0 0 40px;
}

.post-single .post-single-image {
   margin: 30px 0 0;
}

/* Content */
.post-single .post-single-footer {
   margin: 60px 0 0;
}

/* Social Shares */
.post-social-shares {
   display: flex;
   justify-content: center;
   align-items: center;
   gap: 16px;
}

.post-social-shares a,
.post-social-shares .clipboard-copy {
   color: var(--black);
   font-size: var(--20px);
   line-height: 1;
}

.post-social-shares .clipboard-copy {
   transition: all 0.3s ease;
}

.post-social-shares a:hover,
.post-social-shares .clipboard-copy:hover {
   color: var(--grey);
}

/*--------------------------------------------------------------
Post - Search
--------------------------------------------------------------*/
/* Archive */
.search-archive {
   padding: 100px 0;
}

.search-archive .search-archive-header {
   text-align: center;
   margin: 0 0 60px;
}

.search-archive .search-archive-header h1 {
   margin: 0;
}

@media (max-width: 768px) {
   .search-archive {
      padding: 60px 0;
   }
   .search-archive .search-archive-header {
      margin: 0 0 40px;
   }
}

/* Entry */
.search-entry {
   display: block;
   background-color: var(--white);
   box-shadow: var(--drop);
   border-radius: 10px;
   margin: 0 0 12px;
   text-align: center;
   transition: all 0.3s ease;
}

.search-entry:hover {
   background-color: var(--black);
}

.search-entry a {
   display: block;
   padding: 24px 32px;
}

.search-entry .typo-title-allcaps {
   transition: all 0.3s ease;
   margin: 0 0 8px;
}

.search-entry:hover .typo-title-allcaps {
   color: var(--white);
}

.search-entry h3 {
   margin: 0;
   transition: all 0.3s ease;
}

.search-entry:hover h3 {
   color: var(--white);
}

/* Search */
.no-results .search-form {
   position: relative;
}

.no-results .search-form input[type='text'] {
   border-color: var(--black);
   padding: 24px 168px 24px 24px;
}

.no-results .search-form input[type='text']:focus {
   border-color: var(--grey);
}

.no-results .search-form button[type='submit'] {
   position: absolute;
   right: 4px;
   top: 50%;
   transform: translateY(-50%);
}

@media (max-width: 460px) {
   .no-results .search-form input[type='text'] {
      padding: 14px 16px;
   }
   .no-results .search-form button[type='submit'] {
      position: relative;
      right: auto;
      margin: 8px 0 0;
      width: 100%;
      transform: none;
   }
}

/*-----------------------------------------------------------------------
Admin - Block Editor
-----------------------------------------------------------------------*/
.edit-post-visual-editor__post-title-wrapper {
   background: var(--white);
   color: var(--black);
   margin: 0 !important;
   padding: 0 !important;
}

.edit-post-visual-editor__post-title-wrapper h1.wp-block-post-title {
   font-size: var(--24px);
   line-height: 28px;
   background-color: var(--white);
   padding: 10px 30px !important;
   max-width: 100% !important;
   width: 100% !important;
   border-bottom: 1px solid #e0e0e0 !important;
   margin: 0 !important;
}

.editor-styles-wrapper {
   font-optical-sizing: auto;
   -webkit-text-size-adjust: none;
   -webkit-font-smoothing: antialiased;
   font-family: var(--font-primary) !important;
   font-size: var(--16px) !important;
   color: var(--black);
   line-height: 1.5;
   font-weight: 400;
   margin: 0 !important;
   padding: 0 !important;
}

.wp-block-post-content {
   background: var(--white);
}

.wp-block-post-content > div {
   margin: 0 auto;
   max-width: calc(100% - 60px);
   width: calc(100% - 60px);
}

.wp-block-post-content.is-tablet-preview > div,
.wp-block-post-content.is-mobile-preview > div {
   max-width: 100%;
   width: 100%;
}

.wp-block-post-content .wp-block {
   max-width: 100%;
   width: 100%;
   margin: 0;
}

.hide-block--active {
   opacity: 0.35;
}

.components-popover.block-editor-block-popover {
   z-index: 20000000001 !important;
}

.acf-block-body .acf-block-fields {
   z-index: 99999999 !important;
}

.editor-styles-wrapper p {
   line-height: 1.5;
}

.components-panel__header {
   height: 48px;
}

/*-----------------------------------------------------------------------
Admin: Resizable Sideabr
-----------------------------------------------------------------------*/
/* .block-editor .editor-sidebar .acf-block-panel {
    display: none !important;
} */

.interface-interface-skeleton__sidebar .interface-complementary-area,
.interface-interface-skeleton__sidebar .interface-complementary-area__fill {
   width: 100% !important;
}

.edit-post-layout:not(.is-sidebar-opened) .interface-interface-skeleton__sidebar,
.edit-site-layout:not(.is-sidebar-opened) .interface-interface-skeleton__sidebar {
   display: none !important;
}

.interface-interface-skeleton__sidebar.ui-resizable-resizing {
   position: relative !important;
}

.interface-interface-skeleton__sidebar {
   position: relative !important;
   display: block !important;
   z-index: 100000 !important;
   left: auto !important;
   right: 0 !important;
}

.ui-resizable-handle.ui-resizable-w {
   background-color: #f5f5f5 !important;
   width: 12px !important;
   left: 0 !important;
   top: 0 !important;
   bottom: 0 !important;
   transition: background-color 0.3s ease;
   cursor: ew-resize !important;
   z-index: 100001 !important;
   position: absolute !important;
}

.ui-resizable-resizing .ui-resizable-handle.ui-resizable-w {
   background-color: #e0e0e0 !important;
}

.interface-navigable-region.interface-interface-skeleton__sidebar {
   padding-left: 12px !important;
}

.ui-resize-indicator {
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   width: 2px;
   height: 24px;
   background-color: #1e1e1e;
   border-radius: 2px;
}
