/* Copyright (C) YOOtheme GmbH, http://www.gnu.org/licenses/gpl.html GNU/GPL */

/* ========================================================================
   Use this file to add custom CSS easily
 ========================================================================== */

/* Required Class */
.wp-caption {}
.wp-caption-text {}
.sticky {}
.screen-reader-text {}
.gallery-caption {}
.bypostauthor {}

/* Custom Style */
:root {
    --pm-blue-900: #083d94;
    --pm-blue-800: #0a49b8;
    --pm-blue-600: #2062cd;
    --pm-blue-500: #2978ef;
    --pm-blue-400: #429bf4;
    --pm-blue-100: #dcecff;
    --pm-blue-050: #e6f0ff;
    --pm-ink: #18324f;
}

a {
    color: var(--pm-blue-800);
    transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
}

a:hover,
a:focus {
    color: var(--pm-blue-500);
}

.uk-button-primary,
.uk-section-primary,
.uk-tile-primary,
.uk-card-primary {
    background-color: var(--pm-blue-800);
}

.uk-text-primary {
    color: var(--pm-blue-500) !important;
}

::selection {
    color: #ffffff;
    background: var(--pm-blue-500);
}

/* Clean, light header for the new full-colour logo. */
.tm-toolbar {
    background: rgba(255, 255, 255, 0.97) !important;
    border-color: rgba(41, 120, 239, 0.24) !important;
    box-shadow: 0 8px 28px rgba(10, 73, 184, 0.10);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.tm-toolbar .tm-toolbar-content {
    padding-top: 8px;
    padding-bottom: 8px;
}

.tm-toolbar a.tm-logo {
    max-width: 214px;
}

.tm-toolbar a.tm-logo img {
    display: block;
    width: 100%;
    height: auto;
}

.tm-toolbar .uk-navbar-nav > li > a {
    color: var(--pm-ink) !important;
    text-shadow: none;
}

.tm-toolbar .uk-navbar-nav > li > a:hover,
.tm-toolbar .uk-navbar-nav > li.uk-active > a,
.tm-toolbar .uk-navbar-nav > li.current-menu-item > a {
    color: var(--pm-blue-500) !important;
}

.tm-navbar-toggle {
    background: linear-gradient(135deg, var(--pm-blue-800), var(--pm-blue-400));
    box-shadow: 0 7px 18px rgba(10, 73, 184, 0.22);
}

#offcanvas-navbar .uk-offcanvas-bar {
    background: linear-gradient(160deg, var(--pm-blue-900), var(--pm-blue-600));
}

/* Brand-blue overlay on internal page headers. The footer photo is graded directly. */
#tm-wrapper > header .tm-header-overlay {
    background: linear-gradient(120deg, rgba(8, 61, 148, 0.92), rgba(41, 120, 239, 0.78));
}

.tm-footer {
    background-color: var(--pm-blue-900);
    background-image:
        linear-gradient(180deg, rgba(8, 61, 148, 0.12) 0%, rgba(6, 34, 82, 0.44) 100%),
        url("../images/footer-bg-blue-2026.jpg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    text-shadow: 0 1px 3px rgba(3, 25, 63, 0.58);
}

.tm-footer .tm-footer-text .widget_media_image a {
    display: block;
    width: 100%;
    max-width: 100%;
    padding: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.tm-footer .tm-footer-text .widget_media_image img {
    display: block;
    width: 100%;
    max-width: 340px;
    height: auto;
    filter: drop-shadow(0 3px 8px rgba(3, 25, 63, 0.36));
}

.tm-footer a:hover {
    color: #bcdcff;
}

/* Replace the pale turquoise page-builder fills with a calm light blue. */
body .vc_row.vc_custom_1609782625753,
body .vc_row.vc_custom_1609837249417,
body .vc_row.vc_custom_1609843839187 {
    background-color: var(--pm-blue-050) !important;
}

/* Blue depth for existing cards without changing their dimensions. */
.tm-services > .wpb_column > .vc_column-inner > .wpb_wrapper,
.tm-shedow-panel {
    border: 1px solid rgba(41, 120, 239, 0.10);
    box-shadow: 0 12px 34px rgba(10, 73, 184, 0.13);
}

.tm-shadow-panels > .wpb_column > .vc_column-inner > .wpb_wrapper {
    box-shadow: 0 12px 34px rgba(10, 73, 184, 0.11);
}

.tm-shadow-panels > .wpb_column > .vc_column-inner > .wpb_wrapper:hover {
    box-shadow: 0 16px 40px rgba(10, 73, 184, 0.18);
}

/* Updated CPS certification-system logo keeps a balanced size in its column. */
img[src*="/images/cps2.png"] {
    display: block;
    width: 100%;
    max-width: 450px;
    height: auto;
    margin: 0 auto;
}

.tm-separator.wpb_text_column::after,
.tm-headerbar h1::after {
    background: linear-gradient(90deg, var(--pm-blue-800), var(--pm-blue-400));
}

input:focus,
textarea:focus,
select:focus {
    border-color: var(--pm-blue-400) !important;
    box-shadow: 0 0 0 3px rgba(66, 155, 244, 0.13);
}

input.wpcf7-submit {
    background: linear-gradient(135deg, var(--pm-blue-800), var(--pm-blue-500)) !important;
    box-shadow: 0 9px 22px rgba(10, 73, 184, 0.20);
}

input.wpcf7-submit:hover {
    background: linear-gradient(135deg, var(--pm-blue-600), var(--pm-blue-400)) !important;
}

/* Education price cards used a separate legacy turquoise palette. */
.tm-price-table > .wpb_column > .vc_column-inner > .wpb_wrapper .tm-title-panel {
    background: linear-gradient(135deg, var(--pm-blue-800), var(--pm-blue-500)) !important;
}

.tm-price-table > .wpb_column > .vc_column-inner > .wpb_wrapper .wpb_text_column ul.tm-list-style li::before {
    color: var(--pm-blue-500) !important;
}

.tm-price-table > .wpb_column > .vc_column-inner > .wpb_wrapper .tm-button-panel a {
    background: linear-gradient(135deg, var(--pm-blue-800), var(--pm-blue-500)) !important;
    box-shadow: 0 8px 20px rgba(10, 73, 184, 0.18);
}

.tm-price-table > .wpb_column > .vc_column-inner > .wpb_wrapper .tm-button-panel a:hover {
    background: linear-gradient(135deg, var(--pm-blue-600), var(--pm-blue-400)) !important;
}

.tm-totop-scroller {
    background: linear-gradient(135deg, var(--pm-blue-800), var(--pm-blue-500)) !important;
}

@media (max-width: 959px) {
    .tm-toolbar a.tm-logo {
        max-width: 185px;
    }

    .tm-footer .tm-footer-text .widget_media_image a {
        padding: 0;
    }
}
