﻿html {
    width: 100%;
}

body {
    font-family: neulis-sans, Arial, sans-serif;
    font-weight: 300;
    line-height: 16px;
    width: 100%;
    font-style: normal;
}

p {
    font-weight: 300;
    margin-block-start: 0;
    margin-block-end: 0;
}

a {
    font-size: 15px;
    color: black;
    font-weight: 400;
}

h1 {
    font-weight: 500;
    margin-block-start: 0;
    margin-block-end: 0;
}

h2 {
    font-weight:500;
    margin-block-start: 0;
    margin-block-end: 0;
}

h3 {
    font-weight: 500;
    margin-block-start: 0;
    margin-block-end: 0;
}

input {
    font-size: 16px !important;
    color: black !important;
}

:root {
    --primary-grey: #636464;
    --accent-grey: #DDDDDD;
    --primary-navy: #003049;
    --light-bg: #F8F9FA;
    --red: #D62828;
    --off-white: #F5F6F5;
    --light-blue: #BEE5F4;
    --orange: #ff8051;
    --bg-grey: rgba(248, 249, 250, 1);
}

.primary-grey {
    color: var(--primary-grey);
}

.red {
    color: var(--red);
}

.bg-light-blue {
    background-color: var(--light-blue);
}

.bg-light-gray {
    background-color: var(--light-bg);
}

.border-accent {
    border: 1px solid var(--accent-grey);
}

.main-container {
    max-width: 1440px;
    margin: 0 auto;
    /*border: 1px solid red;*/
}

.grow {
    flex-grow: 1;
}

.bold {
    font-weight: 700;
}

.medium {
    font-weight: 500;
}

.regular {
    font-weight: 300;
}

.primary-button {
    background-color: var(--primary-navy) !important;
    color: white !important;
    height: 40px !important;
    border-radius: 25px !important;
    cursor: pointer !important;
    border: 1px !important;
    font-family: neulis-sans, Arial, Helvetica, sans-serif !important;
    text-decoration: none;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: 15px;
    line-height: 16px;
}

.secondary-button {
    background-color: #BEE5F4 !important;
    color: black !important;
    height: 40px !important;
    border-radius: 25px !important;
    border: 0 !important;
    cursor: pointer !important;
    font-family: neulis-sans, Arial, Helvetica, sans-serif !important;
    text-decoration: none;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-weight: 500;
}

.displaynone {
    display: none !important;
}

.flex-row {
    display: flex;
    flex-direction: row;
}

.flex-column {
    display: flex;
    flex-direction: column;
}

.gap10 {
    gap: 10px;
}

/* Chrome, Safari, Opera */
input::-webkit-input-placeholder {
    color: var(--primary-grey);
    font-size: 15px;
    line-height: 16px;
    padding-left: 6px;
}

/* Firefox 19+ */
input::-moz-placeholder {
    color: var(--primary-grey);
    font-size: 15px;
    line-height: 16px;
    padding-left: 6px;
}

/* IE 10+ */
input:-ms-input-placeholder {
    color: var(--primary-grey);
    font-size: 15px;
    line-height: 16px;
    padding-left: 6px;
}

/* Edge */
input::-ms-input-placeholder {
    color: var(--primary-grey);
    font-size: 15px;
    line-height: 16px;
    padding-left: 6px;
}

/* Standard */
input::placeholder {
    color: var(--primary-grey);
    font-size: 15px;
    line-height: 16px;
    padding-left: 6px;
}

div.breadcrumb {
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: center;
    display: flex;
    flex-direction: row;
    gap: 6px;
    margin-left: 110px;
    margin-top: 20px;
}

    div.breadcrumb a {
        text-decoration: none;
        font-size: 15px;
        font-weight: 400;
    }

        div.breadcrumb a.selected {
            font-weight: 700;
        }

    div.breadcrumb svg {
        margin-top: 2px;
    }


@media (max-width: 768px) {
    div.breadcrumb {
        padding-right: 10px;
        padding-left: 10px;
        margin-left: 0px
    }
}

.floating-label {
    position: relative;
    width: 100%;
}

    .floating-label input {
        width: 100%;
    }

    .floating-label textarea {
        width: 100%;
        resize: vertical; /* still resizable if you want */
    }

    .floating-label label {
        position: absolute;
        top: 18px;
        left: 8px;
        transform: translateY(-50%);
        background: white;
        padding: 0 4px;
        color: rgba(89, 89, 89, 1);
        font-size: 15px;
        pointer-events: none;
        transition: 0.2s ease all;
    }

    /* Float on focus OR when input has value */
    .floating-label input:focus + label,
    .floating-label input:not(:placeholder-shown) + label {
        top: 0;
        left: 6px;
        font-size: 15px;
        color: black;
        font-weight:700;
    }

    /* Float on focus OR when input has value */
    .floating-label textarea:focus + label,
    .floating-label textarea:not(:placeholder-shown) + label {
        top: 0;
        left: 6px;
        font-size: 15px;
        color: black;
        font-weight: 700;
    }

    /* Float on focus OR when input has value */
    .floating-label select:focus + label,
    .floating-label select.pm-modified + label {
        top: 0;
        left: 6px;
        font-size: 15px;
        color: black;
        font-weight: 700;
    }

.noselect {
    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
    -khtml-user-select: none; /* Konqueror HTML */
    -moz-user-select: none; /* Old versions of Firefox */
    -ms-user-select: none; /* Internet Explorer/Edge */
    user-select: none; /* Non-prefixed version, currently supported by Chrome, Edge, Opera, and Firefox */
}

.scroll-area {
    overflow-x: hidden;
    overflow-y: hidden; /* Hide vertical scrollbar */
    cursor: grab; /* Default cursor */
    user-select: none; /* Prevent text selection during drag */
}

    .scroll-area.active img {
        cursor: grabbing; /* Cursor when dragging */
    }

.carousel-wrapper {
}

.carousel-area-with-arrows {
    flex-grow: 1; /* Allows it to take available space */
    overflow: hidden; /* Hide the scrollbar visually, but JS still controls scrollLeft */
    /* Or you could keep overflow-x: scroll if you want both arrows and drag/scrollbar */
}

.carousel-content {
    display: flex; /* Arrange items horizontally */
    white-space: nowrap; /* Keep items on a single line */
    overflow-x: scroll; /* This is the element that actually scrolls */
    -webkit-overflow-scrolling: touch; /* Improves scrolling on iOS */
    scrollbar-width: none; /* Hide scrollbar for Firefox */
    -ms-overflow-style: none; /* Hide scrollbar for IE/Edge */
}

    .carousel-content::-webkit-scrollbar {
        display: none; /* Hide scrollbar for Chrome, Safari, Opera */
    }

.carousel-prev,
.carousel-next {
    cursor: pointer;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-tap-highlight-color: transparent; /* removes blue tap flash */
    -webkit-touch-callout: none; /* disables long-press menu on iOS */
    user-select: none;
}

    .carousel-prev[disabled],
    .carousel-next[disabled] {
        cursor: not-allowed;
        opacity: 0.5;
    }

@media (max-width: 768px) {
    .carousel-prev,
    .carousel-next {
        height: 20px;
        width: 12px;
    }
}

input.pm-invalid {
    border: 2px solid var(--red) !important;
}

select.pm-invalid {
    border: 2px solid var(--red) !important;
}

textarea.pm-invalid {
    border: 2px solid var(--red) !important;
}

    textarea.pm-invalid + label,
    select.pm-invalid + label,
    input.pm-invalid + label {
        color: var(--red);
    }

div.validation-message {
    font-size: 12px;
    line-height: 20px;
    color: var(--red);
}

select.standard-select {
    border: 1px solid rgba(221, 221, 221, 1);
    height: 40px;
    border-radius: 3px;
    width: 304px;
    font-family: neulis-sans, Arial, sans-serif;
    font-weight: 300;
    padding-left: 10px;
    font-size: 15px;
}

select.standard-select option {
    font-family: neulis-sans, Arial, sans-serif;
    font-weight: 300 !important;
}