 * {
     margin: 0;
     padding: 0;
     border: none
 }

 *,
 *::before,
 *::after {
     box-sizing: border-box
 }

 html {
     height: 100%;
     font-size: 100%;
     font: inherit;
     vertical-align: baseline;
     scroll-behavior: smooth;
     scroll-padding-top: 20px
 }

 body {
     line-height: 1.5;
     min-height: 100vh
 }

 img {
     width: 100%;
     height: auto
 }

 @media (max-width: 767px) {
     body {
         text-rendering: optimizeSpeed
     }
 }

 @media (min-width: 768px) {
     body {
         text-rendering: optimizeLegibility
     }
 }

 :root {
     --font-sans: -apple-system, system-ui, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Fira Sans, Ubuntu, Oxygen, Oxygen Sans, Cantarell, Droid Sans, Apple Color Emoji, Segoe UI Emoji, Segoe UI Emoji, Segoe UI Symbol, Lucida Grande, Helvetica, Arial, sans-serif;
     --font-serif: Cambria, "Hoefler Text", Utopia, "Liberation Serif", "Nimbus Roman No9 L Regular", Times, "Times New Roman", serif;
     --font-monospace: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
     --global-font: var(--font-sans);
     --black-000: #000000;
     --white-000: #ffffff;
     --trans-000: transparent;
     --slate-050: #ECEFF1;
     --slate-100: #CFD8DC;
     --slate-200: #B0BEC5;
     --slate-300: #90A4AE;
     --slate-400: #78909C;
     --slate-500: #607D8B;
     --slate-600: #546E7A;
     --slate-700: #455A64;
     --slate-800: #37474F;
     --slate-900: #263238;
     --gray-050: #F9FAFB;
     --gray-100: #f7fafc;
     --gray-200: #edf2f7;
     --gray-300: #e2e8f0;
     --gray-400: #cbd5e0;
     --gray-500: #a0aec0;
     --gray-600: #718096;
     --gray-700: #4a5568;
     --gray-800: #2d3748;
     --gray-900: #1a202c;
     --red-050: #FEF2F2;
     --red-100: #fff5f5;
     --red-200: #fed7d7;
     --red-300: #feb2b2;
     --red-400: #fc8181;
     --red-500: #f56565;
     --red-600: #e53e3e;
     --red-700: #c53030;
     --red-800: #9b2c2c;
     --red-900: #742a2a;
     --orange-050: #FFF7ED;
     --orange-100: #fffaf0;
     --orange-200: #feebc8;
     --orange-300: #fbd38d;
     --orange-400: #f6ad55;
     --orange-500: #ed8936;
     --orange-600: #dd6b20;
     --orange-700: #c05621;
     --orange-800: #9c4221;
     --orange-900: #7b341e;
     --amber-050: #FFFBEB;
     --amber-100: #FEF3C7;
     --amber-200: #FDE68A;
     --amber-300: #FCD34D;
     --amber-400: #FBBF24;
     --amber-500: #F59E0B;
     --amber-600: #D97706;
     --amber-700: #B45309;
     --amber-800: #92400E;
     --amber-900: #78350F;
     --yellow-050: #FEFCE8;
     --yellow-100: #fffff0;
     --yellow-200: #fefcbf;
     --yellow-300: #faf089;
     --yellow-400: #f6e05e;
     --yellow-500: #ecc94b;
     --yellow-600: #d69e2e;
     --yellow-700: #b7791f;
     --yellow-800: #975a16;
     --yellow-900: #744210;
     --lime-050: #F7FEE7;
     --lime-100: #ECFCCB;
     --lime-200: #D9F99D;
     --lime-300: #BEF264;
     --lime-400: #A3E635;
     --lime-500: #84CC16;
     --lime-600: #65A30D;
     --lime-700: #4D7C0F;
     --lime-800: #3F6212;
     --lime-900: #365314;
     --green-050: #F0FDF4;
     --green-100: #f0fff4;
     --green-200: #c6f6d5;
     --green-300: #9ae6b4;
     --green-400: #14f195;
     --green-500: #48bb78;
     --green-600: #38a169;
     --green-700: #2f855a;
     --green-800: #276749;
     --green-900: #22543d;
     --teal-050: #F0FDFA;
     --teal-100: #CCFBF1;
     --teal-200: #99F6E4;
     --teal-300: #5EEAD4;
     --teal-400: #2DD4BF;
     --teal-500: #14B8A6;
     --teal-600: #0D9488;
     --teal-700: #0F766E;
     --teal-800: #115E59;
     --teal-900: #134E4A;
     --cyan-050: #ECFEFF;
     --cyan-100: #CFFAFE;
     --cyan-200: #A5F3FC;
     --cyan-300: #67E8F9;
     --cyan-400: #22D3EE;
     --cyan-500: #06B6D4;
     --cyan-600: #0891B2;
     --cyan-700: #0E7490;
     --cyan-800: #155E75;
     --cyan-900: #164E63;
     --sky-050: #F0F9FF;
     --sky-100: #E0F2FE;
     --sky-200: #BAE6FD;
     --sky-300: #7DD3FC;
     --sky-400: #38BDF8;
     --sky-500: #0EA5E9;
     --sky-600: #0284C7;
     --sky-700: #0369A1;
     --sky-800: #075985;
     --sky-900: #0C4A6E;
     --blue-050: #EFF6FF;
     --blue-100: #DBEAFE;
     --blue-200: #BFDBFE;
     --blue-300: #93C5FD;
     --blue-400: #60A5FA;
     --blue-500: #3B82F6;
     --blue-600: #2563EB;
     --blue-700: #1D4ED8;
     --blue-800: #1E40AF;
     --blue-900: #1E3A8A;
     --indigo-050: #EEF2FF;
     --indigo-100: #E0E7FF;
     --indigo-200: #C7D2FE;
     --indigo-300: #A5B4FC;
     --indigo-400: #818CF8;
     --indigo-500: #6366F1;
     --indigo-600: #4F46E5;
     --indigo-700: #4338CA;
     --indigo-800: #3730A3;
     --indigo-900: #312E81;
     --purple-050: #FAF5FF;
     --purple-100: #F3E8FF;
     --purple-200: #E9D5FF;
     --purple-300: #D8B4FE;
     --purple-400: #C084FC;
     --purple-500: #A855F7;
     --purple-600: #9333EA;
     --purple-700: #7E22CE;
     --purple-800: #6B21A8;
     --purple-900: #581C87;
     --fuchsia-050: #FDF4FF;
     --fuchsia-100: #FAE8FF;
     --fuchsia-200: #F5D0FE;
     --fuchsia-300: #F0ABFC;
     --fuchsia-400: #E879F9;
     --fuchsia-500: #D946EF;
     --fuchsia-600: #C026D3;
     --fuchsia-700: #A21CAF;
     --fuchsia-800: #86198F;
     --fuchsia-900: #701A75;
     --pink-050: #FDF2F8;
     --pink-100: #FCE7F3;
     --pink-200: #FBCFE8;
     --pink-300: #F9A8D4;
     --pink-400: #F472B6;
     --pink-500: #EC4899;
     --pink-600: #DB2777;
     --pink-700: #BE185D;
     --pink-800: #9D174D;
     --pink-900: #831843;
     --rose-050: #FFF1F2;
     --rose-100: #FFE4E6;
     --rose-200: #FECDD3;
     --rose-300: #FDA4AF;
     --rose-400: #FB7185;
     --rose-500: #F43F5E;
     --rose-600: #E11D48;
     --rose-700: #BE123C;
     --rose-800: #9F1239;
     --rose-900: #881337;
     --brown-050: #EFEBE9;
     --brown-100: #D7CCC8;
     --brown-200: #BCAAA4;
     --brown-300: #A1887F;
     --brown-400: #8D6E63;
     --brown-500: #795548;
     --brown-600: #6D4C41;
     --brown-700: #5D4037;
     --brown-800: #4E342E;
     --brown-900: #3E2723;
     --trend-050: #fff4d9;
     --trend-100: #fdd0bb;
     --trend-200: #fea8b3;
     --trend-300: #d4eee6;
     --trend-400: #bde5fe;
     --trend-500: #0000fe;
     --trend-600: #400c3e;
     --trend-700: #2c4763;
     --trend-800: #1f364d;
     --trend-900: #0e2439;
     --overlay-opacity: 0.3;
     --overlay-color: rgba(255, 0, 0, var(--overlay-opacity));
     --overlay-trans: transparent;
     --font-size-sm: clamp(0.8rem, 0.17vw + 0.76rem, 0.89rem);
     --font-size-base: clamp(1rem, 0.34vw + 0.91rem, 1.29rem);
     --font-size-md: clamp(1.25rem, 0.61vw + 1.1rem, 1.58rem);
     --font-size-lg: clamp(1.56rem, 1vw + 1.31rem, 2.11rem);
     --font-size-xl: clamp(1.95rem, 1.56vw + 1.56rem, 2.81rem);
     --font-size-xxl: clamp(2.44rem, 2.38vw + 1.85rem, 3.75rem);
     --font-size-xxxl: clamp(3.05rem, 3.54vw + 2.17rem, 5rem);
 }

 body {
     font-family: var(--global-font)
 }

 nav,
 header,
 section,
 figure {
     display: block
 }

 header,
 section,
 {
 margin-left: auto;
 margin-right: auto;
 overflow: hidden
 }

 section>*:last-child {
     margin-bottom: 0 !important
 }

 @media (min-width: 1201px) {
     section {
         padding: 80px 4%
     }
 }

 @media (min-width: 1025px) and (max-width: 1200px) {
     section {
         padding: 60px 4%
     }
 }

 @media (min-width: 768px) and (max-width: 1024px) {
     section {
         padding: 50px 6%
     }
 }

 @media (max-width: 767px) {
     section {
         padding: 42px 9% 42px 9%
     }
 }

 section {
     max-width: 1920px
 }

 section>* {
     max-width: 1600px
 }

 section>* {
     max-width: 1600px;
     margin-left: auto;
     margin-right: auto
 }

 .w-820px>* {
     max-width: 820px
 }

 .w-1024px>* {
     max-width: 1024px
 }

 .w-1140px>* {
     max-width: 1140px
 }

 .w-1356px>* {
     max-width: 1356px
 }

 section>h2,
 section>h3 {
     line-height: 1.2
 }

 section>h2 {
     font-size: var(--font-size-xl);
     font-weight: 700;
     letter-spacing: -1px;
 }

 @media (min-width: 768px) {
     section>h2 {
         margin-bottom: 32px
     }

     section>h2.bigger-desktop {
         font-size: var(--font-size-xxl)
     }
 }

 @media (max-width: 768px) {
     section>h2 {
         margin-bottom: 18px
     }

     section>h2.bigger-mobile {
         font-size: var(--font-size-xxl)
     }
 }

 section h2 span.highlight {
     color: var(--gray-600);
 }

 section>h2.heading-underline {
     position: relative
 }

 section>h2.heading-underline:after {
     content: '';
     position: absolute;
     top: 100%;
     width: 6ch;
     height: 6px;
     background-color: var(--gray-600);
 }

 @media (min-width: 768px) {
     section>h2.heading-underline {
         margin-bottom: 72px
     }

     section>h2.heading-underline:after {
         margin-top: 24px;
         margin-bottom: 24px
     }
 }

 @media (max-width: 767px) {
     section>h2.heading-underline {
         margin-bottom: 52px
     }

     section>h2.heading-underline:after {
         margin-top: 18px;
         margin-bottom: 24px
     }
 }

 @media (min-width: 768px) {

     section:not(.text-center-desktop)>h2.heading-underline:after,
     section:not(.text-center)>h2.heading-underline:after {
         left: 0%;
         right: 0%;
     }

     section.text-center-desktop>h2.heading-underline:after,
     section.text-center>h2.heading-underline:after {
         left: 50%;
         transform: translate(-50%, -50%);
     }
 }

 @media (max-width: 767px) {
     section:not(.text-center-mobile)>h2.heading-underline:after {
         left: 0;
         right: 0
     }

     section.text-center-mobile>h2.heading-underline:after {
         left: 50%;
         transform: translate(-50%, -50%);
     }
 }

 section>h3 {
     font-size: var(--font-size-md);
     font-weight: 700;
 }

 @media (min-width: 768px) {
     section>h3 {
         margin-top: 48px;
         margin-bottom: 4px
     }
 }

 @media (max-width: 768px) {
     section>h3 {
         margin-top: 32px;
         margin-bottom: 2px
     }
 }

 @media (min-width: 768px) {
     section>p.bigger-desktop {
         font-size: var(--font-size-md);
     }
 }

 @media (max-width: 767px) {
     section>p.bigger-mobile {
         font-size: var(--font-size-md)
     }
 }

 section>ul {
     margin-bottom: 18px
 }

 section>ul li {
     font-size: var(--font-size-base);
     margin-bottom: 1em;
 }

 @media (min-width: 768px) {
     section>ul li {
         margin-left: 20px;
         padding-left: 20px
     }

     section>ul li.bigger-desktop {
         font-size: var(--font-size-md);
     }
 }

 @media (max-width: 767px) {
     section>ul li {
         margin-left: 16px;
         padding-left: 8px;
         margin-bottom: 10px
     }

     section>ul li.bigger-mobile {
         font-size: var(--font-size-md)
     }
 }

 section>ul.fa-ul {
     margin-left: auto
 }

 @media (min-width: 768px) {
     section>ul.fa-ul li {
         margin-left: 28px;
         padding-left: 20px
     }
 }

 @media (max-width: 767px) {
     section>ul.fa-ul li {
         margin-left: 22px;
         padding-left: 8px
     }
 }

 section>.badge span {
     display: inline-block;
     padding: 4px 10px;
     font-weight: 700;
     font-size: var(--font-size-sm);
     letter-spacing: 2px;
     text-transform: uppercase;
 }

 @media (min-width: 768px) {
     section>.badge {
         margin-bottom: 42px
     }
 }

 @media (max-width: 767px) {
     section>.badge {
         margin-bottom: 24px
     }
 }

 section>.badge.corners-soft span {
     border-radius: 16px;
     padding-left: 14px;
     padding-right: 14px
 }

 section>.badge.bg-trans {
     padding: 4px 0 4px 0
 }

 @media (min-width: 768px) {
     section>.badge.bigger-desktop span {
         font-size: var(--font-size-base);
     }
 }

 @media (max-width: 767px) {
     section>.badge.bigger-mobile span {
         font-size: var(--font-size-base)
     }
 }

 @media (min-width: 768px) {
     section>figure {
         margin-bottom: 38px
     }

     section>figure.figure-desktop-width-80 {
         width: 80%
     }

     section>figure.figure-desktop-width-50 {
         width: 50%
     }
 }

 @media (max-width: 768px) {
     section>figure {
         margin-bottom: 24px
     }

     section>figure.figure-mobile-width-80 {
         width: 80%
     }

     section>figure.figure-mobile-width-50 {
         width: 50%
     }
 }

 section.fig-shadow>figure {
     overflow: visible
 }

 section>figure.img-circle img {
     border-radius: 50%
 }

 @media (min-width: 768px) {
     section>figure>.cols-img-textbox {
         left: 36px
     }

     section>figure>.cols-img-h4 {
         bottom: 20px;
         left: 36px;
         line-height: 1.2;
         font-size: var(--font-size-sm);
     }
 }

 @media (min-width: 768px) {

     section:not(.text-center-desktop)>figure:not(.text-center-desktop),
     section:not(.text-center)>figure:not(.text-center-desktop) {
         text-align: left
     }

     section.text-center>figure,
     section.text-center-desktop>figure,
     section.text-center-desktop>figure.text-center-desktop {
         text-align: center;
         margin-left: auto;
         margin-right: auto
     }
 }

 @media (max-width: 767px) {

     section:not(.text-center-mobile)>figure:not(.text-center-mobile),
     section:not(.text-center)>figure:not(.text-center-mobile) {
         text-align: left
     }

     section.text-center-mobile>figure,
     section.text-center-mobile>figure.text-center-mobile {
         text-align: center;
         margin-left: auto;
         margin-right: auto
     }
 }

 @media (min-width: 768px) {
     section>.container-btn {
         margin-top: 40px
     }

     section:not(.text-center-desktop)>.container-btn.text-center-desktop,
     section.text-center-desktop .container-btn.text-center-desktop {
         justify-content: center
     }

     section.text-center-desktop .container-btn {
         justify-content: center
     }

     section:not(.text-center-desktop) .container-btn {
         justify-content: flex-start
     }
 }

 @media (max-width: 767px) {
     section>.container-btn {
         margin-top: 32px
     }

     section:not(.text-center-mobile) .container-btn.text-center-mobile,
     section.text-center-mobile .container-btn.text-center-mobile {
         justify-content: center
     }

     section:not(.text-center-mobile) .container-btn {
         justify-content: flex-start
     }

     section.text-center-mobile .container-btn {
         justify-content: center
     }
 }

 section figure.figure-overlay::after {
     content: "";
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     background-image: linear-gradient(12deg, rgba(0, 0, 0, 0.6) 15%, rgba(0, 0, 0, 0.15) 52%, rgba(0, 0, 0, 0) 70%);
     z-index: 3;
 }

 .col-2,
 .col-3,
 .col-4 {
     position: relative
 }

 .col-2 h3 {
     font-weight: 700;
     line-height: 1.15;
     margin-bottom: 6px
 }

 .col-2 a.col-3-h3 {
     font-size: var(--font-size-md);
     font-weight: 700;
     line-height: 1.15;
     margin-bottom: 6px
 }

 .col-2 p {
     font-size: var(--font-size-base);
     margin-bottom: 16px;
     line-height: 1.6
 }

 .col-2 p:last-child,
 .col-3 p:last-child,
 .col-4 p:last-child {
     margin-bottom: 0
 }

 .col-2 li {
     line-height: 1.5
 }

 .col-2 ul li {
     font-size: var(--font-size-base);
     line-height: 1.5;
     margin-left: 15px;
     padding-left: 8px;
     margin-bottom: 14px
 }

 .col-3 h3 {
     font-size: var(--font-size-md);
     font-weight: 700;
     line-height: 1.15;
     margin-bottom: 6px
 }

 .col-3 a.col-3-h3 {
     font-size: var(--font-size-md);
     font-weight: 700;
     line-height: 1.15;
     margin-bottom: 6px
 }

 .col-3 h3+a.btn {
     margin-top: 20px
 }

 .col-3 p {
     font-size: var(--font-size-base);
     margin-bottom: 16px;
     line-height: 1.4
 }

 @media (min-width: 1200px) {
     .col-3 p+a.btn {
         margin-top: 12px
     }
 }

 @media (max-width: 1199px) and (max-width: 768px) {
     .col-3 p+a.btn {
         margin-top: 8px
     }
 }

 @media (max-width: 767px) {
     .col-3 p+a.btn {
         margin-top: 0
     }
 }

 .col-4 h3 {
     font-size: var(--font-size-base);
     font-size: calc(var(--font-size-base) * 1.1);
     font-weight: 700;
     line-height: 1.15;
     margin-bottom: 6px
 }

 .col-4 a.col-3-h3 {
     font-size: var(--font-size-md);
     font-weight: 700;
     line-height: 1.15;
     margin-bottom: 6px
 }

 .col-4 h3+a.btn {
     margin-top: 14px
 }

 .col-4 p {
     font-size: var(--font-size-base);
     line-height: 1.4;
     margin-bottom: 16px
 }

 .col-4 p+a.btn {
     margin-top: 8px
 }

 .col-3 ul li {
     font-size: var(--font-size-base);
     line-height: 1.4;
     margin-left: 15px;
     padding-left: 8px;
     margin-bottom: 14px
 }

 .col-4 ul li {
     font-size: var(--font-size-base);
     line-height: 1.35;
     margin-left: 15px;
     padding-left: 8px;
     margin-bottom: 14px
 }

 .col-2 ul.fa-ul li {
     margin-left: -16px;
     padding-left: 11px
 }

 .col-3 ul.fa-ul li {
     margin-left: -16px;
     padding-left: 11px
 }

 .col-4 ul.fa-ul li {
     margin-left: -16px;
     padding-left: 11px
 }

 .col-2 li:last-child,
 .col-2 li:last-child,
 .col-4 li:last-child {
     margin-bottom: 0
 }

 .col-2 ul.fa-ul li span.fa-li {
     transform: translateY(2px)
 }

 .col-3 ul.fa-ul li span.fa-li {
     transform: translateY(2px)
 }

 .col-4 ul.fa-ul li span.fa-li {
     transform: translateY(2px)
 }

 .col-2 ul {
     margin-bottom: 18px
 }

 .col-3 ul {
     margin-bottom: 18px
 }

 .col-4 ul {
     margin-bottom: 18px
 }

 .col-2 figure {
     overflow: hidden
 }

 .col-3 figure {
     overflow: hidden
 }

 .col-4 figure {
     overflow: hidden
 }

 @media (min-width: 768px) and (max-width: 1024px) {

     .col-3 figure,
     .col-4 figure {
         margin-bottom: 18px
     }
 }

 @media (min-width: 768px) {

     .flex-cols-2,
     .flex-cols-3,
     .flex-cols-4 {
         display: flex;
         flex-direction: row;
         flex-wrap: wrap;
     }

     .flex-cols-2 {
         row-gap: 70px
     }

     .flex-cols-3 {
         row-gap: 80px
     }

     .flex-cols-4 {
         row-gap: 40px
     }

     .flex-cols-2.rows-gap-1,
     .flex-cols-3.rows-gap-1,
     .flex-cols-4.rows-gap-1 {
         row-gap: 0
     }

     .flex-cols-2.rows-gap-2 {
         row-gap: 40px
     }

     .flex-cols-2.rows-gap-3 {
         row-gap: 70px
     }

     .flex-cols-2.rows-gap-4 {
         row-gap: 80px
     }

     .flex-cols-3.rows-gap-2 {
         row-gap: 25px
     }

     .flex-cols-3.rows-gap-3 {
         row-gap: 50px
     }

     .flex-cols-3.rows-gap-4 {
         row-gap: 75px
     }

     .flex-cols-4.rows-gap-2 {
         row-gap: 20px
     }

     .flex-cols-4.rows-gap-3 {
         row-gap: 40px
     }

     .flex-cols-4.rows-gap-4 {
         row-gap: 60px
     }

     .col-3,
     .col-4 {
         display: flex;
         flex-direction: column;
         overflow: hidden
     }

     .col-3 p,
     .col-3 ul,
     .col-4 p,
     .col-4 ul {
         flex-grow: 1
     }

     .col-2 ul.fa-ul,
     .col-3 ul.fa-ul,
     .col-4 ul.fa-ul {
         margin-bottom: 14px
     }

     .col-2 ul.fa-ul {
         margin-left: 8px
     }

     .col-3 ul.fa-ul {
         margin-left: 8px
     }

     .col-4 ul.fa-ul {
         margin-left: 12px
     }

     .col-2 figure,
     .col-3 figure,
     .col-4 figure {
         overflow: visible
     }

     .col-2 figure {
         margin-bottom: 18px
     }

     .col-3 figure,
     .col-4 figure {
         margin-bottom: 26px
     }
 }

 @media (max-width: 767px) {

     .col-2,
     .col-3,
     .col-4 {
         display: block;
         max-width: 400px;
         margin-left: auto;
         margin-right: auto;
     }

     div[class^="col-"] figure {
         margin-bottom: 18px
     }

     div[class^="col-"] figure.icon i[class^='fa'] {
         margin-top: 10px;
         margin-bottom: 18px
     }

     div[class^="col-"] figure.icon i[class^='la'] {
         margin-top: 6px;
         margin-bottom: 18px
     }
 }

 div[class*="cols-borders-width-"]>div[class^="col-"] {
     border-style: solid
 }

 .cols-borders-width-1 div[class^='col-'] {
     border-width: 1px
 }

 .cols-borders-width-2 div[class^='col-'] {
     border-width: 2px
 }

 .cols-borders-width-3 div[class^='col-'] {
     border-width: 3px
 }

 .cols-borders-width-4 div[class^='col-'] {
     border-width: 4px
 }

 .cols-corners-soft .col-2 {
     border-radius: 20px
 }

 .cols-corners-soft .col-3 {
     border-radius: 20px
 }

 .cols-corners-soft .col-4 {
     border-radius: 10px
 }

 .cols-corners-soft.rad-10px div[class^='col-']:not(.col-1) {
     border-radius: 10px
 }

 .cols-corners-soft.rad-30px div[class^='col-']:not(.col-1) {
     border-radius: 30px
 }

 .cols-corners-soft.rad-40px div[class^='col-']:not(.col-1) {
     border-radius: 40px
 }

 @media (min-width: 1200px) {
     .col-1 {
         margin-top: -2%;
         padding: 0 0 5% 0
     }
 }

 @media (min-width: 1025px) and (max-width: 1199px) {
     .col-1 {
         margin-top: -2%;
         padding: 0 0 4% 0
     }
 }

 @media (min-width: 768px) and (max-width: 1024px) {
     .col-1 {
         margin-top: -1.5%;
         padding: 0 5% 5% 5%
     }
 }

 @media (max-width: 767px) {
     .col-1 {
         margin-top: -1.5%;
         padding: 0 5% 42px 5%
     }
 }

 .col-1-badge {
     font-weight: 700;
     display: block;
     padding: 2px 10px;
     font-size: var(--font-size-sm);
     letter-spacing: 2px;
     width: fit-content;
 }

 .col-2 .badge,
 .col-3 .badge,
 .col-4 .badge {
     font-weight: 700;
     display: inline-block;
     padding: 2px 10px;
     font-size: var(--font-size-sm);
     letter-spacing: 2px;
     width: fit-content;
     margin-bottom: 24px !important;
 }

 .col-1-badge.corners-soft {
     border-radius: 16px;
     padding-left: 14px;
     padding-right: 14px
 }

 @media (min-width: 768px) {
     .col-1-badge {
         margin-bottom: 32px
     }
 }

 @media (max-width: 767px) {
     .col-1-badge {
         margin-bottom: 24px
     }
 }

 .col-1>h2 {
     font-weight: 700;
     line-height: 1.15;
     letter-spacing: -1px;
     margin-bottom: 20px;
     font-size: var(--font-size-xl)
 }

 .col-1>h2:last-child {
     margin-bottom: 0
 }

 .col-1>h2 span.highlight {
     color: var(--gray-600);
 }

 .col-1>h2.heading-underline {
     position: relative
 }

 .col-1>h2.heading-underline:after {
     content: '';
     position: absolute;
     top: 100%;
     width: 6ch;
     height: 6px;
     background-color: var(--gray-600);
 }

 @media (min-width: 768px) {
     .col-1>h2.heading-underline {
         margin-bottom: 72px
     }

     .col-1>h2.heading-underline:after {
         margin-top: 24px
     }

     .col-1>h2.heading-underline+h3 {
         margin-top: 42px
     }

     .col-1>h2.heading-underline:last-child {
         margin-bottom: 24px
     }
 }

 @media (max-width: 767px) {
     .col-1>h2.heading-underline {
         margin-bottom: 52px
     }

     .col-1>h2.heading-underline:after {
         margin-top: 18px
     }

     .col-1>h2.heading-underline+h3 {
         margin-top: 42px
     }

     .col-1>h2.heading-underline:last-child {
         margin-bottom: 24px
     }
 }

 .col-1>h3 {
     font-weight: 400;
     line-height: 1.6;
     font-size: var(--font-size-md);
 }

 .col-1>a.col-3-h3 {
     font-weight: 700;
     line-height: 1.15;
     margin-bottom: 6px
 }

 .col-1.text-center>.col-1-badge,
 .col-1.text-center>h2,
 .col-1.text-center>h3 {
     text-align: center;
     margin-left: auto;
     margin-right: auto
 }

 .col-1:not(.text-center)>h2.heading-underline:after {
     left: 0%;
     right: 0%;
 }

 .col-1.text-center>h2.heading-underline:after {
     left: 50%;
     transform: translate(-50%, -50%);
 }

 @media (max-width: 767px) {

     .cols-padding .col-2,
     .cols-padding .col-3,
     .cols-padding .col-4 {
         padding: 18px 18px 22px 18px;
     }

     .cols-padding .col-2 figure,
     .cols-padding .col-3 figure,
     .cols-padding .col-4 figure {
         margin-top: -18px;
         width: calc(100% + 36px);
         margin-left: calc(-18px);
         margin-right: calc(-18px);
     }

     .flex-cols-2.cols-padding>.col-2 figure.cols-fig-padding,
     .flex-cols-3.cols-padding>.col-3 figure.cols-fig-padding,
     .flex-cols-4.cols-padding>.col-4 figure.cols-fig-padding {
         margin-top: 0;
         margin-left: 0;
         margin-right: 0;
         width: 100%;
         overflow: hidden
     }
 }

 .flex-cols-2 {
     column-gap: 5%
 }

 .col-2 {
     flex-basis: 47.5%
 }

 .flex-cols-2.cols-gap-1 {
     column-gap: 0
 }

 .flex-cols-2.cols-gap-2 {
     column-gap: 2%
 }

 .flex-cols-2.cols-gap-3 {
     column-gap: 5%
 }

 .flex-cols-2.cols-gap-4 {
     column-gap: 8%
 }

 .cols-gap-1 .col-2 {
     flex-basis: 50%
 }

 .cols-gap-2 .col-2 {
     flex-basis: 49%
 }

 .cols-gap-3 .col-2 {
     flex-basis: 47.5%
 }

 .cols-gap-4 .col-2 {
     flex-basis: 46%
 }

 @media (min-width: 1025px) {

     .flex-cols-2>.col-2 h3,
     .flex-cols-2>.col-2 a.col-2-h3 {
         font-size: var(--font-size-md)
     }

     .flex-cols-2>.col-2 p,
     .flex-cols-2>.col-2 ul li {
         font-size: var(--font-size-base)
     }

     .flex-cols-2>.col-2 ul li {
         margin-left: 18px;
         padding-left: 12px
     }

     .flex-cols-2>.col-2 ul.fa-ul li {
         margin-left: 22px;
         padding-left: 10px
     }

     .flex-cols-2>.col-2 ul.fa-ul li span.fa-li {
         transform: translateY(2px)
     }

     .flex-cols-2>.col-2 figure {
         margin-bottom: 32px
     }

     .flex-cols-2.cols-padding>.col-2 {
         padding: 30px 32px 38px 32px
     }

     .flex-cols-2.cols-padding>.col-2 figure {
         margin-top: -30px;
         width: calc(100% + 64px);
         margin-left: calc(-32px);
         margin-right: calc(-32px);
     }

     .flex-cols-2.cols-padding>.col-2 figure.cols-fig-padding {
         margin-top: 0;
         margin-left: 0;
         margin-right: 0;
         width: 100%;
         overflow: hidden;
     }
 }

 @media (min-width: 768px) and (max-width: 1024px) {

     .flex-cols-2>.col-2 h3,
     .flex-cols-2>.col-2 a.col-2-h3 {
         font-size: 25px
     }

     .flex-cols-2>.col-2 p,
     .flex-cols-2>.col-2 ul li {
         font-size: 19px
     }

     .flex-cols-2>.col-2 ul li {
         margin-left: 18px;
         padding-left: 8px
     }

     .flex-cols-2>.col-2 ul.fa-ul li {
         margin-left: 22px
     }

     .flex-cols-2>.col-2 figure {
         margin-bottom: 20px
     }

     .flex-cols-2.cols-padding>.col-2 {
         padding: 20px 22px 28px 22px
     }

     .flex-cols-2.cols-padding>.col-2 figure {
         margin-top: -20px;
         width: calc(100% + 44px);
         margin-left: calc(-22px);
         margin-right: calc(-22px);
     }

     .flex-cols-2.cols-padding>.col-2 figure.cols-fig-padding {
         margin-top: 0;
         margin-left: 0;
         margin-right: 0;
         width: 100%;
         overflow: hidden
     }

     .flex-cols-2>.col-2 .container-btn {
         margin-bottom: -20px !important
     }

     .flex-cols-2>.col-2 .container-btn {
         margin-top: 24px
     }
 }

 .flex-cols-2 .col-2 .container-btn {
     display: flex;
     flex-direction: row;
     flex-wrap: wrap;
     row-gap: 30px;
     justify-content: flex-start;
     margin-bottom: 1px !important
 }

 .flex-cols-2 .col-2 .container-btn>a.btn {
     margin-top: 0;
     margin-left: 0;
     margin-right: 0;
     margin-bottom: 0 !important
 }

 @media (min-width: 768px) {
     .flex-cols-2 .col-2 .container-btn {
         margin-top: 20px;
         column-gap: 48px
     }

     .flex-cols-2 .col-2 .container-btn.text-center-desktop {
         justify-content: center !important
     }
 }

 @media (max-width: 767px) {
     .flex-cols-2 .col-2 .container-btn {
         margin-top: 32px;
         column-gap: 30px
     }

     .flex-cols-2 .col-2 .container-btn.text-center-mobile {
         justify-content: center !important
     }
 }

 .flex-cols-2>.col-2 figure.icon i[class^='fa'] {
     font-size: 116px
 }

 .flex-cols-2>.col-2 figure.icon.icon-small i[class^='fa'] {
     font-size: 80px;
 }

 .flex-cols-2>.col-2 figure.icon i[class^="la"] {
     font-size: 150px
 }

 .flex-cols-2>.col-2 figure.icon.icon-small i[class^="la"] {
     font-size: 110px
 }

 @media (min-width: 768px) {
     .flex-cols-2>.col-2 figure.icon i[class^='fa'] {
         margin-top: 24px;
         margin-bottom: 0
     }
 }

 @media (max-width: 767px) {
     .flex-cols-2>.col-2 figure.icon i[class^='fa'] {
         margin-top: 0;
         margin-bottom: 18px
     }
 }

 .flex-cols-2>.col-2 figure.icon i[class^="la"] {
     margin-top: 0;
     margin-bottom: -12px
 }

 @media (min-width: 768px) {
     .flex-cols-3 {
         column-gap: 5%
     }

     .col-3 {
         flex-basis: 30%
     }

     .flex-cols-3.cols-gap-1 {
         column-gap: 0
     }

     .flex-cols-3.cols-gap-2 {
         column-gap: 2%
     }

     .flex-cols-3.cols-gap-3 {
         column-gap: 5%
     }

     .flex-cols-3.cols-gap-4 {
         column-gap: 8%
     }

     .cols-gap-1 .col-3 {
         flex-basis: 33.3%
     }

     .cols-gap-2 .col-3 {
         flex-basis: 32%
     }

     .cols-gap-3 .col-3 {
         flex-basis: 30%
     }

     .cols-gap-4 .col-3 {
         flex-basis: 28%
     }
 }

 @media (min-width: 1025px) {
     .flex-cols-3.cols-padding .col-3 {
         padding: 20px 20px 28px 20px
     }

     .col-3 ul li {
         margin-left: 16px;
         padding-left: 6px
     }

     .col-3 ul.fa-ul li {
         margin-left: 22px;
         padding-left: 11px
     }

     .col-3 ul.fa-ul li span.fa-li {
         transform: translateY(2px)
     }

     .flex-cols-3.cols-padding .col-3 figure {
         margin-top: -20px;
         width: calc(100% + 40px);
         margin-left: calc(-20px);
         margin-right: calc(-20px);
     }

     .flex-cols-3.cols-padding .col-3 figure.cols-fig-padding {
         margin-top: 0;
         margin-left: 0;
         margin-right: 0;
         width: 100%;
     }
 }

 @media (min-width: 768px) and (max-width: 1024px) {

     .col-3 h3,
     .col-3 a.col-3-h3 {
         font-size: calc(19px + (22 - 19) * ((100vw - 768px) / (1024 - 768)))
     }

     .col-3 p {
         font-size: calc(16px + (18 - 16) * ((100vw - 768px) / (1024 - 768)))
     }

     .col-3 ul li {
         font-size: calc(16px + (17 - 16) * ((100vw - 768px) / (1024 - 768)));
         margin-bottom: 6px;
         margin-left: 15px;
         padding-left: 4px
     }

     .col-3 ul.fa-ul li {
         margin-left: 20px;
         padding-left: 4px
     }

     .col-3 ul li span.fa-li i {
         font-size: 90%
     }

     .flex-cols-3.cols-padding .col-3 {
         padding: 16px 16px 20px 16px
     }

     .flex-cols-3.cols-padding .col-3 figure {
         margin-top: -16px;
         width: calc(100% + 32px);
         margin-left: calc(-16px);
         margin-right: calc(-16px);
     }

     .flex-cols-3.cols-padding .col-3 figure.cols-fig-padding {
         margin-top: 0;
         margin-left: 0;
         margin-right: 0;
         width: 100%;
     }
 }

 .col-3 figure.icon i[class^='fa'] {
     font-size: 116px
 }

 .col-3 figure.icon.icon-small i[class^='fa'] {
     font-size: 80px;
 }

 .col-3 figure.icon i[class^='la'] {
     font-size: 150px;
     margin-bottom: -24px !important
 }

 .col-3 figure.icon.icon-small i[class^='la'] {
     font-size: 110px;
     margin-bottom: -24px !important
 }

 @media (min-width: 801px) {
     .col-3 figure.icon i[class^='fa'] {
         margin-top: 32px;
         margin-bottom: 0
     }

     .col-3 figure.icon i[class^='la'] {
         margin-top: 12px;
         margin-bottom: 0
     }
 }

 @media (min-width: 768px) and (max-width: 800px) {
     .col-3 figure.icon i[class^='fa'] {
         margin-top: 6px;
         margin-bottom: 18px
     }

     .col-3 figure.icon i[class^='la'] {
         margin-top: -10px;
         margin-bottom: 18px
     }
 }

 @media (min-width: 768px) {
     .flex-cols-4 {
         column-gap: 3%
     }

     .col-4 {
         flex-basis: 22.75%
     }

     .flex-cols-4.cols-gap-1 {
         column-gap: 0
     }

     .flex-cols-4.cols-gap-2 {
         column-gap: 2%
     }

     .flex-cols-4.cols-gap-3 {
         column-gap: 3%
     }

     .flex-cols-4.cols-gap-4 {
         column-gap: 4%
     }

     .cols-gap-1 .col-4 {
         flex-basis: 25%
     }

     .cols-gap-2 .col-4 {
         flex-basis: 23.5%
     }

     .cols-gap-3 .col-4 {
         flex-basis: 22.75%
     }

     .cols-gap-4 .col-4 {
         flex-basis: 22%
     }
 }

 @media (min-width: 1025px) {
     .col-4 ul li {
         margin-left: 17px;
         padding-left: 2px
     }

     .col-4 ul.fa-ul li {
         margin-left: 18px;
         padding-left: 2px
     }

     .col-4 ul.fa-ul li span.fa-li {
         transform: translateY(2px)
     }

     .col-4 ul li span.fa-li i {
         font-size: 90%
     }

     .col-4 figure {
         margin-bottom: 16px
     }

     .flex-cols-4.cols-padding>.col-4 {
         padding: 15px 16px 22px 16px
     }

     .flex-cols-4.cols-padding>.col-4 figure {
         margin-top: -15px;
         width: calc(100% + 32px);
         margin-left: calc(-16px);
         margin-right: calc(-16px);
     }

     .flex-cols-4.cols-padding .col-4 figure.cols-fig-padding {
         margin-top: 0;
         margin-left: 0;
         margin-right: 0;
         width: 100%;
         overflow: hidden
     }
 }

 @media (min-width: 768px) and (max-width: 1024px) {
     .col-4 ul li {
         line-height: 1.3;
         margin-bottom: 6px;
         margin-left: 16px;
         padding-left: 6px
     }

     .col-4 ul.fa-ul li {
         margin-left: 20px;
         padding-left: 4px
     }

     .col-4 ul.fa-ul>li {
         margin-left: 18px;
         padding-left: 2px
     }

     .col-4 ul li span.fa-li i {
         font-size: 90%
     }

     .col-4 figure {
         margin-bottom: 16px
     }

     .flex-cols-4.cols-padding .col-4 {
         padding: 15px 12px 18px 12px
     }

     .flex-cols-4.cols-padding .col-4 figure {
         margin-top: -15px;
         margin-left: -12px;
         margin-right: -12px;
     }

     .flex-cols-4.cols-padding .col-4 figure {
         margin-top: -15px;
         width: calc(100% + 24px);
         margin-left: calc(-12px);
         margin-right: calc(-12px);
     }

     .flex-cols-4.cols-padding .col-4 figure.cols-fig-padding {
         margin-top: 0;
         margin-left: 0;
         margin-right: 0;
         width: 100%;
         overflow: hidden
     }
 }

 .col-4 figure.icon i[class^='fa'] {
     font-size: 84px
 }

 .col-4 figure.icon.icon-small i[class^='fa'] {
     font-size: 64px;
 }

 .col-4 figure.icon i[class^='la'] {
     font-size: 110px
 }

 .col-4 figure.icon.icon-small i[class^='la'] {
     font-size: 80px
 }

 .col-4 figure.icon i[class^='la'] {
     margin-bottom: -12px !important
 }

 @media (min-width: 801px) {
     .col-4 figure.icon i[class^='fa'] {
         margin-top: 32px;
         margin-bottom: 0
     }

     .col-4 figure.icon i[class^='la'] {
         margin-top: 20px
     }
 }

 @media (min-width: 768px) and (max-width: 800px) {
     .col-4 figure.icon i[class^='fa'] {
         margin-top: 6px;
         margin-bottom: 0
     }

     .col-4 figure.icon i[class^='la'] {
         margin-top: 0
     }
 }

 .fig-shadow .col-4 figure {
     overflow: visible
 }

 @media (max-width: 767px) {
     .mobile-col-2.flex-cols-4 {
         display: flex;
         flex-direction: row;
         flex-wrap: wrap;
         justify-content: flex-start;
         align-content: flex-start;
         column-gap: 8%;
         row-gap: 42px;
     }

     .flex-cols-4.mobile-col-2 .col-4 {
         display: flex;
         flex-direction: column;
         justify-content: flex-start;
         align-content: flex-start;
         flex-basis: 46%;
         margin-top: 0;
         margin-bottom: 0;
         margin-left: 0;
         margin-right: 0;
     }

     .mobile-col-2.cols-padding .col-4 {
         padding: 14px 12px 16px 12px
     }

     .flex-cols-4.mobile-col-2 .col-4 .badge {
         margin-bottom: 14px;
         font-weight: 700;
         letter-spacing: 1px;
         font-size: 12px;
         padding: 3px 10px;
     }

     .flex-cols-4.mobile-col-2 .col-4 figure {
         margin-bottom: 14px
     }

     .mobile-col-2.cols-padding .col-4 figure {
         margin-top: -14px;
         width: calc(100% + 24px);
         margin-left: calc(-12px);
         margin-right: calc(-12px);
     }

     .mobile-col-2 .col-4 h3,
     .mobile-col-2 .col-4 .col-4-h3 {
         font-size: var(--font-size-base)
     }

     .mobile-col-2 .col-4 p,
     .mobile-col-2 .col-4 ul {
         flex-grow: 1
     }

     .mobile-col-2 .col-4 p,
     .mobile-col-2 .col-4 li {
         font-size: var(--font-size-base)
     }

     .mobile-col-2 .col-4 ul li span.fa-li i {
         font-size: 90%
     }

     .mobile-col-2 .col-4 li {
         margin-bottom: 6px
     }

     .mobile-col-2 .col-4 a.btn {
         padding: 8px 11px;
         font-size: 15px
     }

     .mobile-col-2 .col-4 a.btn-small {
         padding: 6px 10px;
         font-size: 14px
     }
 }

 section.cols-2-half {
     position: relative
 }

 section .col-text .badge {
     font-weight: 700;
     display: block;
     padding: 2px 10px;
     letter-spacing: 2px;
     font-size: var(--font-size-sm);
     width: fit-content;
 }

 section .col-text .badge.corners-soft {
     border-radius: 16px;
     padding-left: 14px;
     padding-right: 14px
 }

 section .col-text h2 {
     font-size: var(--font-size-xl);
     letter-spacing: -1px;
     line-height: 1.2
 }

 section .col-text h3 {
     font-size: var(--font-size-md)
 }

 section .col-text h2.heading-underline {
     position: relative;
     margin: 0 0 52px 0
 }

 section .col-text h2.heading-underline:after {
     position: absolute;
     left: 0;
     right: 0;
     top: 100%;
     content: '';
     width: 6ch;
     height: 6px;
     background-color: var(--gray-600);
     margin: 18px 0 12px 0;
 }

 section .col-text ul.fa-ul li span.fa-li {
     transform: translateY(2px)
 }

 section .col-text .container-btn {
     margin-top: 0;
     margin-left: 0;
     margin-right: 0;
     margin-bottom: 0 !important;
     justify-content: flex-start
 }

 @media (min-width: 768px) {
     section .col-text .container-btn {
         margin-top: 32px
     }

     section .col-text .container-btn {
         column-gap: 48px
     }
 }

 @media (max-width: 767px) {
     section .col-text .container-btn {
         margin-top: 32px
     }

     section .col-text .container-btn {
         column-gap: 30px
     }
 }

 section .col-visual figure {
     overflow: visible
 }

 section .col-visual figure img,
 section .col-visual figure video {
     display: block
 }

 .container-video-yt {
     position: relative;
     padding-bottom: 56.25%;
     height: 0;
     overflow: hidden;
 }

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

 @media (min-width: 768px) {
     section.cols-2-half {
         padding-top: 0 !important;
         padding-right: 0 !important;
         padding-bottom: 0 !important;
         padding-left: 0 !important;
     }

     section.cols-2-half {
         display: flex;
         flex-direction: row;
         flex-wrap: wrap
     }

     section.cols-2-half .col-2 {
         flex-basis: 50%
     }

     section.cols-2-half .col-text,
     section.cols-2-half .col-visual {
         display: flex;
         flex-direction: column;
         flex-wrap: nowrap;
         justify-content: center;
         max-width: 50%;
         padding-top: 5%;
         padding-bottom: 5%
     }

     section .col-text {
         padding-left: 5%;
         padding-right: 5%
     }

     section.flex-row-reverse .col-2.col-text {
         order: 2
     }

     section .col-text .badge {
         margin-bottom: 32px
     }

     section .col-text h2 {
         margin-bottom: 20px
     }

     section .col-text h3 {
         margin-top: 24px
     }

     section .col-text p,
     section .col-text ul {
         flex-grow: 0
     }

     section .col-text p,
     .cols-2-half .col-text li {
         font-size: var(--font-size-base)
     }

     section .col-text p {
         margin-bottom: 16px
     }

     section .col-text li {
         margin-bottom: 12px;
         margin-left: 20px;
         padding-left: 12px
     }

     @media (min-width: 768px) {
         .cols-2-half .col-2.col-text ul.fa-ul li {
             margin-left: 20px
         }
     }

     section .col-text .container-btn {
         margin-top: 40px
     }

     section .col-visual {
         display: block;
         padding-left: 5%;
         padding-right: 5%
     }

     section.flex-row-reverse .col-2.col-visual {
         order: 1
     }

     section .col-visual>figure {
         margin-bottom: 0px
     }

     section .visual figure.fig-shadows-trans {
         margin-bottom: 0
     }

     section .col-visual.desktop-bleed-outside {
         padding-right: 0;
         min-width: 50%
     }

     section.flex-row-reverse .col-visual.desktop-bleed-outside {
         padding-left: 0;
         min-width: 50%
     }

     section .col-visual.desktop-bleed-all,
     section.flex-row-reverse .col-visual.desktop-bleed-all {
         padding: 0;
         min-width: 50%;
         overflow: hidden
     }

     section .col-visual.desktop-bleed-all figure,
     section.flex-row-reverse .col-visual.desktop-bleed-all figure {
         position: absolute;
         top: 0;
         bottom: 0;
         overflow: hidden;
         position: relative;
         width: 100%;
         height: 100%;
         display: block;
     }

     section .col-visual.desktop-bleed-all figure {
         left: 0;
         right: 0
     }

     section.flex-row-reverse .col-visual.desktop-bleed-all figure {
         left: 0;
         right: 0%
     }

     section .col-visual.desktop-bleed-all figure *,
     section.flex-row-reverse .col-visual.desktop-bleed-all figure * {
         width: 100%;
         max-width: 100%;
         height: 100%;
         display: inline-block;
         object-fit: cover;
         object-position: center;
     }
 }

 @media (min-width: 768px) and (max-width: 1024px) {
     section .col-text {
         padding-left: 4%;
         padding-right: 4%
     }

     section .col-visual {
         padding-left: 4%;
         padding-right: 4%
     }

     section.flex-row-reverse .col-text {
         padding-left: 4%;
         padding-right: 4%;
         order: 2;
     }

     section.flex-row-reverse .col-visual {
         padding-left: 4%;
         padding-right: 4%;
         order: 1;
     }
 }

 @media (max-width: 767px) {
     section .col-text {
         margin-bottom: 0 !important
     }

     section .col-text .badge {
         margin-bottom: 22px
     }

     section .col-text h2 {
         margin-bottom: 6px
     }

     section .col-text h3 {
         margin-top: 26px
     }

     section .col-text .container-btn {
         margin-top: 32px
     }

     */section.cols-2-half.col-text {
         display: flex;
         flex-direction: column;
         flex-wrap: nowrap;
         justify-content: flex-start;
         gap: 32px;
     }

     section .col-visual figure {
         margin-top: 22px;
         margin-bottom: 0
     }

     section .col-visual.mobile-bleed-edges {
         padding-left: 0 !important;
         padding-right: 0 !important;
         text-align: center;
         width: 120%;
         margin-left: -10%;
         margin-right: -10%;
     }

     section .col-text {
         order: 2
     }

     section .col-visual {
         order: 1
     }

     section.flex-column-reverse .col-text {
         order: 1;
     }

     section.flex-column-reverse .col-visual {
         order: 2;
     }
 }

 header {
     display: flex;
     flex-direction: column;
     justify-content: space-around;
     max-width: 1920px
 }

 @media (min-width: 768px) {
     header.desktop-min-height-500px {
         min-height: 500px
     }

     header.desktop-min-height-60vh {
         min-height: 60vh
     }

     header.desktop-min-height-70vh {
         min-height: 70vh
     }

     header.desktop-min-height-80vh {
         min-height: 80vh
     }

     header.desktop-min-height-90vh {
         min-height: 90vh
     }

     header.desktop-min-height-100vh {
         min-height: 100vh
     }
 }

 @media (max-width: 768px) {
     f.desktop-min-height-500px {
         min-height: 500px
     }

     header.desktop-min-height-60vh {
         min-height: 50vh
     }

     header.desktop-min-height-70vh {
         min-height: 60vh
     }

     header.desktop-min-height-80vh {
         min-height: 70vh
     }

     header.desktop-min-height-90vh {
         min-height: 80vh
     }

     header.desktop-min-height-100vh {
         min-height: 100vh
     }
 }

 header .container-text {
     position: relative
 }

 @media (min-width: 768px) {
     header.text-center-desktop .container-text {
         margin-left: auto;
         margin-right: auto
     }

     header:not(.text-center-desktop) .container-text {
         margin-left: 0;
         margin-right: 0
     }

     header.text-center-desktop .container-text.w-50 {
         width: 50%
     }

     header:not(.text-center-desktop) .container-text.text-start-50 {
         margin-left: 50%
     }
 }

 @media (max-width: 767px) {
     header.text-center-mobile .container-text {
         margin-left: auto;
         margin-right: auto
     }

     header:not(.text-center-mobile) .container-text {
         margin-left: 0;
         margin-right: 0
     }
 }

 header .badge {
     font-weight: 700;
     display: block;
     padding: 4px 20px;
     font-size: 100%;
     letter-spacing: 2px;
     width: fit-content;
     margin-left: auto;
     margin-right: auto;
     font-size: var(--font-size-sm);
     margin-left: auto;
     margin-right: auto
 }

 header .badge.corners-soft {
     border-radius: 16px
 }

 @media (min-width: 768px) {
     header .badge {
         margin-bottom: 32px
     }

     header:not(.text-center-desktop) .badge {
         margin-left: 0;
         margin-right: 0
     }

     header.text-start-center .badge {
         margin-left: 49.25%
     }
 }

 @media (max-width: 767px) {
     header .badge {
         margin-bottom: 24px
     }

     header:not(.text-center-mobile) .badge {
         margin-left: 0;
         margin-right: 0
     }
 }

 header h1 {
     line-height: 1.2
 }

 header h2 {
     font-weight: 500;
     line-height: 1.5;
 }

 header h1.text-shadow {
     text-shadow: 2px 2px 2px var(--gray-800)
 }

 header h2.text-shadow {
     text-shadow: 1px 1px 1px var(--gray-800)
 }

 @media (min-width: 1025px) {
     header h1 {
         letter-spacing: -2px;
         line-height: 1.1
     }

     header h2 {
         letter-spacing: -1px;
         margin-top: 32px
     }
 }

 @media (max-width: 1024px) {
     header h1 {
         letter-spacing: -1px;
     }

     header h2 {
         letter-spacing: 0;
         line-height: 1.4
     }
 }

 @media (min-width: 768px) and (max-width: 1024px) {
     header h2 {
         margin-top: 20px
     }
 }

 @media (min-width: 768px) {
     header .container-text.w-50 h1 {
         letter-spacing: -1px
     }

     header .container-text.w-50 h2 {
         letter-spacing: 0
     }
 }

 @media (min-width: 1921px) and (max-width: 2560px) {
     header h1 {
         margin-bottom: 1.25%
     }

     header .container-text.w-50 h1 {
         margin-bottom: 4%
     }
 }

 @media (min-width: 1441px) and (max-width: 1920px) {
     header h1 {
         margin-bottom: 1.25%
     }

     header .container-text.w-50 h1 {
         margin-bottom: 3%
     }
 }

 @media (min-width: 1025px) and (max-width: 1440px) {
     header h1 {
         margin-bottom: 1.25%
     }

     header .container-text.w-50 h1 {
         margin-bottom: 5%
     }
 }

 @media (min-width: 811px) and (max-width: 1024px) {
     header h1 {
         margin-bottom: 1.25%
     }

     header .container-text.w-50 h1 {
         margin-bottom: 8%
     }

     header h2 {
         margin-top: 20px
     }
 }

 @media (min-width: 600px) and (max-width: 810px) {
     header h1 {
         margin-bottom: 1.25%
     }

     header h2 {
         margin-top: 20px
     }
 }

 @media (min-width: 413px) and (max-width: 599px) {
     header h1 {
         margin-bottom: 5%
     }

     header h2 {
         margin-top: 22px
     }
 }

 @media (max-width: 413px) {
     header h1 {
         margin-bottom: 5%
     }

     header h2 {
         margin-top: 22px
     }
 }

 header h1.heading-underline {
     position: relative
 }

 header h1.heading-underline:after {
     content: '';
     position: absolute;
     top: 100%;
     width: 6ch;
     height: 6px;
     background-color: var(--gray-600);
 }

 @media (min-width: 768px) {
     header h1.heading-underline {
         margin-bottom: 72px
     }

     header h1.heading-underline:after {
         margin-top: 24px;
         margin-bottom: 24px
     }
 }

 @media (max-width: 767px) {
     header h1.heading-underline {
         margin-bottom: 52px
     }

     header h1.heading-underline:after {
         margin-top: 18px;
         margin-bottom: 24px
     }
 }

 h1.heading-underline {
     margin-bottom: 64px
 }

 h1.heading-underline:after {
     height: 10px;
     margin-top: 22px
 }

 @media (min-width: 768px) {

     header.text-center-desktop h1.heading-underline:after,
     header.text-center h1.heading-underline:after {
         margin-left: auto;
         margin-right: auto;
     }

     header:not(.text-center-desktop) h1.heading-underline:after,
     header:not(.text-center) h1.heading-underline:after {
         left: 0%;
         right: 0%;
     }
 }

 @media (max-width: 767px) {

     header.text-center-mobile h1.heading-underline:after,
     header.text-center h1.heading-underline:after {
         margin-left: auto;
         margin-right: auto;
     }

     header:not(.text-center-mobile) h1.heading-underline:after {
         left: 0;
         right: 0
     }

     header:not(.text-center) h1.heading-underline:after {
         left: 0;
         right: 0
     }
 }

 @media (min-width: 768px) {
     header .container-btn {
         margin-top: 48px
     }

     header .container-btn.w-50 {
         width: 50%
     }

     header.text-center-desktop .container-btn.w-50 {
         width: 50%;
         justify-content: center;
         margin-left: auto;
         margin-right: auto
     }

     header .container-btn.text-start-50 {
         margin-left: 50%
     }

     header.text-start-center>.container-btn {
         margin-left: 50%
     }

     header:not(.text-center-desktop)>.container-btn.text-center-desktop,
     header.text-center-desktop>.container-btn.text-center-desktop,
     header.text-center-desktop>.container-btn {
         justify-content: center
     }

     header:not(.text-center-desktop) .container-btn:not(.text-center-desktop) .container-btn,
     header:not(.text-center-desktop) .container-btn {
         justify-content: flex-start
     }
 }

 @media (max-width: 767px) {
     header .container-btn {
         margin-top: 48px;
     }

     header:not(.text-center-mobile)>.container-btn.text-center-mobile,
     header.text-center-mobile>.container-btn.text-center-mobile,
     header.text-center-mobile>.container-btn {
         justify-content: center
     }

     header:not(.text-center-mobile)>.container-btn {
         justify-content: flex-start
     }
 }

 @media (min-width: 768px) {

     header:not(.hero-bg),
     header:not(.cols-2-half) {
         padding: 5% 5%
     }
 }

 @media (max-width: 767px) {

     header:not(.hero-bg),
     header:not(.cols-2-half) {
         padding: 32px 9% 48px 9%
     }
 }

 @media (min-width: 768px) {
     header>figure {
         margin-top: 56px;
         overflow: visible
     }
 }

 @media (max-width: 767px) {
     header>figure {
         margin-top: 20px;
         overflow: visible
     }
 }

 @media (max-width: 1920px) {
     header.figure-width-100>figure {
         width: 130%
     }

     header.text-center-desktop.figure-width-100>figure {
         width: 130%;
         margin-left: -15%;
         margin-right: -15%
     }
 }

 @media (min-width: 768px) {
     header:not(.text-center-desktop) figure {
         margin-left: 0;
         margin-right: 0
     }

     header.text-center-desktop figure {
         margin-left: auto;
         margin-right: auto
     }
 }

 @media (max-width: 767px) {
     header figure {
         margin-top: 32px
     }

     header:not(.text-center-mobile) figure {
         margin-left: 0;
         margin-right: 0
     }

     header.text-center-mobile figure {
         margin-left: auto;
         margin-right: auto
     }
 }

 @media (min-width: 768px) {
     header figure.w-80 {
         width: 80%
     }

     header figure.w-50 {
         width: 60%
     }

     header figure.w-100 {
         width: 100%
     }
 }

 @media (max-width: 767px) {

     header figure.w-80,
     header figure.w-50,
     header figure.w-100 {
         width: 100%
     }
 }

 header figure.w-120 {
     width: 120%;
     margin-left: -10%;
     margin-right: -10%
 }

 @media (min-width: 768px) {
     header figure.w-120 {
         margin-bottom: -6%
     }
 }

 @media (max-width: 767px) {
     header figure.w-120 {
         margin-bottom: -12%
     }
 }

 header.cols-2-half {
     position: relative
 }

 header .col-text .badge {
     font-weight: 700;
     display: block;
     padding: 4px 18px;
     letter-spacing: 2px;
     font-size: calc(var(--font-size-sm) * 1.25);
     width: fit-content;
 }

 header .col-text .badge.corners-soft {
     border-radius: 16px;
     padding: 4px 18px
 }

 @media (min-width: 768px) {
     header .col-text .badge {
         margin-bottom: 60px !important
     }
 }

 @media (max-width: 767px) {
     header .col-text .badge {
         margin-bottom: 40px !important
     }
 }

 header .col-text h1 {
     letter-spacing: -1px;
     line-height: 1.2
 }

 header .col-text h1.heading-underline {
     position: relative;
     margin: 0 0 52px 0
 }

 header .col-text h1.heading-underline:after {
     position: absolute;
     left: 0;
     right: 0;
     top: 100%;
     content: '';
     width: 6ch;
     height: 6px;
     background-color: var(--gray-600);
     margin: 18px 0 12px 0;
 }

 header .col-text h2 {
     letter-spacing: 0
 }

 header .col-text ul.fa-ul li span.fa-li {
     transform: translateY(2px)
 }

 header .col-text .container-btn {
     margin-top: 0;
     margin-left: 0;
     margin-right: 0;
     margin-bottom: 0 !important;
     justify-content: flex-start
 }

 @media (min-width: 1300px) {
     header .col-text .container-btn {
         margin-top: 48px
     }

     header .col-text .container-btn {
         column-gap: 68px
     }
 }

 @media (min-width: 768px) and (max-width: 1299px) {
     header .col-text .container-btn {
         margin-top: 32px
     }

     header .col-text .container-btn {
         column-gap: 48px
     }
 }

 @media (max-width: 767px) {
     header .col-text .container-btn {
         margin-top: 32px
     }

     header .col-text .container-btn {
         column-gap: 30px
     }
 }

 header .col-visual figure {
     overflow: visible
 }

 header .col-visual figure img,
 header .col-visual figure video {
     display: block
 }

 @media (min-width: 768px) {
     header.cols-2-half {
         padding-top: 0 !important;
         padding-right: 0 !important;
         padding-bottom: 0 !important;
         padding-left: 0 !important;
     }

     header.cols-2-half {
         display: flex;
         flex-direction: row;
         flex-wrap: wrap
     }

     header.cols-2-half .col-2 {
         flex-basis: 50%
     }

     header.cols-2-half .col-text,
     header.cols-2-half .col-visual {
         display: flex;
         flex-direction: column;
         flex-wrap: nowrap;
         justify-content: center;
         max-width: 50%;
         padding-top: 5%;
         padding-bottom: 5%
     }

     header .col-text {
         padding-left: 5%;
         padding-right: 5%
     }

     header.flex-row-reverse .col-text {
         order: 2
     }

     header .col-text .badge {
         margin-bottom: 32px
     }

     header .col-text h2 {
         margin-bottom: 20px
     }

     header .col-text h3 {
         margin-top: 24px
     }

     header .col-text p,
     header .col-text ul {
         flex-grow: 0
     }

     header .col-text p,
     .cols-2-half .col-text li {
         font-size: var(--font-size-base)
     }

     header .col-text p {
         margin-bottom: 16px
     }

     header .col-text li {
         margin-bottom: 12px;
         margin-left: 20px;
         padding-left: 12px
     }

     header .col-text .container-btn {
         margin-top: 40px
     }

     header .col-visual {
         padding-left: 5%;
         padding-right: 5%
     }

     header.flex-row-reverse .col-visual {
         order: 1
     }

     header .col-visual figure {
         margin-bottom: 0px
     }

     header .visual figure.fig-shadows-trans {
         margin-bottom: 0
     }

     header .col-visual.desktop-bleed-outside {
         padding-right: 0;
         min-width: 50%
     }

     header.flex-row-reverse .col-visual.desktop-bleed-outside {
         padding-left: 0;
         min-width: 50%
     }

     header .col-visual.desktop-bleed-all,
     header.flex-row-reverse .col-visual.desktop-bleed-all {
         padding: 0;
         min-width: 50%;
         overflow: hidden
     }

     header .col-visual.desktop-bleed-all figure,
     header.flex-row-reverse .col-visual.desktop-bleed-all figure {
         position: absolute;
         top: 0;
         bottom: 0;
         overflow: hidden;
         position: relative;
         width: 100%;
         height: 100%;
         display: block;
     }

     header .col-visual.desktop-bleed-all figure {
         left: 0;
         right: 0
     }

     header.flex-row-reverse .col-visual.desktop-bleed-all figure {
         left: 0;
         right: 0%
     }

     header .col-visual.desktop-bleed-all figure *,
     header.flex-row-reverse .col-visual.desktop-bleed-all figure * {
         width: 100%;
         max-width: 100%;
         height: 100%;
         display: inline-block;
         object-fit: cover;
         object-position: center;
     }
 }

 @media (min-width: 768px) and (max-width: 1024px) {
     header .col-text {
         padding-left: 4%;
         padding-right: 4%
     }

     header .col-visual {
         padding-left: 4%;
         padding-right: 4%
     }

     header.flex-row-reverse .col-text {
         padding-left: 4%;
         padding-right: 4%;
         order: 2;
     }

     header.flex-row-reverse .col-visual {
         padding-left: 4%;
         padding-right: 4%;
         order: 1;
     }
 }

 @media (max-width: 767px) {
     header.cols-2-half {
         display: flex;
         flex-direction: column;
         flex-wrap: nowrap;
         justify-content: flex-start;
         gap: 32px;
         padding: 42px 9% 20px 9%;
     }

     header .col-text {
         order: 2
     }

     header .col-visual {
         order: 1
     }

     header.flex-column-reverse {
         flex-direction: column-reverse
     }

     header.flex-column-reverse .col-2.col-visual {
         margin-bottom: 32px !important
     }

     header .col-text {
         margin-bottom: 0 !important
     }

     header .col-text h2 {
         margin-bottom: 6px
     }

     header .col-text h3 {
         margin-top: 26px
     }

     header .col-text .badge {
         margin-bottom: 22px
     }

     header.text-center-mobile .col-text .badge {
         margin-left: auto;
         margin-right: auto
     }

     header .col-text .container-btn {
         margin-top: 32px;
         margin-bottom: 28px !important;
     }

     header.text-center-mobile .col-text .container-btn {
         justify-content: center;
     }

     header .col-visual {
         margin-bottom: 0 !important
     }

     header .col-visual figure {
         margin-top: 0
     }

     header .col-visual.mobile-bleed-edges {
         padding-left: 0 !important;
         padding-right: 0 !important;
         text-align: center;
         width: 120%;
         margin-left: -10%;
         margin-right: -10%;
     }

     header .col-visual figure {
         margin-bottom: 0
     }
 }

 header.hero-bg {
     display: flex;
     flex-direction: column;
     justify-content: space-around
 }

 @media (min-width: 768px) {
     header.hero-bg {
         padding-left: 4%;
         padding-right: 4%
     }
 }

 @media (max-width: 767px) {
     header.hero-bg {
         padding-left: 9%;
         padding-right: 9%
     }
 }

 header .badge,
 header .container-text {
     z-index: 3
 }

 header .container-btn {
     z-index: 4
 }

 header .container-media {
     position: absolute;
     z-index: 1;
     top: 0;
     right: 0;
     bottom: 0;
     left: 0;
     overflow: hidden;
 }

 header .container-media {
     display: flex;
     justify-content: center;
     align-items: center;
     overflow: hidden
 }

 header .container-media * {
     position: absolute;
     height: 100%;
     width: 100%;
     object-fit: cover;
 }

 @media (max-width: 768px) {
     header.hero-bg .container-media.push-to-right * {
         object-position: 10% center
     }

     header.hero-bg .container-media.pull-to-left * {
         object-position: 82% center
     }
 }

 @media (max-width: 767px) {
     header .container-media.show-left {
         justify-content: flex-start
     }
 }

 @media (max-width: 767px) {
     header .container-media.show-right {
         justify-content: flex-end
     }
 }

 .hero-bg .container-overlay {
     position: absolute;
     z-index: 2;
     top: 0;
     right: 0;
     bottom: 0;
     left: 0;
     background-image: linear-gradient(rgba(0, 0, 0, var(--overlay-opacity)), rgba(0, 0, 0, var(--overlay-opacity)));
 }

 nav.theme-light,
 nav.theme-light ul.links-wrapper.active {
     background-color: var(--gray-300)
 }

 nav.theme-light ul.links-wrapper li a:link,
 nav.theme-light ul.links-wrapper li a:visited {
     color: #000
 }

 nav.theme-light ul.links-wrapper li a:focus,
 nav.theme-light ul.links-wrapper li a:hover,
 nav.theme-light ul.links-wrapper li a:active {
     color: var(--gray-600)
 }

 nav.theme-light ul.links-wrapper li a.btn-solid:link,
 nav.theme-light ul.links-wrapper li a.btn-solid:visited {
     color: #fff;
     border: solid 2px #000;
     background-color: #000
 }

 nav.theme-light ul.links-wrapper li a.btn-solid:focus,
 nav.theme-light ul.links-wrapper li a.btn-solid:hover,
 nav.theme-light ul.links-wrapper li a.btn-solid:active {
     color: #fff;
     border: solid 2px var(--gray-700);
     background-color: var(--gray-700)
 }

 nav.theme-dark,
 nav.theme-dark ul.links-wrapper.active {
     background-color: #222831;
     z-index: 4;
 }

 nav.theme-dark ul.links-wrapper li a:link,
 nav.theme-dark ul.links-wrapper li a:visited {
     color: #fff
 }

 nav.theme-dark ul.links-wrapper li a:focus,
 nav.theme-dark ul.links-wrapper li a:hover,
 nav.theme-dark ul.links-wrapper li a:active {
     color: var(--gray-500)
 }

 nav.theme-dark ul.links-wrapper li a.btn-solid:link,
 nav.theme-dark ul.links-wrapper li a.btn-solid:visited {
     color: #000;
     border: solid 2px #fff;
     background-color: #fff
 }

 nav.theme-dark ul.links-wrapper li a.btn-solid:focus,
 nav.theme-dark ul.links-wrapper li a.btn-solid:hover,
 nav.theme-dark ul.links-wrapper li a.btn-solid:active {
     color: #000;
     border: solid 2px var(--gray-400);
     background-color: var(--gray-400)
 }

 .theme-light .cols-background div[class^="col-"] {
     background-color: var(--gray-200);
 }

 .theme-dark .cols-background div[class^="col-"] {
     background-color: var(--gray-800);
 }

 .theme-light .col-1-badge {
     color: #fff;
     background-color: #000
 }

 .theme-light .badge {
     background-color: transparent
 }

 .theme-light .col-1 h3 {
     color: var(--slate-700);
 }

 .theme-light .btn-solid:link,
 .theme-light .btn-solid:link,
 .btn-solid:visited {
     color: var(--white-000);
     background-color: var(--black-000);
     border-color: var(--black-000);
 }

 .theme-light .btn-solid:focus,
 .theme-light .btn-solid:hover,
 .theme-light .btn-solid:active {
     color: var(--white-000);
     background-color: var(--slate-700);
     border-color: var(--slate-700);
 }

 .theme-light .btn-outline:link,
 .theme-light .btn-outline:visited {
     color: var(--black-000);
     background-color: transparent;
     border-color: var(--black-000);
 }

 .theme-light .btn-outline:focus,
 .theme-light .btn-outline:hover,
 .theme-light .btn-outline:active {
     color: var(--white-000);
     background-color: var(--slate-700);
     border-color: var(--slate-700);
 }

 .theme-light .btn-plain:link,
 .theme-light .btn-plain:visited {
     color: var(--black-000);
     background-color: transparent;
 }

 .theme-light .btn-plain:focus,
 .theme-light .btn-plain:hover,
 .theme-light .btn-plain:active {
     color: var(--slate-400);
 }

 .theme-light a:not(.btn):link,
 .theme-light a:not(.btn):visited {
     color: var(--blue-800);
 }

 .theme-light a:not(.btn):focus,
 .theme-light a:not(.btn):hover,
 .theme-light a:not(.btn):active {
     color: var(--red-600);
 }

 .theme-dark {
     background-color: var(--black-000)
 }

 .theme-dark .col-1-badge {
     color: #000;
     background-color: #fff
 }

 .theme-dark .badge {
     background-color: transparent
 }

 .theme-dark h1,
 .theme-dark h2,
 .theme-dark h3,
 .theme-dark p,
 .theme-dark li {
     color: var(--white-000)
 }

 .theme-dark .col-1 h3.in-col-1,
 .theme-dark .col-1 h3 {
     color: var(--slate-100);
 }

 .theme-dark .btn-solid:link,
 .theme-dark .btn-solid:visited {
     color: #000;
     background-color: var(--white-000);
     border-color: var(--white-000);
 }

 .theme-dark .btn-solid:focus,
 .theme-dark .btn-solid:hover,
 .theme-dark .btn-solid:active {
     color: var(--white-000);
     background-color: var(--slate-600);
     border-color: var(--slate-600);
 }

 .theme-dark .btn-outline:link,
 .theme-dark .btn-outline:visited {
     color: var(--white-000);
     background-color: transparent;
     border-color: var(--white-000);
 }

 .theme-dark .btn-outline:focus,
 .theme-dark .btn-outline:hover,
 .theme-dark .btn-outline:active {
     color: var(--white-000);
     background-color: var(--slate-600);
     border-color: var(--slate-600);
 }

 .theme-dark .btn-plain:link,
 .theme-dark .btn-plain:visited {
     color: var(--white-000);
     background-color: transparent;
 }

 .theme-dark .btn-plain:focus,
 .theme-dark .btn-plain:hover,
 .theme-dark .btn-plain:active {
     color: var(--slate-400);
 }

 .theme-dark a:not(.btn):link,
 .theme-dark a:not(.btn):visited {
     color: var(--sky-400);
 }

 .theme-dark a:not(.btn):focus,
 .theme-dark a:not(.btn):hover,
 .theme-dark a:not(.btn):active {
     color: var(--red-500);
 }

 section.theme-light .col-2 .badge {
     color: #fff;
     background-color: #000;
     width: fit-content
 }

 section.theme-light .col-2 .badge span {
     color: #fff;
     background-color: #000
 }

 * section.theme-dark .col-2 .badge {
     color: #000;
     background-color: #fff
 }

 section.theme-dark .col-2 .badge span {
     color: #000;
     background-color: #fff
 }

 header.theme-light .badge {
     color: #fff;
     background-color: #000
 }

 header.theme-dark .badge {
     color: #000;
     background-color: #fff
 }

 header .col-text h1 span.highlight,
 header .container-text h1 span.highlight {
     color: var(--gray-600);
 }

 .container-btn {
     position: relative
 }

 header>.container-btn,
 section>.container-btn,
 .col-2.col-text .container-btn {
     display: flex;
     flex-direction: row;
     flex-wrap: wrap;
     row-gap: 30px;
 }

 .col-3>.container-btn {
     display: flex;
     flex-direction: row;
     flex-wrap: wrap;
     row-gap: 20px;
 }

 header>.container-btn a.btn,
 section>.container-btn a.btn,
 .col-3 .container-btn {
     margin-top: 0;
     margin-left: 0;
     margin-right: 0;
     margin-bottom: 0 !important
 }

 @media (min-width: 1300px) {
     header.cols-2-half .col-2.col-text .container-btn {
         margin-top: 48px;
         margin-bottom: 32px !important
     }
 }

 @media (min-width: 769px) and (max-width: 1299px) {
     header.cols-2-half .col-2.col-text .container-btn {
         margin-top: 32px;
         margin-bottom: 32px !important
     }
 }

 @media (min-width: 768px) {

     header>.container-btn,
     section>.container-btn {
         column-gap: 48px
     }

     .col-3>.container-btn {
         column-gap: 24px
     }
 }

 @media (max-width: 767px) {

     header>.container-btn,
     section>.container-btn,
     .col-3 .container-btn {
         column-gap: 16px
     }
 }

 section:not(.text-center-mobile) .container-btn:not(.text-center-mobile) .container-btn {
     justify-content: flex-start
 }

 nav {
     width: 100%;
     max-width: 1920px;
     margin-left: auto;
     margin-right: auto;
     padding: 0 4%;
     position: relative;
     overflow: visible;
 }

 .container-menu {
     width: 100%;
     display: flex;
     align-items: center
 }

 @media (min-width: 768px) {
     nav .brand {
         margin-top: 5px
     }
 }

 ul.links-wrapper {
     list-style-type: none
 }

 ul.links-wrapper li a:not(.btn) {
     display: block;
     margin-right: 20px;
     font-size: calc(17px + (19 - 17) * ((100vw - 320px)/(1140 - 320)));
     font-weight: 400;
     background-color: transparent;
     transition: .5s ease-in-out;
     margin-top: 10px
 }

 ul.links-wrapper.links-bold li a:not(.btn) {
     font-weight: 700;
 }

 ul.links-wrapper li a:link:not(.btn),
 ul.links-wrapper li a:visited:not(.btn) {
     text-decoration: none;
     color: #000
 }

 ul.links-wrapper li a:focus:not(.btn),
 ul.links-wrapper li a:hover:not(.btn),
 ul.links-wrapper li a:active:not(.btn) {
     text-decoration: underline;
     text-decoration-thickness: 2px;
     text-underline-offset: 7px;
     color: var(--gray-700);
 }

 @media (min-width: 768px) {
     ul.links-wrapper li {
         margin-right: 20px
     }

     ul.links-wrapper li:last-child {
         margin-right: 0
     }
 }

 @media (max-width: 767px) {
     ul.links-wrapper.active li:first-child {
         margin-top: -30px
     }

     ul.links-wrapper.active li:last-child {
         margin-bottom: 20px
     }
 }

 #btn-cta {
     display: inline-block;
     cursor: pointer;
     user-select: none;
     white-space: nowrap;
     padding: 5px 20px;
 }

 #btn-cta.btn-outline {
     background-color: transparent
 }

 a#btn-cta>*:nth-child(2) {
     margin-left: 8px;
     margin-right: 0
 }

 @media (min-width: 767px) {
     a#btn-cta {
         margin-top: 16px
     }
 }

 @media (max-width: 767px) {
     a#btn-cta {
         margin-top: 24px;
         margin-bottom: 12px
     }
 }

 .nav-toggle {
     height: 40px;
     position: absolute;
     right: 16px;
     top: 16px;
     padding-left: 4px;
     padding-right: 4px;
     padding-top: 4px
 }

 .nav-toggle .bar-1,
 .nav-toggle .bar-2,
 .nav-toggle .bar-3 {
     width: 24px;
     height: 2px;
     margin: 7px 4px;
     transition: 0.4s;
 }

 nav.theme-light .nav-toggle {
     background: #fff
 }

 nav.theme-dark .nav-toggle {
     background: #000
 }

 .nav-toggle .bar-1,
 .nav-toggle .bar-2,
 .nav-toggle .bar-3 {
     width: 24px;
     height: 2px;
     margin: 7px 4px;
     transition: 0.4s;
     background-color: #000;
 }

 nav.theme-light .nav-toggle .bar-1,
 nav.theme-light .nav-toggle .bar-2,
 nav.theme-light .nav-toggle .bar-3 {
     background: #000
 }

 nav.theme-dark .nav-toggle .bar-1,
 nav.theme-dark .nav-toggle .bar-2,
 nav.theme-dark .nav-toggle .bar-3 {
     background: #fff
 }

 .change .bar1 {
     transform: rotate(-45deg) translate(-9px, 6px)
 }

 .change .bar2 {
     opacity: 0
 }

 .change .bar3 {
     transform: rotate(45deg) translate(-8px, -8px)
 }

 @media (min-width: 768px) {
     .container-menu {
         justify-content: initial
     }

     .container-menu-links {
         margin-left: auto
     }

     nav ul.links-wrapper {
         display: flex;
     }

     .nav-toggle {
         display: none
     }

     nav ul.links-wrapper .btn-shadow {
         box-shadow: 3.6px 3.6px 5.3px hsl(0deg 0% 0% / 0.42);
     }
 }

 @media (max-width: 767px) {
     .container-menu {
         justify-content: space-between;
         padding-top: 16px;
         padding-bottom: 16px;
     }

     .nav-toggle {
         display: block
     }

     .container-menu-cta {
         padding-right: 64px
     }

     ul.links-wrapper {
         visibility: hidden;
         opacity: 0;
         z-index: -1;
         transform: translateY(-100%);
         transition: transform 0.3s ease-out, opacity 0.3s ease-out;
         position: fixed;
         top: 73px;
         right: 0;
         left: 0;
         text-align: left;
         font-size: var(--font-size-base);
         padding: 32px 0 10px 40px;
     }

     ul.links-wrapper.active {
         visibility: visible;
         opacity: 1;
         z-index: 99;
         transform: translateY(0);
         display: block;
         overscroll-behavior: contain;
         overscroll-behavior-y: contain;
         overflow-x: hidden;
         overflow-y: scroll;
         overflow-y: hidden;
         -webkit-overflow-scrolling: touch;
     }

     .flyout-menu.flyout-menu-is-closed {
         right: -99999px;
     }

     .flyout-menu.flyout-menu-is-open {
         right: 0;
         overscroll-behavior: contain;
         overscroll-behavior-y: contain
     }
 }

 .no-scroll {
     overflow: hidden
 }

 .menu-drop-shadow {
     box-shadow: 0 4px 8px var(--gray-500)
 }

 header:not(.hero-bg),
 header:not(.cols-2-half) {
     z-index: 0
 }

 nav {
     z-index: 1
 }

 .menu-sticky {
     position: fixed;
     top: 0;
     left: 0;
     right: 0;
     z-index: 99999
 }

 .header-after-menu-sticky {
     margin-top: 72px;
     padding-top: 72px
 }

 .header-after-menu-sticky.hero-bg {
     margin-top: 0;
     padding-top: 144px
 }

 .text-center {
     text-align: center !important;
     margin-left: auto;
     margin-right: auto
 }

 .text-shadow {
     text-shadow: 2px 2px var(--gray-800)
 }

 .theme-light .cols-shadows .col-2 {
     box-shadow: rgba(0, 0, 0, 0.2) 16px 16px 16px 0;
 }

 .theme-dark .cols-shadows .col-2 {
     box-shadow: rgba(255, 255, 255, 0.2) 16px 16px 16px 0;
 }

 .theme-light .cols-shadows .col-3 {
     box-shadow: rgba(0, 0, 0, 0.2) 14px 14px 14px 0;
 }

 .theme-dark .cols-shadows .col-3 {
     box-shadow: rgba(255, 255, 255, 0.2) 14px 14px 14px 0;
 }

 .theme-light .cols-shadows .col-4 {
     box-shadow: rgba(0, 0, 0, 0.2) 7px 7px 7px 0;
 }

 .theme-dark .cols-shadows .col-4 {
     box-shadow: rgba(255, 255, 255, 0.4) 7px 7px 7px 0
 }

 .theme-light div[class^="col-"] {
     border-color: #000
 }

 .theme-dark div[class^="col-"] {
     border-color: #fff
 }

 .figure-shadow,
 .img-shadow {
     filter: drop-shadow(8px 8px 10px var(--gray-500));
 }

 .figure-border,
 .img-border {
     border: solid 2px var(--gray-700);
 }

 section.fig-corners-soft figure img,
 section.fig-corners-soft .col-2 figure img,
 section.fig-corners-soft .col-3 figure img,
 section.fig-corners-soft .col-4 figure img {
     border-radius: 15px;
 }

 @media (min-width: 768px) {

     section.fig-shadow figure,
     section.fig-shadow .col-2 figure,
     section.fig-shadow .col-3 figure,
     section.fig-shadow .col-4 figure {
         filter: drop-shadow(10px 10px 4px rgb(160, 174, 192, 0.45));
     }
 }

 @media (max-width: 767px) {

     section.fig-shadow figure,
     section.fig-shadow .col-2 figure,
     section.fig-shadow .col-3 figure,
     section.fig-shadow .col-4 figure {
         filter: drop-shadow(6px 6px 4px rgb(160, 174, 192, 0.75))
     }
 }

 .img-rotate-clock figure img {
     transform: rotate(1deg)
 }

 .img-rotate-cclock figure img {
     transform: rotate(-1deg)
 }

 .img-rounded {
     border-radius: 50%
 }

 .col-3.img-circle figure,
 .col-4.img-circle figure {
     text-align: center;
 }

 .col-2.col-visual.img-circle figure img,
 .col-2.img-circle figure img,
 .col-3.img-circle figure img,
 .col-4.img-circle figure img {
     border-radius: 50%;
     margin-left: auto;
     margin-right: auto;
 }

 .col-2.col-visual.img-circle figure img {
     width: 80%
 }

 .flex-cols-2>.col-2.img-circle figure img {
     width: 70%
 }

 .col-3.img-circle figure img {
     width: 80%
 }

 .col-4.img-circle figure img {
     width: 70%
 }

 @media (min-width: 768px) {
     .flex-cols-2>.col-2.img-circle figure {
         margin-bottom: 42px
     }

     .col-3.img-circle figure,
     .col-4.img-circle figure {
         margin-top: 20px;
         margin-bottom: 26px
     }

     .flex-cols-2.cols-background.cols-padding .col-2.img-circle figure img {
         margin-top: 42px
     }

     .flex-cols-3.cols-border .col-3.img-circle figure img,
     .flex-cols-3.cols-background.cols-padding .col-3.img-circle figure img,
     .flex-cols-4.cols-border .col-3.img-circle figure img,
     .flex-cols-4.cols-background.cols-padding .col-4.img-circle figure img {
         margin-top: 20px
     }
 }

 @media (max-width: 768px) {

     .flex-cols-2.cols-background.cols-padding .col-2.img-circle figure,
     .flex-cols-3.cols-background.cols-padding .col-3.img-circle figure,
     .flex-cols-4.cols-background.cols-padding .col-4.img-circle figure {
         margin-bottom: 28px;
     }

     .flex-cols-2.cols-background.cols-padding .col-2.img-circle figure img,
     .flex-cols-3.cols-background.cols-padding .col-3.img-circle figure img,
     .flex-cols-4.cols-background.cols-padding .col-4.img-circle figure img {
         margin-top: 12px;
     }
 }

 div[class^='col-'] figure.icon {
     display: block;
     line-height: 1.4;
     color: var(--gray-600);
     margin-bottom: 30px
 }

 div[class^='col-'] figure.icon {
     text-align: center;
     ;
     width: 100%;
 }

 div[class^='col-'] figure.icon-left {
     text-align: left
 }

 .cols-padding div[class^='col-'] figure.icon-left i {
     margin-left: 22px
 }

 @media (max-width: 767px) {
     div[class^='col-'] figure.icon {
         padding-top: 18px;
         width: 100%;
     }
 }

 .container-video-file {
     position: relative;
     overflow: hidden;
 }

 .container-video-file video {
     width: 100%;
     height: auto
 }

 div.flex-cols-2 div.col-2 .badge {
     font-weight: 700;
     display: inline-block;
     padding: 2px 10px;
     letter-spacing: 2px;
     font-size: var(--font-size-sm);
     width: fit-content;
     margin-bottom: 20px;
 }

 div.flex-cols-4 div.col-4 .badge {
     font-weight: 700;
     display: inline-block;
     padding: 2px 10px;
     letter-spacing: 2px;
     font-size: var(--font-size-sm);
     width: fit-content;
     margin-bottom: 20px;
 }

 .col-3 figure.figure-overlay {
     position: relative;
 }

 .col-3 figure.figure-overlay::after {
     content: "";
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     background-image: linear-gradient(12deg, rgba(0, 0, 0, 0.6) 15%, rgba(0, 0, 0, 0.15) 52%, rgba(0, 0, 0, 0) 70%);
     z-index: 3;
 }

 figure .cols-img-textbox {
     position: absolute;
     top: 16px;
     left: 16px;
     background-color: var(--red-700);
     color: #fff;
     letter-spacing: 2px;
     letter-spacing: 2px;
     font-size: 96%;
     font-weight: 700;
     padding: 2px 8px;
     width: fit-content;
     z-index: 4;
 }

 @media (min-width: 1025px) {
     figure .cols-img-textbox {
         font-size: 85%;
         top: 16px;
         left: 16px;
         font-weight: 700;
     }
 }

 @media (min-width: 768px) and (max-width: 1024px) {
     figure .cols-img-textbox {
         font-size: 80%;
         top: 12px;
         left: 12px;
         font-weight: 700;
     }
 }

 @media (max-width: 767px) {
     figure .cols-img-textbox {
         font-size: 80%;
         top: 12px;
         left: 12px;
         font-weight: 700;
     }
 }

 @media (max-width: 767px) {

     .mobile-col-2 .col-3 figure.figure-overlay::after,
     .mobile-col-2 .col-4 figure.figure-overlay::after {
         background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0));
     }
 }

 figure .cols-img-textbox.corners-soft {
     border-radius: 16px;
     padding-left: 14px;
     padding-right: 14px
 }

 @media (max-width: 767px) {

     .mobile-col-2 .col-3 .figure-overlay .cols-img-h4,
     .mobile-col-2 .col-4 .figure-overlay .cols-img-h4 {
         display: none
     }
 }

 figure .cols-img-h4 {
     position: absolute;
     bottom: 0;
     left: 16px;
     color: #fff;
     letter-spacing: 1px;
     font-size: 112%;
     font-weight: 700;
     padding-bottom: 12px;
     padding-right: 14px;
     text-shadow: 2px 1px 0 #000;
     z-index: 4;
     line-height: 1.25;
 }

 :not() a:not(.btn):link,
 :not() a:not(.btn):visited {
     text-decoration: none;
     transition: all 0.2s linear;
 }

 @media (min-width: 768px) {

     :not() a:not(.btn):link,
     :not() a:not(.btn):visited {
         text-decoration-thickness: 2px;
         text-underline-offset: 7px;
     }
 }

 @media (max-width: 767px) {

     :not() a:not(.btn):link,
     :not() a:not(.btn):visited {
         text-decoration-thickness: 1.5px;
         text-underline-offset: 7px;
     }
 }

 a.col-2-h3,
 a.col-3-h3,
 a.col-4-h3 {
     display: block;
     text-decoration: underline;
     transition: all 0.2s linear;
 }

 .theme-light div[class^='col-'] a.col-[class^='col-']:link,
 .theme-light div[class^='col-'] a.col-[class^='col-']:visited {
     color: var(--sky-600)
 }

 .theme-dark div[class^='col-'] a.col-[class^='col-']:link,
 .theme-dark div[class^='col-'] a.col-[class^='col-']:visited {
     color: var(--sky-600)
 }

 .theme-light div[class^='col-'] a.col-[class^='col-']:focus,
 .theme-light div[class^='col-'] a.col-[class^='col-']:hover,
 .theme-light div[class^='col-'] a.col-[class^='col-']:active {
     color: var(--red-400)
 }

 .col-3 a.col-3-h3 {
     font-size: var(--font-size-md)
 }

 .col-4 a.col-4-h3 {
     font-size: var(--font-size-base)
 }

 @media (min-width: 768px) {

     .col-2 a.col-2-h3,
     .col-3 a.col-3-h3,
     .col-4 a.col-4-h3 {
         font-weight: 700;
         margin-bottom: 16px;
         text-decoration-thickness: 2px;
         text-underline-offset: 9px;
     }
 }

 @media (max-width: 767px) {

     a.col-2-h3,
     a.col-3-h3,
     a.col-4-h3 {
         text-decoration-thickness: 1.5px;
         text-underline-offset: 5px;
     }
 }

 .theme-light div[class^='col-'] a[class^='col-']:link,
 .theme-light div[class^='col-'] a[class^='col-']:visited {
     color: var(--blue-700);
     text-decoration-color: var(--blue-700);
 }

 .theme-light div[class^='col-'] a[class^='col-']:focus,
 .theme-light div[class^='col-'] a[class^='col-']:hover,
 .theme-light div[class^='col-'] a[class^='col-']:active {
     color: var(--blue-500);
     text-decoration-color: var(--blue-500);
 }

 .theme-dark div[class^='col-'] a[class^='col-']:link,
 .theme-dark div[class^='col-'] a[class^='col-']:visited {
     color: var(--sky-500);
     text-decoration-color: var(--sky-500);
 }

 .theme-dark div[class^='col-'] a[class^='col-']:focus,
 .theme-dark div[class^='col-'] a[class^='col-']:hover,
 .theme-dark div[class^='col-'] a[class^='col-']:active {
     color: var(--sky-300);
     text-decoration-color: var(--sky-300);
 }

 .btn:not(.btn-plain),
 button {
     font-family: var(--font-sans);
     line-height: 1.5;
     text-decoration: none;
     cursor: pointer;
     user-select: none;
     white-space: nowrap;
     font-weight: 600;
     transition: all 0.3s linear;
     position: relative;
     border-style: solid;
     border-width: 2px;
     display: inline-block;
     width: fit-content;
 }

 .btn span,
 button span {
     display: inline-block
 }

 .btn i,
 button i {
     align-self: center;
     color: inherit;
     display: inline-block;
     font-size: 102%
 }

 .btn-soft {
     border-radius: 12px;
 }

 .btn-pill {
     border-radius: 50px
 }

 .btn-block {
     display: block;
     width: 98% !important;
     text-align: center;
     margin-right: 4px !important;
     margin-left: 0 !important
 }

 .theme-light .btn-plain,
 .theme-dark .btn-plain {
     margin-top: 8px;
     padding: 0;
     font-weight: 700;
     text-decoration: underline !important;
     font-family: var(--font-sans);
     line-height: 1.5;
     cursor: pointer;
     user-select: none;
     white-space: nowrap;
     font-weight: 600;
     transition: all 0.3s linear;
     position: relative;
     border-style: none;
     border-width: 0;
     display: inline-block;
     width: fit-content;
 }

 .btn-plain:focus,
 .btn-plain:hover,
 .btn-plain:active {
     text-decoration: none
 }

 .container-btn .btn-plain {
     padding-top: 12px
 }

 @media (min-width: 768px) {

     .theme-light .btn-plain,
     .theme-light .btn-plain:link,
     .theme-light .btn-plain:visited {
         text-decoration-thickness: 2px !important;
         text-underline-offset: 7px;
     }
 }

 @media (max-width: 767px) {

     .btn-plain:link,
     .btn-plain:visited {
         text-decoration-thickness: 1.5px;
         text-underline-offset: 5px;
     }
 }

 .container-btn .btn-shadow,
 div[class*='col-'] .btn-shadow {
     box-shadow: 3.6px 3.6px 5.3px hsl(0deg 0% 0% / 0.42);
     margin-bottom: 8px !important
 }

 .btn-uppercase {
     text-transform: uppercase;
     letter-spacing: 1.5px
 }

 @media (min-width: 1200px) {
     .btn {
         padding: 10px 24px;
         font-size: calc(var(--font-size-base) * 0.9)
     }
 }

 @media (max-width: 1199px) {
     .btn {
         padding: 10px 18px;
         font-size: calc(var(--font-size-base) * 0.9)
     }
 }

 .btn>*:nth-child(2),
 button>*:nth-child(2) {
     margin-left: 14px;
     margin-right: 0
 }

 .btn-small {
     padding: 6px 12px;
     font-size: var(--font-size-sm)
 }

 .btn-small i {
     font-size: 13px
 }

 .btn-small>*:nth-child(2) {
     margin-left: 10px;
     margin-right: 0
 }

 .btn-large {
     padding: 14px 26px;
     font-size: var(--font-size-base)
 }

 @media (min-width: 1200px) {
     .btn-large {
         padding: 18px 38px;
         font-size: var(--font-size-base)
     }
 }

 .btn-large.btn-plain {
     font-size: var(--font-size-base)
 }

 .btn-large>*:nth-child(2) {
     margin-left: 16px;
     margin-right: 0
 }

 @media (max-width: 767px) {
     .mobile-col-2 a.btn {
         padding: 10px 15px;
         font-size: 16px
     }

     .mobile-col-2 a.btn-small {
         padding: 6px 10px;
         font-size: 14px
     }

     .mobile-col-2 a.btn-small i {
         font-size: 12px
     }

     .mobile-col-2 a.btn-large {
         padding: 14px 22px;
         font-size: 16px
     }
 }

 .text-center.flex-cols-3 .col-3 a.btn,
 .text-center.flex-cols-4 .col-4 a.btn {
     text-align: center;
     margin-left: auto;
     margin-right: auto
 }

 #contact-form {
     background-color: var(--gray-200);
 }

 @media (min-width: 1024px) {
     #contact-form {
         margin: 1% 6% 0 6%;
         padding: 4% 6% 1% 6%
     }
 }

 @media (min-width: 768px) and (max-width: 1023px) {
     #contact-form {
         padding: 5% 8% 5% 8%;
         max-width: 500px;
         margin-left: auto;
         margin-right: auto
     }
 }

 @media (max-width: 767px) {
     #contact-form {
         padding: 5% 9% 8% 9%;
         max-width: 400px;
         margin-left: auto;
         margin-right: auto;
     }
 }

 #contact-form .col-1-badge {
     width: 100%;
     font-weight: bold;
     display: block;
     font-size: calc(15px + (17 - 15) * ((100vw - 320px)/(1140 - 320)));
     text-transform: uppercase;
     letter-spacing: 6px;
     margin-bottom: 28px;
 }

 #contact-form h2 {
     font-weight: 700;
     line-height: 1.2;
     margin-bottom: 3%;
     font-size: calc(25px + (48 - 25) * ((100vw - 320px) / (1920 - 320)));
 }

 #contact-form p {
     font-weight: normal;
     line-height: 1.5;
     margin-bottom: 7%;
     font-size: calc(18px + (22 - 18) * ((100vw - 320px) / (1920 - 320)));
 }

 #contact-form p a:hover,
 #contact-form p a:active {
     background-color: var(--gray-400);
 }

 #contact-form .flex-row {
     display: flex;
     justify-content: space-between
 }

 #contact-form label,
 #contact-form input,
 #contact-form textarea {
     display: block;
 }

 #contact-form label {
     font-size: calc(17px + (19 - 17) * ((100vw - 320px) / (1920 - 320)));
     font-weight: normal;
     margin-bottom: 8px;
     align-items: baseline;
     display: inline-block;
     cursor: pointer;
 }

 #contact-form label span {
     font-weight: normal;
     margin-bottom: 8px;
     display: flex;
     align-items: baseline;
     display: none
 }

 #contact-form [type="text"],
 #contact-form [type="email"],
 #contact-form textarea {
     font-family: var(--sans-serif);
     width: 100%;
     background-color: var(--white-000);
     font-size: calc(15px + (17 - 15) * ((100vw - 320px) / (1920 - 320)))
 }

 #contact-form ::placeholder {
     background-color: var(--white-000)
 }

 #contact-form input,
 #contact-form textarea {
     padding: 10px 12px;
     border: 2px solid var(--black-000);
     border-radius: 5px;
 }

 #contact-form textarea {
     overflow: hidden;
     overflow-wrap: break-word;
     resize: horizontal;
     min-height: 163px;
 }

 #contact-form input:focus,
 #contact-form textarea:focus {
     border: 2px solid var(--white-000);
 }

 #contact-form.flex-row .item-btn {
     width: 26%
 }

 #contact-form #btn-submit {
     float: right;
     background-color: var(--black-000);
     color: var(--white-000);
     font-weight: bold;
     padding: 12px 28px;
     font-size: 18px;
     border: solid 2px var(--black-000);
     cursor: pointer;
     outline: none
 }

 #contact-form #btn-submit:hover,
 #contact-form #btn-submit:active {
     background-color: var(--gray-700);
     color: var(--white-000);
 }

 #contact-form #btn-submit i {
     font-size: 104%
 }

 @media (min-width: 1024px) {
     #contact-form .flex-row {
         flex-direction: row;
         text-align: left;
         margin-bottom: 6%
     }

     #contact-form .flex-row .item-name,
     #contact-form .flex-row .item-email {
         width: 47%
     }

     #contact-form .flex-row .item-textarea {
         width: 64%
     }

     #contact-form .flex-row .item-btn {
         width: 30%;
         align-self: flex-end
     }

     #contact-form .contact-form-upper {
         padding-bottom: 48px
     }
 }

 @media (max-width: 1023px) {
     #contact-form .flex-row {
         flex-direction: column;
         text-align: center;
     }

     #contact-form label {
         margin-top: 20px;
     }

     .container-contact-form p {
         margin-bottom: 12px;
     }

     #contact-form [type="text"],
     #contact-form [type="email"],
     #contact-form textarea {
         margin-bottom: 20px
     }

     #contact-form #btn-submit {
         margin-top: 20px
     }

     #contact-form .contact-form-upper {
         padding-bottom: 12px
     }
 }

 .theme-light #email-form {
     background-color: var(--gray-200)
 }

 .theme-light #email-form label {
     color: #000
 }

 .theme-dark #email-form {
     background-color: var(--gray-800)
 }

 .theme-dark #email-form label {
     color: #fff
 }

 @media (min-width: 1024px) {
     #email-form {
         margin: 0 0 0 0;
         padding: 4% 6% 6% 6%
     }
 }

 @media (min-width: 768px) and (max-width: 1023px) {
     #email-form {
         padding: 5% 8% 5% 8%;
         max-width: 500px;
         margin-left: auto;
         margin-right: auto
     }
 }

 @media (max-width: 767px) {
     #email-form {
         padding: 5% 9% 8% 9%;
         max-width: 400px;
         margin-left: auto;
         margin-right: auto;
     }
 }

 #email-form .flex-row {
     display: flex;
     justify-content: space-between
 }

 #email-form label,
 #email-form input,
 #email-form textarea {
     display: block;
 }

 @media (min-width: 768px) {
     #email-form .form-row {
         margin-bottom: 24px
     }
 }

 @media (max-width: 767px) {
     #email-form .form-row {
         margin-bottom: 16px
     }
 }

 #email-form label {
     font-weight: 400;
     margin-bottom: 8px;
     display: inline-block;
     cursor: pointer;
 }

 @media(min-width: 768px) {
     #email-form label {
         font-size: calc(var(--font-size-base) * 0.9)
     }
 }

 @media(max-width: 767px) {
     #email-form label {
         font-size: var(--font-size-base)
     }
 }

 #email-form label span {
     font-weight: normal;
     margin-bottom: 8px;
     display: flex;
     align-items: baseline;
     display: none
 }

 #email-form [type="text"],
 #email-form [type="email"],
 #email-form textarea {
     font-family: var(--sans-serif);
     width: 100%;
     background-color: var(--white-000);
     font-size: var(--font-size-base);
 }

 #email-form ::placeholder {
     background-color: var(--white-000)
 }

 #email-form input,
 #email-form textarea {
     padding: 10px 12px;
     border-radius: 5px;
 }

 #email-form textarea {
     overflow: hidden;
     overflow-wrap: break-word;
     resize: horizontal;
     min-height: 163px;
 }

 #email-form input:focus,
 #email-form textarea:focus {
     border: 2px solid var(--white-000);
 }

 #email-form.flex-row .item-btn {
     width: 26%
 }

 #email-form .form- {
     display: flex;
     flex-direction: row;
     justify-content: flex-end;
 }

 #email-form #btn-submit {
     text-align: right;
     font-weight: 400;
     font-size: 18px;
     padding: 6px 24px;
     border-style: solid;
     border-width: 2px;
     cursor: pointer;
     outline: none;
 }

 .theme-light #btn-submit.btn-solid {
     color: var(--white-000);
     background-color: var(--black-000);
     border-color: var(--black-000);
 }

 .theme-light #btn-submit.btn-solid:focus,
 .theme-light #btn-submit.btn-solid:hover,
 .theme-light #btn-submit.btn-solid:active {
     color: var(--white-000);
     background-color: var(--slate-700);
     border-color: var(--slate-700);
 }

 .theme-light #btn-submit.btn-outline {
     color: var(--black-000);
     background-color: transparent;
     border-color: var(--black-000);
 }

 .theme-light #btn-submit.btn-outline:focus,
 .theme-light #btn-submit.btn-outline:hover,
 .theme-light #btn-submit.btn-outline:active {
     color: var(--white-000);
     background-color: var(--slate-700);
     border-color: var(--slate-700);
 }

 .theme-light #btn-submit.btn-plain {
     color: var(--black-000);
     background-color: transparent;
     border-color: transparent;
 }

 .theme-light #btn-submit.btn-plain:focus,
 .theme-light #btn-submit.btn-plain:hover,
 .theme-light #btn-submit.btn-plain:active {
     color: var(--slate-400);
     border-color: transparent;
 }

 .theme-dark #btn-submit.btn-solid {
     color: var(--black-000);
     background-color: var(--white-000);
     border-color: var(--white-000);
 }

 .theme-dark #btn-submit.btn-solid:focus,
 .theme-dark #btn-submit.btn-solid:hover,
 .theme-dark #btn-submit.btn-solid:active {
     color: var(--white-000);
     background-color: var(--slate-700);
     border-color: #00ADB5;
 }

 .theme-dark #btn-submit.btn-outline {
     color: var(--white-000);
     background-color: transparent;
     border-color: var(--white-000);
 }

 .theme-dark #btn-submit.btn-outline:focus,
 .theme-dark #btn-submit.btn-outline:hover,
 .theme-dark #btn-submit.btn-outline:active {
     color: var(--white-000);
     background-color: var(--slate-700);
     border-color: #00ADB5;
 }

 .theme-dark #btn-submit.btn-plain {
     color: var(--white-000);
     background-color: transparent;
     border-color: transparent;
 }

 .theme-dark #btn-submit.btn-plain:focus,
 .theme-dark #btn-submit.btn-plain:hover,
 .theme-dark #btn-submit.btn-plain:active {
     color: var(--slate-200);
     border-color: transparent;
 }

 @media (min-width: 1024px) {
     #email-form .flex-row {
         flex-direction: row;
         text-align: left;
         margin-bottom: 6%
     }

     #email-form .flex-row .item-name,
     #email-form .flex-row .item-email {
         width: 47%
     }

     #email-form .flex-row .item-textarea {
         width: 64%
     }

     #email-form .flex-row .item-btn {
         width: 30%;
         align-self: flex-end
     }

     #email-form .email-form-upper {
         padding-bottom: 48px
     }
 }

 @media (max-width: 1023px) {
     #email-form .flex-row {
         flex-direction: column;
         text-align: center;
     }

     .container-email-form p {
         margin-bottom: 12px;
     }

     #email-form [type="text"],
     #email-form [type="email"],
     #email-form textarea {
         margin-bottom: 20px
     }

     #email-form #btn-submit {
         margin-top: 20px
     }

     #email-form .email-form-upper {
         padding-bottom: 12px
     }
 }

 section form input[type],
 section form button,
 section form p {
     font-size: var(--font-size-base)
 }

 section p.data {
     font-size: var(--font-size-sm)
 }

 section form input[type] {
     border-width: 2px;
     border-style: solid;
     border-radius: 0;
     outline: none;
     transition: 0.5s;
     border-color: var(--black-000);
 }

 section form input[type].input-smooth {
     border-radius: 6px
 }

 section form input[type].input-pill {
     border-radius: 50px
 }

 section form input[type].border-trans {
     border-color: transparent !important
 }

 section form button {
     cursor: pointer;
     outline: none;
     user-select: none;
 }

 section p.data a {
     text-decoration-thickness: 1px !important;
     text-underline-offset: 4px !important;
 }

 section.theme-dark form p.data a:link,
 section.theme-dark form p.data a:visited {
     color: inherit
 }

 @media(min-width: 768px) {
     section form input {
         padding: 12px 18px;
         min-width: 32ch
     }

     section form button {
         display: inline-block;
         margin: 0 0 0 32px;
         padding: 8px 22px 10px 22px;
     }

     section p.data {
         margin-top: 32px
     }
 }

 @media(max-width: 767px) {
     section:not(.text-center-mobile) form button {
         margin-left: 0
     }

     section form input {
         padding: 8px 8px;
         min-width: 26ch
     }

     section form button {
         display: block;
         margin: 24px auto 0 auto;
         padding: 8px 16px;
     }

     section p:not(.data) {
         margin-bottom: 28px
     }

     section p.data {
         margin-top: 22px
     }
 }

 section.theme-light form input[type] {
     background-color: var(--gray-200);
 }

 section.theme-light form input[type]:focus {
     background-color: transparent;
 }

 section.theme-light form button {
     border-style: solid;
     border-width: 2px
 }

 section.theme-light form button,
 section.theme-light form button:link,
 section.theme-light form button:visited {
     color: var(--white-000);
     background-color: var(--black-000);
     border-color: var(--black-000);
 }

 section.theme-light form button.btn-outline,
 section.theme-light form button.btn-outline:link,
 section.theme-light form button.btn-outline:visited {
     color: var(--black-000);
     background-color: transparent;
     border-color: var(--black-000);
 }

 section.theme-light form button:focus,
 section.theme-light form button:hover {
     color: var(--white-000);
     background-color: var(--slate-700);
     border-color: var(--slate-700);
 }

 section.theme-light form button.btn-outline:focus,
 section.theme-light form button.btn-outline:hover {
     color: var(--white-000);
     background-color: var(--slate-700);
     border-color: var(--slate-700);
 }

 section.theme-light p.data {
     color: var(--slate-500)
 }

 section.theme-dark form button,
 section.theme-dark form button:link,
 section.theme-dark form button:visited {
     color: var(--black-000);
     background-color: var(--white-000);
     border-color: var(--white-000);
 }

 section.theme-dark form button.btn-outline,
 section.theme-dark form button.btn-outline:link,
 section.theme-dark form button.btn-outline:visited {
     color: var(--white-000);
     background-color: transparent;
     border-color: var(--white-000);
 }

 section.theme-dark form button:focus,
 section.theme-dark form button:hover {
     color: var(--white-000);
     background-color: var(--slate-600);
     border-color: var(--slate-600);
 }

 section.theme-dark form button.btn-outline:focus,
 section.theme-dark form button.btn-outline:hover,
 section.theme-dark form button.btn-outline:active {
     color: var(--white-000);
     background-color: var(--slate-600);
     border-color: var(--slate-600);
 }

 section.theme-dark p.data {
     color: var(--slate-200)
 }

 .theme-dark {
     background-color: var(--black-000)
 }

 footer.theme-light {
     background-color: var(--white-000)
 }

 @media (min-width: 768px) {
     footer>.subscribe {
         padding: 54px 0 54px 0;
         margin-top: -3.5%;
         margin-bottom: 42px
     }
 }

 @media(max-width: 767px) {
     footer>.subscribe {
         padding: 32px 0 36px 0;
         margin-top: -9%;
         margin-bottom: 22px
     }
 }

 @media(min-width: 768px) {
     footer>.copyright {
         padding: 20px 0 24px 0
     }
 }

 @media(max-width: 767px) {
     footer>.copyright {
         padding: 32px 0 18px 0
     }
 }

 footer>.subscribe p,
 footer>.subscribe button,
 footer>.subscribe input,
 footer>.hours p,
 footer>.copyright p {
     font-size: var(--font-size-base);
     text-align: center
 }

 footer>.subscribe input {
     padding: 9px 8px;
     border-radius: 4px;
     min-width: 28ch
 }

 @media(min-width: 1025px) {
     footer>.subscribe button {
         display: inline-block;
         margin: 32px 0 0 32px;
         padding: 6px 22px;
     }
 }

 @media(max-width: 1024px) {
     footer>.subscribe button {
         display: block;
         margin: 32px auto 0 auto;
         padding: 4px 16px;
     }
 }

 @media(min-width: 1025px) {
     footer>.hours p b {
         margin-left: 20px
     }
 }

 @media(min-width: 768px) and (max-width: 1024px) {
     footer>.hours p b {
         margin-left: 10px
     }
 }

 @media(max-width: 767px) {
     footer>.hours p {
         line-height: 1.8
     }

     footer>.hours span {
         display: block
     }

     footer>.hours p b {
         min-width: 148px;
         display: inline-block
     }
 }

 @media(min-width: 768px) {
     footer:not(.text-center-desktop) {
         padding-left: 5%;
         padding-right: 5%;
     }

     footer:not(.text-center-desktop)>.subscribe,
     footer:not(.text-center-desktop)>.hours,
     footer:not(.text-center-desktop)>.copyright {
         margin-left: -6%;
         margin-right: -6%;
     }
 }

 footer ul.footer-links li a {
     text-decoration: underline;
     text-decoration-thickness: 1px !important;
     text-underline-offset: 9px;
     transition: all 0.2s linear;
 }

 footer ul.footer-links.footer-links-uppercase li {
     text-transform: uppercase;
     letter-spacing: 1px
 }

 footer ul.footer-links.footer-links-bigger li a {
     font-size: var(--font-size-md)
 }

 footer ul.footer-icons {
     list-style-type: none
 }

 footer ul.footer-icons li {
     display: inline-block;
     line-height: 1.7
 }

 footer>ul.footer-icons li a {
     text-decoration: none !important;
     font-size: var(--font-size-lg);
     transition: all 0.2s linear;
 }

 footer.theme-dark ul.footer-links li a:link,
 footer.theme-dark ul.footer-links li a:visited {
     color: var(--sky-300);
     text-decoration-color: var(--white-000);
 }

 footer.theme-dark ul.footer-links li a:focus,
 footer.theme-dark ul.footer-links li a:hover,
 footer.theme-dark ul.footer-links li a:active {
     color: var(--red-500);
     text-decoration-color: transparent;
 }

 footer.theme-dark ul.footer-icons li a:link i,
 footer.theme-dark ul.footer-icons li a:visited i {
     color: var(--sky-300);
 }

 footer.theme-dark ul.footer-links li .fa-li i {
     color: var(--sky-300)
 }

 footer.theme-dark ul.footer-icons li a:focus i,
 footer.theme-dark ul.footer-icons li a:hover i,
 footer.theme-dark ul.footer-icons li a:active i {
     color: var(--red-500);
 }

 footer.theme-dark .subscribe {
     background-color: var(--gray-900)
 }

 footer.theme-dark .subscribe p {
     color: var(--gray-300)
 }

 footer.theme-dark .hours {
     background-color: inherit
 }

 footer.theme-dark .hours p {
     color: var(--slate-200)
 }

 footer.theme-dark .copyright {
     background-color: var(--gray-900)
 }

 footer.theme-dark .copyright p {
     color: var(--gray-300)
 }

 footer.theme-light ul.footer-links li a:link,
 footer.theme-light ul.footer-links li a:visited {
     color: var(--blue-800);
     text-decoration-color: var(--blue-800);
 }

 footer.theme-light ul.footer-links li .fa-li i {
     color: var(--blue-800)
 }

 footer.theme-light ul.footer-links li a:focus,
 footer.theme-light ul.footer-links li a:hover,
 footer.theme-light ul.footer-links li a:active {
     color: var(--red-700);
     text-decoration-color: transparent;
 }

 footer.theme-light ul.footer-icons li a:link i,
 footer.theme-light ul.footer-icons li a:visited i {
     color: var(--blue-700);
 }

 footer.theme-light ul.footer-icons li a:focus i,
 footer.theme-light ul.footer-icons li a:hover i,
 footer.theme-light ul.footer-icons li a:active i {
     color: var(--red-700);
 }

 footer.theme-light .hours {
     background-color: inherit
 }

 footer.theme-light .hours p {
     color: inherit
 }

 footer.theme-light .subscribe {
     background-color: var(--gray-200)
 }

 footer.theme-light .subscribe p {
     color: var(--gray-700)
 }

 footer.theme-light .copyright {
     background-color: var(--gray-200)
 }

 footer.theme-light .copyright p {
     color: var(--gray-700)
 }

 footer>h2 {
     font-weight: 700;
     margin: 0 auto 16px auto;
     font-size: var(--font-size-xl);
 }

 footer>h3 {
     font-weight: 400;
     font-style: italic;
     font-size: var(--font-size-lg);
 }

 @media(min-width: 768px) {
     footer>h3 {
         margin: 0 auto 42px auto;
     }
 }

 @media(max-width: 767px) {
     footer>h3 {
         margin: 0 auto 28px auto;
     }
 }

 @media(max-width: 767px) {

     footer.text-center-mobile>h2,
     footer.text-center-mobile>h3,
     footer.text-center-mobile>ul.footer-links,
     footer.text-center-mobile>ul.footer-icons {
         padding-left: 5%;
         padding-right: 5%;
     }

     footer:not(.text-center-mobile) {
         padding-left: 8%;
         padding-right: 8%;
     }

     footer>.hours {
         margin-left: -10%;
         margin-right: -10%;
     }

     footer>.hours p {
         margin-left: 8.5%;
         margin-right: 8%;
     }

     footer:not(.text-center-mobile)>.copyright {
         margin-left: -10%;
         margin-right: -10%;
     }

     footer:not(.text-center-mobile)>.copyright p {
         margin-left: 8.5%;
         margin-right: 8%;
     }
 }

 footer>ul.footer-links {
     list-style-type: none;
     margin-bottom: 32px
 }

 footer>ul.footer-links li {
     display: inline-block;
     line-height: 1.7;
     font-size: var(--font-size-base)
 }

 @media(min-width: 768px) {
     footer>ul.footer-links li {
         margin-right: 60px
     }

     footer>ul.footer-links li:last-child {
         margin-right: 0
     }

     footer.text-center-desktop>ul.footer-links li {
         margin-left: 30px;
         margin-right: 30px
     }

     footer.text-center-desktop>ul.footer-links li:last-child {
         margin-right: 30px
     }
 }

 @media(max-width: 767px) {
     footer>ul.footer-links li {
         margin-left: 20px;
         margin-right: 20px;
         margin-bottom: 16px
     }

     footer>ul.footer-links li {
         margin-left: 0
     }

     footer.text-center-mobile>ul.footer-links li {
         margin-left: 16px;
         margin-right: 16px
     }
 }

 footer>ul.footer-icons {
     margin: 0 auto 48px auto
 }

 footer>ul.footer-icons li {
     margin-right: 32px
 }

 footer>ul.footer-icons li:last-child {
     margin-right: 0
 }

 @media(min-width: 768px) {
     footer.text-center-desktop>ul.footer-icons li {
         margin-left: 16px;
         margin-right: 16px
     }

     footer.text-center-desktop>ul.footer-icons li:last-child {
         margin-right: 16px
     }
 }

 @media(max-width: 767px) {
     footer>ul.footer-icons li {
         margin-right: 32px
     }

     footer>ul.footer-icons li:last-child {
         margin-right: 0
     }

     footer.text-center-desktop>ul.footer-icons li {
         margin-left: 16px;
         margin-right: 16px
     }

     footer.text-center-desktop>ul.footer-icons li:last-child {
         margin-right: 16px
     }
 }

 footer.theme-dark>h2 {
     color: var(--white-000)
 }

 footer.theme-dark>h3 {
     color: var(--slate-200)
 }

 footer.theme-light>h2 {
     color: var(--black-000)
 }

 footer.theme-light>h3 {
     color: var(--slate-600)
 }

 .footer-3 .footer-cols-3 {
     display: flex;
     flex-direction: row;
     flex-wrap: wrap;
     column-gap: 4%;
 }

 footer .col-3 {
     display: block
 }

 footer .col-3:nth-child(1) img {
     margin-bottom: 16px
 }

 footer .col-3:nth-child(1) p {
     line-height: 1.7
 }

 footer .col-3 {
     display: block
 }

 footer .col-3:nth-child(1) img {
     margin-bottom: 16px
 }

 footer .col-3:nth-child(1) p {
     margin-bottom: 20px;
     line-height: 1.7
 }

 footer .col-3:nth-child(3) i {
     margin-right: 12px
 }

 footer .col-3 h2 {
     font-size: var(--font-size-lg);
     margin-top: 12px
 }

 footer .col-3 h3 {
     margin: 12px 0 6px 5px
 }

 footer .col-3:nth-child(2) h3 {
     margin-bottom: -6px
 }

 footer .footer-cols-3.footer-h3-uppercase h3 {
     text-transform: uppercase;
     letter-spacing: 2px
 }

 footer .footer-cols-3.footer-h3-weight-400 h3 {
     font-weight: 400
 }

 @media(min-width: 768px) {
     footer .col-3 {
         margin-bottom: 42px !important
     }

     footer .col-3:nth-child(1) {
         flex-basis: 42%
     }

     footer .col-3:nth-child(2),
     footer .col-3:nth-child(3) {
         flex-basis: 24%
     }

     footer .col-3:nth-child(1) p {
         margin-bottom: 20px;
         margin-right: 40px;
     }
 }

 @media (max-width: 768px) {
     .footer-3 .footer-cols-3 {
         display: block;
     }

     footer .col-3 h3 {
         margin: 12px 0 6px 0
     }
 }

 footer .col-3 address {
     font-style: normal;
     font-weight: 400;
     display: inline-block;
     margin-top: -5px;
 }

 footer .col-3 ul.footer-links {
     list-style-type: none;
     margin: 12px 0 0 0
 }

 footer .col-3 ul.footer-links li {
     line-height: 1.7;
     margin: 0 0 18px 0
 }

 @media(max-width: 767px) {
     footer .col-3 ul.footer-links li {
         margin: 0 0 12px -6px
     }
 }

 footer .col-3 ul.fa-ul.footer-links li {
     margin: 0 0 12px 40px
 }

 @media(max-width: 767px) {
     footer .col-3 ul.fa-ul.footer-links li {
         margin: 0 0 12px 30px
     }
 }

 footer .col-3 ul.fa-ul.footer-links li:first-child .fa-li {
     top: -6px
 }

 .footer-3 ul.footer-icons {
     list-style-type: none;
     margin: 16px 0 0 -20px
 }

 .footer-3 ul.footer-icons li {
     display: inline-block;
     line-height: 1.7;
     margin-right: 12px;
     font-size: var(--font-size-lg)
 }

 .footer-3 ul.footer-icons li:last-child {
     margin-right: 0
 }

 footer.theme-dark .col-3 h2 {
     color: var(--white-000)
 }

 footer.theme-dark .col-3 p {
     color: var(--slate-200)
 }

 footer.theme-dark .col-3 address {
     color: var(--slate-200)
 }

 footer.theme-light .col-3 h2 {
     color: var(--black-000)
 }

 footer.theme-light .col-3 p {
     color: var(--gray-800)
 }

 footer.theme-light .col-3 address {
     color: var(--gray-800)
 }

 footer .footer-cols-4 {
     display: flex;
     flex-direction: row;
     flex-wrap: wrap;
     column-gap: 4%;
 }

 footer .col-4 {
     display: block
 }

 footer .col-4:nth-child(1) img {
     margin-bottom: 16px
 }

 footer .col-4:nth-child(1) p {
     line-height: 1.7
 }

 footer .col-4:nth-child(4) i {
     margin-right: 12px
 }

 footer .col-4 h2 {
     font-size: var(--font-size-lg);
     margin-top: 12px
 }

 footer .col-4 h3 {
     margin: 12px 0 12px 0
 }

 footer .footer-cols-4.footer-h3-uppercase h3 {
     text-transform: uppercase;
     letter-spacing: 2px
 }

 footer .footer-cols-4.footer-h3-weight-400 h3 {
     font-weight: 400
 }

 @media(min-width: 768px) {
     footer .footer-cols-4 {
         margin-bottom: 42px
     }

     footer .col-4:nth-child(1) {
         flex-basis: 32%
     }

     footer .col-4:nth-child(2),
     footer .col-4:nth-child(3) {
         flex-basis: 16%
     }

     footer .col-4:nth-child(4) {
         flex-basis: 22%
     }

     footer .col-4:nth-child(1) p {
         margin-bottom: 20px;
         margin-right: 20px;
     }
 }

 @media (max-width: 768px) {
     footer .footer-cols-4 {
         display: block
     }

     footer .col-4:nth-child(1) p {
         margin-bottom: 10px
     }
 }

 footer .col-4 address {
     font-style: normal;
     font-weight: 400;
     display: inline-block;
     margin-top: -3px;
 }

 footer .col-4 ul.footer-links {
     list-style-type: none;
     margin: 24px 0 0 0
 }

 footer .col-4:nth-child(4) ul.footer-links {
     list-style-type: none;
     margin: 24px 0 0 -4px
 }

 footer .col-4 ul.footer-links li {
     line-height: 1.7;
     margin: 0 0 18px 0
 }

 @media(max-width: 767px) {
     footer .col-4 ul.footer-links li {
         line-height: 1.7;
         margin: 0 0 18px -6px
     }
 }

 footer .col-4 ul.fa-ul.footer-links li {
     margin: 0 0 12px 40px
 }

 @media(max-width: 767px) {
     footer .col-4 ul.fa-ul.footer-links li {
         margin: 0 0 12px 36px
     }
 }

 footer .col-4 ul.fa-ul.footer-links li:first-child .fa-li {
     top: -6px
 }

 .footer-4 ul.footer-icons {
     list-style-type: none;
     margin: 16px 0 0 -20px
 }

 .footer-4 ul.footer-icons li {
     display: inline-block;
     line-height: 1.7;
     margin-right: 12px;
     font-size: var(--font-size-lg)
 }

 .footer-4 ul.footer-icons li:last-child {
     margin-right: 0
 }

 footer.theme-dark .col-4 h2 {
     color: var(--white-000)
 }

 footer.theme-dark .col-4 p {
     color: var(--slate-200)
 }

 footer.theme-dark .col-4 address {
     color: var(--slate-200)
 }

 footer.theme-light .col-4 h2 {
     color: var(--black-000)
 }

 footer.theme-light .col-4 p {
     color: var(--gray-800)
 }

 footer.theme-light .col-4 address {
     color: var(--gray-800)
 }

 footer>p.privacy {
     font-size: var(--font-size-base);
     margin-bottom: 64px
 }

 footer>p.privacy a {
     text-decoration-thickness: 1px !important
 }

 .footer-1 {
     text-align: center;
     margin-left: auto;
     margin-right: auto
 }

 .footer-2 {
     text-align: left;
     margin: 0
 }

 @media (max-width:767px) {
     .flex-column-reverse {
         flex-direction: column-reverse
     }
 }

 .text-center {
     text-align: center;
     margin-left: auto;
     margin-right: auto
 }

 @media (min-width: 768px) {
     .text-center-desktop {
         text-align: center;
         margin-left: auto;
         margin-right: auto
     }
 }

 @media (max-width: 767px) {
     .text-center-mobile {
         text-align: center;
         margin-left: auto;
         margin-right: auto
     }
 }

 figure.figure-width-full {
     width: 100vw;
     position: relative;
     left: 50%;
     right: 50%;
     margin-left: -50vw;
     margin-right: -50vw;
 }

 .reveal-slide-up,
 .reveal-slide-down {
     position: relative;
     opacity: 0;
     transition: 1s all ease;
 }

 .reveal-slide-from-left,
 .reveal-slide-from-right {
     position: relative;
     opacity: 0;
     transition: 1s all ease;
 }

 .reveal-slide-up {
     transform: translateY(150px)
 }

 .reveal-slide-down {
     transform: translateY(-150px)
 }

 @media (min-width: 768px) {
     .reveal-slide-from-left {
         transform: translateX(-450px)
     }

     .reveal-slide-from-right {
         transform: translateX(450px)
     }
 }

 @media (max-width: 768px) {
     .reveal-slide-from-left {
         transform: translateX(150px)
     }

     .reveal-slide-from-right {
         transform: translateX(-150px)
     }
 }

 .reveal-slide-up.active,
 .reveal-slide-down.active {
     transform: translateY(0);
     opacity: 1
 }

 .reveal-slide-from-left.active,
 .reveal-slide-from-right.active {
     transform: translateX(0);
     opacity: 1
 }

 .reveal-fade-in {
     opacity: 0
 }

 .reveal-fade-in.active {
     animation: reveal-fade-in 3s cubic-bezier(0.390, 0.575, 0.565, 1.000) both
 }

 @keyframes reveal-fade-in {
     0% {
         opacity: 0;
     }

     100% {
         opacity: 1
     }
 }

 .reveal-scale-in {
     opacity: 0
 }

 .reveal-scale-in.active {
     animation: reveal-scale-in 1s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
 }

 @keyframes reveal-scale-in {
     0% {
         transform: scale(0);
         opacity: 1
     }

     100% {
         transform: scale(1);
         opacity: 1
     }
 }

 .reveal-slide-up-header {
     animation: reveal-slide-up-header 1s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
 }

 .reveal-slide-from-left-header {
     animation: reveal-slide-from-left-header 1s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
 }

 .reveal-slide-from-right-header {
     animation: reveal-slide-from-right-header 1s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
 }

 .reveal-scale-in-header {
     animation: reveal-scale-in 1s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
 }

 .reveal-fade-in-header {
     animation: reveal-fade-in 3s cubic-bezier(0.390, 0.575, 0.565, 1.000) both
 }

 @keyframes reveal-slide-up-header {
     0% {
         transform: translateY(1000px);
         opacity: 0;
     }

     100% {
         transform: translateY(0);
         opacity: 1;
     }
 }

 @keyframes reveal-slide-from-left-header {
     0% {
         transform: translateX(-1000px);
         opacity: 0;
     }

     100% {
         transform: translateX(0);
         opacity: 1;
     }
 }

 @keyframes reveal-slide-from-right-header {
     0% {
         transform: translateX(1000px);
         opacity: 0;
     }

     100% {
         transform: translateX(0);
         opacity: 1;
     }
 }

 .slide-in-left-desktop,
 .slide-in-right-desktop {
     position: relative;
     opacity: 0;
     transition: 1s all ease;
 }

 @media (min-width: 768px) {
     .slide-in-right-desktop {
         animation: slide-in-right-desktop 1s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
     }

     .slide-in-left-desktop {
         animation: slide-in-left-desktop 1s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
     }
 }

 @keyframes slide-in-right-desktop {
     0% {
         transform: translateX(450px);
         opacity: 0;
     }

     100% {
         transform: translateX(0);
         opacity: 1;
     }
 }

 @keyframes slide-in-left-desktop {
     0% {
         transform: translateX(-450px);
         opacity: 0;
     }

     100% {
         transform: translateX(0);
         opacity: 1;
     }
 }

 .fig-corners-soft img {
     border-radius: 15px
 }

 .fig-shadows-box {
     filter: drop-shadow(8px 8px 8px rgba(160, 174, 192, .9));
     overflow: hidden;
 }

 @media (min-width: 768px) {
     .col-2 figure.fig-shadows-box {
         margin-bottom: 34px
     }

     .col-3 figure.fig-shadows-box,
     .col-4 figure.fig-shadows-box {
         margin-bottom: 26px
     }

     .col-2 figure.fig-shadows-box,
     .col-3 figure.fig-shadows-box,
     .col-4 figure.fig-shadows-box {
         width: calc(100% - 24px);
     }
 }

 @media (max-width: 767px) {
     .fig-shadows-box {
         filter: drop-shadow(4px 4px 4px rgba(160, 174, 192, .9));
         overflow: hidden;
     }

     .col-2 figure.fig-shadows-box,
     .col-3 figure.fig-shadows-box,
     .col-4 figure.fig-shadows-box {
         margin-bottom: 22px;
         width: calc(100% - 12px);
     }

     header>figure.fig-shadows-box,
     .col-2 figure.fig-shadows-box,
     .col-2 figure.fig-shadows-trans {
         margin-bottom: 28px
     }
 }

 .form-fig-shadows img {
     filter: drop-shadow(16px 16px 8px var(--gray-500))
 }

 figure.photos-zoom {
     overflow: hidden;
     display: inline-block
 }

 figure.photos-zoom img {
     transition: transform .5s ease;
     overflow: hidden;
     vertical-align: middle;
 }

 figure.photos-zoom:hover img {
     transform: scale(1.15);
     overflow: hidden
 }

 figure.photos-brightness img {
     transition: transform 2s, filter 0.75s ease-in-out;
     filter: brightness(90%);
 }

 figure.photos-brightness:hover img {
     filter: brightness(105%);
 }

 @media (min-width: 768px) {

     header .container-text.w-50,
     header .container-btn.w-50 {
         max-width: 50%
     }
 }