/*
Theme Name: GeneratePress Child
Theme URI: https://generatepress.com
Template: generatepress
Author: Tom Usborne
Author URI: https://generatepress.com/about
Description: GeneratePress is a lightweight WordPress theme built with a focus on speed and usability. Performance is important to us, which is why a fresh GeneratePress install adds less than 10kb (gzipped) to your page size. We take full advantage of the block editor (Gutenberg), which gives you more control over creating your content. If you use page builders, GeneratePress is the right theme for you. It is completely compatible with all major page builders, including Beaver Builder and Elementor. Thanks to our emphasis on WordPress coding standards, we can boast full compatibility with all well-coded plugins, including WooCommerce. GeneratePress is fully responsive, uses valid HTML/CSS, and is translated into over 25 languages by our amazing community of users. A few of our many features include 60+ color controls, powerful dynamic typography, 5 navigation locations, 5 sidebar layouts, dropdown menus (click or hover), and 9 widget areas. Learn more and check out our powerful premium version at https://generatepress.com
Tags: two-columns,three-columns,one-column,right-sidebar,left-sidebar,footer-widgets,blog,e-commerce,flexible-header,full-width-template,buddypress,custom-header,custom-background,custom-menu,custom-colors,sticky-post,threaded-comments,translation-ready,rtl-language-support,featured-images,theme-options
Version: 3.6.1.1778083099
Updated: 2026-05-06 15:58:19

*/


h1, h2, h3, h4, h5, h6 {
    line-height: 1.2;
    font-family: var(--font-main);
    font-weight: 700;
    color: var(--color-title);
}
h1 {
    font-size: clamp(2rem, 4vw, 3rem);
}
h2 {
    font-size: clamp(1.5rem, 3vw, 2.25rem);
}
h3 {
    font-size: clamp(1.2rem, 2vw, 1.5rem);
    font-weight: 600;
}
h4 {
    font-size: 1.125rem;
    font-weight: 600;
}
.main-navigation ul {
    display: flex;
    padding-top: 0;
    padding-right: 0;
    padding-bottom: 0;
    gap: 0;
}
.main-navigation ul ul {
    flex-direction: column;
    border: 1px solid var(--color-border);
    background-color: var color white;
    min-width: 220px;
    -moz-border-radius: var(--radius-md);
    -webkit-border-radius: var(--radius-md);
    -o-border-radius: var(--radius-md);
    border-radius: var(--radius-md);
    -moz-box-shadow: 0 4px 16px rgba(0,0,0,0.08);
    -webkit-box-shadow: 0 4px 16px rgba(0,0,0,0.08);
    -o-box-shadow: 0 4px 16px rgba(0,0,0,0.08);
    box-shadow: 0 4px 16px rgba(0,0,0,0.08);
    z-index: 100;
    gap: 0;
}
.site-header {
    background-color: var color white;
    border-bottom: 1px solid var(--color-border);
    padding: 0;
}
.grid-container {
    max-width: var(--container);
}
:root {
    --color-primary: #1b82ce;
    --color-primary-hover: #1565a8;
    --color-primary-light: #e3f0fa;
    --color-bg: #f7f6f4;
    --color-white: #fff;
    --color-text: #3d3d3a;
    --color-muted: #6b6a65;
    --color-title: #1a1a1a;
    --color-border: #e2e0da;
    --font-main: 'Syne', sans-serif;
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --container: 1200px;
    --transition: 0.2s ease;
}
body {
    font-size: 16px;
    line-height: 1.7;
    font-family: var(--font-main);
    -moz-font-smoothing: antialiased;
    -webkit-font-smoothing: antialiased;
    -o-font-smoothing: antialiased;
    font-smoothing: antialiased;
    font-weight: 400;
    background-color: var(--color-bg);
    color: var(--color-text);
}
p {
    margin-bottom: 1.25rem;
}
a {
    -moz-transition: color var(--transition);
    -webkit-transition: color var(--transition);
    -o-transition: color var(--transition);
    transition: color var(--transition);
    text-decoration: none;
    color: var(--color-primary);
}
a:hover {
    color: var(--color-primary-hover);
}
.site-header .grid-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 72px;
    padding: 0 1.5rem;
}
.site-logo img {
    width: auto;
    max-height: 56px;
}
.main-navigation ul li a {
    display: block;
    -moz-transition: color var(--transition);
    -webkit-transition: color var(--transition);
    -o-transition: color var(--transition);
    transition: color var(--transition);
    font-size: 14px;
    font-weight: 500;
    position: relative;
    color: var(--color-title);
    letter-spacing: 0.02em;
    padding: 0.5rem 1rem;
}
.main-navigation ul li a::after {
    -moz-transition: transform var(--transition);
    -webkit-transition: transform var(--transition);
    -o-transition: transform var(--transition);
    transition: transform var(--transition);
    background-color: var color primary;
    position: absolute;
    height: 2px;
    bottom: -2px;
    left: 1rem;
    right: 1rem;
    -moz-transform: scaleX(0);
    -webkit-transform: scaleX(0);
    -o-transform: scaleX(0);
    transform: scaleX(0);
    content: '';
}
.main-navigation ul li a:hover, .main-navigation ul li.current-menu-item > a {
    color: var(--color-primary);
}
.main-navigation ul li a:hover::after, .main-navigation ul li.current-menu-item > a::after {
    -moz-transform: scaleX(1);
    -webkit-transform: scaleX(1);
    -o-transform: scaleX(1);
    transform: scaleX(1);
}
.main-navigation ul ul li a {
    font-size: 14px;
    font-weight: 400;
    padding: 0.6rem 1.25rem;
}
.main-navigation ul ul li a::after {
    display: none;
}
.header-cta a, .site-header .button, .site-header a.button {
    display: inline-block;
    -moz-transition: background var(--transition);
    -webkit-transition: background var(--transition);
    -o-transition: background var(--transition);
    transition: background var(--transition);
    font-size: 14px;
    font-weight: 600;
    background-color: var color primary;
    color: var(--color-white) !important;
    -moz-border-radius: var(--radius-md);
    -webkit-border-radius: var(--radius-md);
    -o-border-radius: var(--radius-md);
    border-radius: var(--radius-md);
    letter-spacing: 0.02em;
    padding: 0.5rem 1.25rem;
}
.header-cta a:hover, .site-header .button:hover {
    background-color: var color primary hover;
}
.wp-block-button__link, button, input[type="submit"], .button, a.button {
    display: inline-block;
    -moz-transition: background var(--transition), color var(--transition), border-color var(--transition);
    -webkit-transition: background var(--transition), color var(--transition), border-color var(--transition);
    -o-transition: background var(--transition), color var(--transition), border-color var(--transition);
    transition: background var(--transition), color var(--transition), border-color var(--transition);
    font-size: 15px;
    border: 2px solid transparent;
    font-family: var(--font-main);
    font-weight: 600;
    cursor: pointer;
    -moz-border-radius: var(--radius-md);
    -webkit-border-radius: var(--radius-md);
    -o-border-radius: var(--radius-md);
    border-radius: var(--radius-md);
    letter-spacing: 0.02em;
    padding: 0.7rem 1.5rem;
}
.wp-block-button__link, .btn-primary, input[type="submit"] {
    background-color: var color primary;
    color: var(--color-white);
    border-color: var(--color-primary);
}
.wp-block-button__link:hover, .btn-primary:hover, input[type="submit"]:hover {
    background-color: var color primary hover;
    color: var(--color-white);
    border-color: var(--color-primary-hover);
}
.btn-outline {
    background-color: transparent;
    color: var(--color-primary);
    border-color: var(--color-primary);
}
.btn-outline:hover {
    background-color: var color primary;
    color: var(--color-white);
}
.content-area {
    background-color: var color white;
}
.site-main {
    padding: 3rem 0;
}
.section-light {
    background-color: var color white;
}
.section-neutral {
    background-color: var color bg;
}
.section-blue {
    background-color: var color primary;
    color: var(--color-white);
}
.section-blue h1, .section-blue h2, .section-blue h3 {
    color: var(--color-white);
}
.hero-section {
    background-color: var color white;
    border-bottom: 1px solid var(--color-border);
    padding: 5rem 0 4rem;
}
.hero-section h1 {
    margin-bottom: 1.25rem;
    font-size: clamp(2.25rem, 5vw, 3.5rem);
    font-weight: 700;
    color: var(--color-title);
}
.hero-section h1 span, .hero-section .accent {
    color: var(--color-primary);
}
.hero-section p.lead {
    margin-bottom: 2rem;
    font-size: 1.125rem;
    max-width: 560px;
    color: var(--color-muted);
}
.card {
    -moz-transition: border-color var(--transition), box-shadow var(--transition);
    -webkit-transition: border-color var(--transition), box-shadow var(--transition);
    -o-transition: border-color var(--transition), box-shadow var(--transition);
    transition: border-color var(--transition), box-shadow var(--transition);
    border: 1px solid var(--color-border);
    background-color: var color white;
    -moz-border-radius: var(--radius-lg);
    -webkit-border-radius: var(--radius-lg);
    -o-border-radius: var(--radius-lg);
    border-radius: var(--radius-lg);
    padding: 1.5rem;
}
.card:hover {
    -moz-box-shadow: 0 4px 20px rgba(27,130,206,0.1);
    -webkit-box-shadow: 0 4px 20px rgba(27,130,206,0.1);
    -o-box-shadow: 0 4px 20px rgba(27,130,206,0.1);
    box-shadow: 0 4px 20px rgba(27,130,206,0.1);
    border-color: var(--color-primary);
}
.card-icon {
    display: flex;
    width: 44px;
    margin-bottom: 1rem;
    background-color: var color primary light;
    height: 44px;
    -moz-border-radius: var(--radius-md);
    -webkit-border-radius: var(--radius-md);
    -o-border-radius: var(--radius-md);
    border-radius: var(--radius-md);
    align-items: center;
    justify-content: center;
}
.card-icon svg, .card-icon i {
    width: 22px;
    height: 22px;
    color: var(--color-primary);
}
.badge {
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    -moz-border-radius: 20px;
    -webkit-border-radius: 20px;
    -o-border-radius: 20px;
    border-radius: 20px;
    letter-spacing: 0.04em;
    padding: 3px 12px;
}
.badge-blue {
    background-color: var color primary light;
    color: #0c4880;
}
.badge-dark {
    background-color: var color title;
    color: var(--color-white);
}
.stat-block {
    text-align: center;
    padding: 1.5rem 1rem;
}
.stat-number {
    display: block;
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1;
    font-weight: 700;
    color: var(--color-primary);
}
.stat-label {
    display: block;
    margin-top: 6px;
    font-size: 14px;
    color: var(--color-muted);
}
input[type="text"], input[type="email"], input[type="tel"], textarea, select {
    -moz-transition: border-color var(--transition);
    -webkit-transition: border-color var(--transition);
    -o-transition: border-color var(--transition);
    transition: border-color var(--transition);
    width: 100%;
    font-size: 15px;
    border: 1.5px solid var(--color-border);
    font-family: var(--font-main);
    outline: none;
    background-color: var color white;
    color: var(--color-text);
    -moz-border-radius: var(--radius-md);
    -webkit-border-radius: var(--radius-md);
    -o-border-radius: var(--radius-md);
    border-radius: var(--radius-md);
    padding: 0.65rem 1rem;
}
input[type="text"]:focus, input[type="email"]:focus, input[type="tel"]:focus, textarea:focus, select:focus {
    -moz-box-shadow: 0 0 0 3px rgba(27,130,206,0.12);
    -webkit-box-shadow: 0 0 0 3px rgba(27,130,206,0.12);
    -o-box-shadow: 0 0 0 3px rgba(27,130,206,0.12);
    box-shadow: 0 0 0 3px rgba(27,130,206,0.12);
    border-color: var(--color-primary);
}
label {
    display: block;
    margin-bottom: 6px;
    font-size: 14px;
    font-weight: 500;
    color: var(--color-title);
}
.site-footer {
    font-size: 14px;
    background-color: var color title;
    color: rgba(255,255,255,0.75);
    padding: 3rem 0 1.5rem;
}
.site-footer h4, .site-footer .widget-title {
    margin-bottom: 1rem;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--color-white);
    letter-spacing: 0.08em;
}
.site-footer a {
    -moz-transition: color var(--transition);
    -webkit-transition: color var(--transition);
    -o-transition: color var(--transition);
    transition: color var(--transition);
    color: rgba(255,255,255,0.65);
}
.site-footer a:hover {
    color: var(--color-white);
}
.footer-bottom {
    display: flex;
    margin-top: 2rem;
    font-size: 13px;
    padding-top: 1.25rem;
    color: rgba(255,255,255,0.4);
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 8px;
    border-top: 1px solid rgba(255,255,255,0.1);
}
.dot-accent::before {
    margin-right: 6px;
    font-weight: 700;
    color: var(--color-primary);
    content: '·';
}
ul.dot-list {
    list-style: none;
    padding: 0;
}
ul.dot-list li {
    padding-left: 0;
    padding-left: 1.25rem;
    padding-top: 4px;
    padding-right: 0;
    padding-bottom: 4px;
    position: relative;
}
ul.dot-list li::before {
    font-size: 1.4em;
    line-height: 1.2;
    font-weight: 700;
    position: absolute;
    color: var(--color-primary);
    left: 0;
    content: '·';
}
.section-divider {
    width: 40px;
    margin-bottom: 1.25rem;
    background-color: var color primary;
    height: 3px;
    -moz-border-radius: 2px;
    -webkit-border-radius: 2px;
    -o-border-radius: 2px;
    border-radius: 2px;
}
.text-primary {
    color: var(--color-primary);
}
.text-muted {
    color: var(--color-muted);
}
.text-title {
    color: var(--color-title);
}
.bg-light {
    background-color: var color primary light;
}
.bg-neutral {
    background-color: var color bg;
}
@media (max-width: 768px) {
.site-header .grid-container {
    flex-wrap: wrap;
    gap: 1rem;
    padding: 1rem;
}
.hero-section {
    padding: 3rem 0 2.5rem;
}
.stat-number {
    font-size: 2rem;
}
.footer-bottom {
    flex-direction: column;
    text-align: center;
}
}
