/*
Theme Name: Westcam Theme
Theme URI: https://westcam-group.com
Author: Alexander Leonhartsberger-Schrott and Barbara Leth
Author URI:
Description: Theme for Westcam Group 
Requires at least: 6.4
Tested up to: 6.4
Requires PHP: 7.0
Version: 1.12.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: westcam-2023
*/
.slider-navigation-links {
    font-size: 14px;
}

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

input,
button,
textarea,
select {
    font: inherit;
}

html {
    scroll-behavior: smooth;
    scroll-padding: 20vh;
}

/* Remove all animations and transitions for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }

    html {
        scroll-behavior: initial;
    }
}

button.webx-forms-submit-button {
    max-height: 60px;
    padding-top: 15px !important;
}

[class^="heading-h"] {
    font-family: var(--wp--preset--font-family--heading);
    font-weight: 900;
    color: var(--wp--preset--color--heading);
    line-height: 1.2;
}

.heading-h1 {
    font-size: var(--wp--preset--font-size--xx-large);
    line-height: 1.15;
    font-weight: 900;
}
.heading-h2 {
    font-size: var(--wp--preset--font-size--x-large);
    font-weight: 900;
}
.heading-h3 {
    font-size: var(--wp--preset--font-size--large);
    font-weight: 900;
}
.heading-h4 {
    font-size: clamp(1.1rem, 1.1rem + ((1vw - 0.2rem) * 0.767), 1.5rem);
    font-weight: 900;
}
.heading-h5 {
    font-size: var(--wp--preset--font-size--medium);
}
.heading-h6 {
    font-size: var(--wp--preset--font-size--small);
}

header.scrolled {
    position: fixed;
    top: -200px;
    transition: top 0.3s, background-color 0.3s, backdrop-filter 0.3s;
}
.aligned-right {
    max-width: calc(100% - (calc(calc(100% - 1530px) / 2)));
    margin-right: 0 !important;
    margin-left: auto !important;
}

header {
    background-color: #111111;
}

header.sticky .dropdown-language {
    background-color: #f1f1f1 !important;
}

@media screen and (min-width: 1600px) {
    header.sticky .top-nav:hover {
        color: #111111;
    }
}

header.sticky {
    position: fixed;
    top: 0;
    z-index: 10;
    width: 100%;
    background-color: #f1f1f1;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

header.sticky .switcher-label {
    color: #111111;
}

header.sticky .wp-block-site-logo {
    display: none;
}
header.sticky #logo-sticky {
    display: block;
}

@media screen and (max-width: 768px) {
    #logo-sticky img {
        margin-top: 10px;
        margin-bottom: 10px;
        height: 44px !important;
        width: auto !important;
    }
}

header #logo-sticky {
    display: none;
}

@media screen and (min-width: 1600px) {
    header.sticky .top-nav,
    header.sticky .webx-side-menu-item a,
    header.sticky .menu-nav {
        color: #111111;
    }
    header.sticky .top-nav,
    header.sticky .webx-side-menu-item svg,
    header.sticky .webx-side-menu-item svg path {
        fill: #111111;
    }
    header.sticky .webx-side-menu-item:hover svg path {
        fill: #e50084 !important;
        transition: fill 0.3s;
    }

    header.sticky .top-nav:after,
    header.sticky .webx-side-menu-item a:after,
    header.sticky .menu-nav:after {
        background-color: #111111;
    }
}

header.sticky .hamburger-icon .line {
    background-color: #111111;
}

header.sticky p.description {
    color: #111111;
}

.wp-block-media-text.alignfull:not(.has-media-on-the-right) {
    max-width: calc(100% - (calc(calc(100% - 1530px) / 2))) !important;
    margin-right: auto !important;
}
.wp-block-media-text.alignfull.has-media-on-the-right {
    max-width: calc(100% - (calc(calc(100% - 1530px) / 2))) !important;
    margin-left: auto !important;
}

main {
    margin-top: 0;
}

.wp-block-webx-blocks-fake-heading + h1,
.wp-block-webx-blocks-fake-heading + h2,
.wp-block-webx-blocks-fake-heading + h3 {
    margin-top: 0 !important;
}

.rank-math-breadcrumb .separator::after {
    content: "";
    border: solid #656565;
    border-width: 0 1px 1px 0;
    transform: rotate(-45deg);
    display: inline-block;
    padding: 3px;
    margin-right: 10px;
    margin-left: 6px;
    margin-bottom: 2px;
}

.wp-site-blocks .entry-content {
    margin-block-start: 0 !important;
}

.wp-block-file:not(.is-style-pdf-icon-file)::before,
.wp-block-file:not(.is-style-image-icon-file)::before {
    content: "";
    display: inline-block;
    width: 24px;
    height: 24px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-file-text'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='16' y1='13' x2='8' y2='13'/%3E%3Cline x1='16' y1='17' x2='8' y2='17'/%3E%3Cpolyline points='10 9 9 9 8 9'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 8px;
}

.wp-block-file {
    display: flex;
    align-items: center;
}

.competence-item {
    border-top: 8px solid transparent;
}
.competence-item:hover {
    border-top: 8px solid #e50083;
}
.competence-item:hover svg {
    #toolset {
        transform: translateY(-8px);
        transition: transform 0.25s ease-in-out;
    }

    #iso {
        transform: translateY(-4px);
        fill: #e50083 !important;
        fill-opacity: 1 !important;
        box-shadow: 0 0 10px 0 #e50083;
        transition: transform 0.25s ease-in-out, fill 0.25s ease-in-out,
            fill-opacity 0.25s ease-in-out;
    }

    #shadow {
        transform: translateY(3px);
        transition: transform 0.25s ease-in-out;
    }
}

.competence-item {
    padding: 2rem 0 !important;
}

.competence-item:hover svg #toolset {
    transform: translateY(-8px);
    transition: transform 0.25s ease-in-out;
}
.competence-item:hover svg #iso {
    transform: translateY(-4px);
    fill: #e50083 !important;
    fill-opacity: 1 !important;
    box-shadow: 0 0 10px 0 #e50083;
    transition: transform 0.25s ease-in-out, fill 0.25s ease-in-out,
        fill-opacity 0.25s ease-in-out;
}

.competence-item:hover svg #shadow {
    transform: translateY(3px);
    transition: transform 0.25s ease-in-out;
}
.competence-item svg #shadow {
    filter: blur(5px);
}

@media screen and (min-width: 1600px) {
    .competence-item:not(:last-child) {
        border-right: 1px solid #404244;
    }
}
.webx-taxonomy-filter-wrapper--dropdown,
.webx-taxonomy-filter--dropdown,
.wp-block-webx-post-search,
.webx-post-search {
    width: 100%;
}

@media (max-width: 600px) {
    .wp-block-media-text.is-stacked-on-mobile > .wp-block-media-text__content {
        grid-column: 1;
        grid-row: 2;
        padding: 1rem 0;
    }

    .grid-item-center {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .grid-item-center > p {
        text-align: center;
    }

    .footer-contact-group {
        padding: 20px 0;
    }

    .footer-contact-group > div {
        gap: 20px;
    }

    .footer-contact-group > div > div > h4 {
        font-size: 22px;
    }

    .contact-row-group {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 20px;
    }

    .contact-row-column {
        flex-direction: column;
        margin-top: 0;
    }

    .grid-links > p > a {
        margin-bottom: 10px;
        display: inline-block;
    }

    .copyright-row {
        flex-direction: column;
        align-items: center;
    }

    .copyright-row > p {
        text-align: center;
    }

    .know-wow-mobile::before {
        left: 3.5em;
        top: 10px;
    }
}

header a,
footer a {
    text-decoration: none !important;
}

footer a:not(.wp-element-button):hover {
    text-decoration: underline !important;
}

h1.hero-title {
    line-height: 1.1 !important;
}

.file-upload-field {
    padding: 0;
    justify-content: space-between !important;
}

.file-upload-field input[type="file"] {
    width: auto;
}

.wp-block-webx-forms-form-field-dynamic.has-base-color {
    h3 {
        color: var(--wp--preset--color--base) !important;
    }
}

.wp-block-webx-forms-form .repeatable-content-remove-last {
    margin-left: 20px;
}

/* General form styling */
.wpcf7-form {
    color: white;
    max-width: 1400px;
    margin: 0 auto;
    background-color: #111111;

    border: none;
    border-radius: 0px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* Label styling */
.wpcf7-form label {
    display: block;
    margin-bottom: 8px;
    color: white;
}

.wpcf7-form h3 {
    color: white;
}

.wpcf7-form .time-row {
    display: flex;
    gap: 10px;
}

.wpcf7-form p:empty {
    display: none;
}

.wpcf7-field-group button {
    padding: 10px;
    background-color: #e50084;
    color: white;
    font-weight: bold;
    border: none;
    margin-right: 20px;
}

.wpcf7-checkbox .wpcf7-list-item {
    margin-left: 0;
}
/* Input and textarea styling */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
    width: 100%;
    padding: 10px;
    margin-bottom: 10px;
    border: 1px solid #ddd;
    border-radius: 0px;
    background-color: #fff;
    color: #333;
    font-size: 16px;
    box-sizing: border-box;
    transition: border-color 0.3s ease;
}

.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form textarea:focus {
    border-color: #e50084;
    outline: none;
}

/* Submit button styling */
.wpcf7-form input[type="submit"] {
    background-color: #e50084;
    color: #fff;
    padding: 12px 20px;
    font-size: 16px;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 3px;
    border: none;
    border-radius: 0px;
    cursor: pointer;
    transition: background-color 0.3s ease;
    transition: transform 0.2s ease;
    width: 100%;
}

.wpcf7-form input[type="submit"]:hover {
    background-color: #b00064;
}

.wpcf7-form input[type="submit"]:active {
    transform: scale(0.95);
    background-color: #e50084;
}
.wpcf7-select {
    width: 100%;
    padding: 10px;
}

/* Spinner styling */
.wpcf7-spinner {
    border-color: #e50084 transparent #e50084 transparent;
}

/* Response output styling */
.wpcf7-response-output {
    margin: 0 !important;
    padding: 10px !important;
    color: #e50084;
    font-weight: bold;
    border: 1px solid #e50084;
    border-radius: 0px;
}

/* Specific Form Rules */

.wpcf7-form .heading {
    font-weight: 100;
    font-size: var(--wp--preset--font-size--large);
    margin-bottom: 10px;
}

.wpcf7-form .heading label {
    font-weight: 800;
    font-size: var(--wp--preset--font-size--x-large);
}

.wpcf7-form .supportheading {
    text-transform: none;
    font-size: var(--wp--preset--font-size--x-large);
    margin: 0px 0px 20px 0px;
}

.anmeldungeventform .rechnungsadresse {
    margin: 5px 0px;
    text-transform: unset;
}

.wpcf7-file-uploads label,
.wpcf7-file-uploads span {
    margin-bottom: 20px;
}

.wpcf7-file-uploads label {
    flex-grow: 1;
    white-space: nowrap;
}

.wpcf7-file-uploads span {
    width: 300px;
}

.wpcf7-file-uploads .row {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    @media screen and (max-width: 768px) {
        flex-direction: column;
    }
}

/* Support Form Rules */
.wpcf7 .form-row {
    display: flex;
    gap: 20px;
}

.wpcf7 .form-row label {
    width: 100%;
}

.wpcf7 .form-row .form-column {
    flex: 1;
}

.wpcf7 .small-font {
    font-size: 12px;
}

@media screen and (max-width: 768px) {
    .wpcf7 .form-row {
        display: block;
    }
}

@media screen and (max-width: 1024px) {
    .wpcf7-file-uploads .row {
        flex-direction: column;
        align-items: start;
        gap: 0;
    }

    .wpcf7-file-uploads label {
        margin-bottom: 0;
    }
    .wpcf7-file-uploads span {
        margin-bottom: 20px;
    }
}

.cookieconsent-optout-marketing {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    z-index: 3;
}

.wp-block-embed__wrapper:has(.cookieconsent-optout-marketing) {
    background-color: #5d13437a;
}

.wp-block-post-content h1,
.wp-block-post-content h2,
.wp-block-post-content h3,
.wp-block-post-content h4,
.wp-block-post-content h5,
.wp-block-post-content h6 {
    margin-top: 1em;
}

.wp-block-webx-blocks-grid-item h2 {
    padding-top: 1em;
}

.rank-math-breadcrumb a {
    text-decoration: none !important;
}

.grecaptcha-badge {
    z-index: 1000 !important;
}

.wp-block-post-terms {
    pointer-events: none;
}

@media screen and (max-width: 1024px) {
    .bg-mobile-margin {
        padding-bottom: 100px !important;
        background-size: 150px !important;
    }
}

.line-clamp-3 > p {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    height: 70px;
}

.line-clamp-2 > a {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.training_session-template-single-training_session_no_form
    .wp-block-webx-blocks-westcam-training-details
    .wp-block-button {
    display: none !important;
}
