@font-face {
	font-family: "Roboto-Light";
	src: url("assets/fonts/Roboto/Roboto-Light.ttf") format("truetype");
}

@font-face {
	font-family: "Roboto-Regular";
	src: url("assets/fonts/Roboto/Roboto-Regular.ttf") format("truetype");
}

@font-face {
	font-family: "Roboto-Medium";
	src: url("assets/fonts/Roboto/Roboto-Medium.ttf") format("truetype");
}

@font-face {
	font-family: "Roboto-Bold";
	src: url("assets/fonts/Roboto/Roboto-Bold.ttf") format("truetype");
}

html {
    scroll-behavior: smooth;
}

h1, h2, h3, h4, h5 {
    font-family: 'Roboto-Bold', 'Montserrat', sans-serif;
    font-weight: normal;
}

input, select, textarea {
    font-family: 'Roboto-Light', 'Montserrat', sans-serif;
}

body {
    font-family: 'Roboto-Light', 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 18px;
    padding: 0;
    margin: 0;
    background-color: var(--blank);
    --primary: #ffbb01;
    --primary-contrast: black;
    --primary-tint: #ffc934;
    --primary-shade: #f0b000;


    --secondary: #0145FF;
    --secondary-contrast: white;
    --secondary-tint: #346aff;
    --secondary-shade: #0037cd;
    --blank: rgb(245, 245, 245);

        /** success **/
    --success: rgb(14, 158, 72);
    --success-rgb: 14, 158, 72;
    --success-contrast: rgb(255, 255, 255);
    --success-contrast-rgb: 255, 255, 255;
    --success-shade: #0ec254;
    --success-tint: #28e070;

    /** warning **/
    --warning: #ffce00;
    --warning-rgb: 255, 206, 0;
    --warning-contrast: #ffffff;
    --warning-contrast-rgb: 255, 255, 255;
    --warning-shade: #e0b500;
    --warning-tint: #ffd31a;

    /** danger **/
    --danger: #f04141;
    --danger-rgb: 245, 61, 61;
    --danger-contrast: #ffffff;
    --danger-contrast-rgb: 255, 255, 255;
    --danger-shade: #d33939;
    --danger-tint: #f25454;
}

strong {
    font-family: 'Roboto-Bold', 'Montserrat', sans-serif;
    font-weight: normal;
}

h3 {
    font-weight: normal;
}

* {
    box-sizing: border-box;
}

.text {
    padding: 2.5rem;
    border-radius: 2rem;
    border-left: 1.5rem solid var(--primary);
    background-color: white;
    z-index: 100;
    box-shadow: 0 0.25rem 1rem 1rem rgba(48, 48, 48, 0.1);
    h2 {
        font-size: 3rem;
        margin: 0 0 1rem 0;
    }
    p {
        margin: 0;
        line-height: 1.75;

        &:not(:last-child) {
            margin-bottom: 1.5rem;
        }
    }
    i, img {
        margin-left: 0.25rem;
        margin-right: 0.25rem;
    }
    a {
        text-decoration: none;
        color: black;
    }

    img {
        width: 1.5rem;
        height: 1rem;
        object-fit: cover;
    }
}

footer {
    position: relative;
    background-color: var(--primary);

    .links {
        h5 {
            font-size: 1.5rem;
            margin: 0;
        }
        padding: 1rem;
        display: flex;
        font-family: 'Roboto-Medium';
        gap: 6rem;
        max-width: 60rem;
        /* justify-content: center; */
        margin: auto;
        > div {
            > h5 {
                padding: 0.5rem 0.5rem 0;
            }
            > div {
                display: flex;
                flex-wrap: wrap;
                gap: 0 1rem;
                > * {
                    padding: 0.5rem;
                }
            }
        }
    }

    .copyright {
        background-color: black;
        color: white;
        padding: 1rem;
        text-align: start;
        /* display: flex; */
        /* justify-content: space-evenly; */
        a {
            color: white;
        }
    }

    a {
        text-decoration: none;
        color: black;
        &:hover {
            text-decoration: underline;
        }
    }

}

button.go-back {
    position: fixed;
    bottom: 1rem;
    right: 1rem;
    background-color: var(--primary-tint);
    border-radius: 0.5rem;
    box-shadow: 0 0 0.5rem 0.5rem rgba(0, 0, 0, 0.1);
    padding: 0.5rem;

    z-index: 100;
    text-decoration: none;
    color: black;

    font-size: 1.5rem;
    cursor: pointer;
    user-select: none;
    width: 3rem;
    height: 3rem;
    display: flex;
    i {
        margin: auto;
    }

    &:hover {
        background-color: var(--primary-tint) !important;
    }
}

.navbar {
    display: flex;
    padding: 1rem 0 0;
    align-items: stretch;
    justify-content: center;
    background-color: var(--primary);
    gap: 2rem 2rem;
    .navbar-toggle {
        display: none;
    }
    .navbar-items {
        display: flex;
        align-items: center;
        /* min-height: 4rem; */
        > * {
            font-family: "Roboto-Medium";
            padding: 1.5rem 1rem;
            text-decoration: none;
            color: black;
            white-space: nowrap;

            &:hover {
                background-color: var(--primary-tint);
            }
        }
        .btn-demo {
            padding: 0.5rem 1rem;
            border-radius: 2rem;
            font-size: 1rem;
            text-transform: none;
        }

        .language {
            position: relative;
            cursor: pointer;
            display: flex;
            gap: 1rem;
            align-items: center;
            user-select: none;
            text-transform: uppercase;

            img {
                width: 2.25rem;
                height: 1.5rem;
                object-fit: cover;
            }

            ul {
                display: none;
                background-color: var(--primary);
                z-index: 1000;
                list-style: none;
                position: absolute;
                top: calc(100% - 1rem);
                right: 0;
                padding: 0;
                border-bottom-left-radius: 1rem;
                border-bottom-right-radius: 1rem;
                box-shadow: 0 0 1rem 0.5rem rgba(48, 48, 48, 0.1);

                &.shown {
                    display: block;
                }

                li {
                    display: flex;
                    align-items: center;
                    gap: 1rem;
                    width: 100%;
                    padding: 1rem 2rem;
                    text-transform: uppercase;
                    cursor: pointer;
                    &:hover {
                        background-color: var(--primary-tint);
                    }
                    &:last-child {
                        border-bottom-left-radius: 1rem;
                        border-bottom-right-radius: 1rem;
                    }
                }
            }
        }
    }
}

.logo {
    font-family: "Roboto-Medium";
    display: block;
    background-color: black;
    color: white;
    padding: 1rem 2rem;
    position: relative;
    cursor: pointer;
    text-decoration: none;
    user-select: none;

    > *:first-child {
        font-size: 3.5rem;
        font-weight: 900;
        line-height: 0.8;
    }

    > *:nth-child(2) {
        text-align: center;
        text-transform: uppercase;
    }
}

.logo:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    border-top: 2.15rem solid var(--primary);
    border-left: 2.15rem solid transparent;
}

.logo:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    border-bottom: 2.15rem solid var(--primary);
    border-right: 2.15rem solid transparent;
}


form {
    background-color: white;
    padding: 2rem;
    border-radius: 1rem;
    box-shadow: 0 0 1rem 1rem rgba(48, 48, 48, 0.1);
    flex: none;
    max-width: 30rem;
    font-size: 1rem;

    &.submitted {
        display: none;
    }

    &.loading {
        button {
            > *:nth-child(1) {
                display: none;
            }
            > *:nth-child(2) {
                display: inline;
            }
        }
    }

    button {
        > *:nth-child(1) {
            display: inline;
        }
        > *:nth-child(2) {
            display: none;
        }
    }
}

.form-result {
    display: none;
    align-items: center;
    justify-content: center;

    background-color: white;
    padding: 2rem;
    border-radius: 1rem;
    box-shadow: 0 0 1rem 1rem rgba(48, 48, 48, 0.1);
    flex: none;
    max-width: 30rem;

    &.shown {
        display: flex;
    }

    i {
        font-size: 4rem;
        color: green;
    }

    span {
        margin-left: 2rem;
    }
}


.images-container {
    position: relative;
    max-width: 60rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    .images,
    .images-mobile {
        display: none;
        overflow: hidden;
        position: relative;
        &.shown {
            display: flex;
        }
        img {
            cursor: pointer;
            user-select: none;
            max-width: 100%;
            height: auto;
            touch-action: pan-y !important;
            transition: all 0.2s ease-in-out;
        }
    }
    &.mobile {
        max-width: 30rem;
    }
    .dots {
        position: relative;
        margin-top: 1rem;
        display: flex;

        gap: 0.5rem;
        justify-content: center;
        > .dot {
            cursor: pointer;
            width: 1rem;
            height: 1rem;
            border: 2px solid transparent;
            border-radius: 50%;
            background-color: white;
            box-shadow: 0 0 0.5rem 0.5rem rgba(48, 48, 48, 0.1);

            &.shown {
                background-color: var(--primary);
            }
        }

        > .switch {
            position: absolute;
            right: 0;
            bottom: 0;
            display: flex;
            gap: 0.25rem;
            cursor: pointer;

            background-color: var(--primary);
            padding: 0.25rem 0.5rem;
            border-radius: 0.5rem;
            border: 2px solid var(--primary);
            font-family: "Roboto-Medium";

            &:disabled {
                cursor: not-allowed;
                border-color: var(--primary-tint);
                background-color: var(--primary-tint);
            }
            &:not(:disabled) {
                cursor: pointer;
                &:hover {
                    border-color: var(--primary-tint);
                    background-color: var(--primary-tint);
                }
            }
        }
    }

}

.collapsible {
    padding: 1rem;
    border: 1px solid lightgray;
    overflow: hidden;
    padding: 0;
    &:not(:last-child) {
        border-bottom: none;
    }
    p {
        margin-bottom: 0;
        &:first-child {
            margin-top: 0;
        }
    }
    ul {
        margin: 0;
    }
    .link {
        cursor: pointer;
        color: var(--secondary);
        &:hover {
            text-decoration: underline;
        }
    }
    .header {
        cursor: pointer;
        padding: 1rem;
        color: var(--secondary);
        font-family: 'Roboto-Medium', 'Montserrat', sans-serif;
        font-weight: normal;
        &:hover {
            text-decoration: underline;
        }
    }
    .wrapper {
        display: grid;
        grid-template-rows: 0fr;
        transition: all 0.2s linear;
        padding: 0 1rem 0;
        &.shown {
            grid-template-rows: 1fr;
            .content {
                padding-bottom: 1rem;
            }
        }
        .content {
            overflow: hidden;
        }
    }
}


/*
*************************************************
*           Common sections
*************************************************
*/
#contact {
    padding: 8rem 0.5rem;
    background: url(/assets/sphere-6522553.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 50rem;
    justify-content: center;
    tx-contact-us {
        background-color: white;
        padding: 2rem;
        border-radius: 1rem;
        box-shadow: 0 0 1rem 1rem rgba(48, 48, 48, 0.1);
        flex: none;
        max-width: 30rem;
    }
    .text {
        flex: 1;
        max-width: 30rem;
    }
}

#technologies {
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
    padding: 4rem 1.5rem;
    gap: 4rem;
    img {
        flex: none;
        width: 7.5rem;
        &.logo-tomtom {
            width: 10rem;
        }
        &.logo-mapbox {
            width: 10rem;
        }
        &.logo-osm {
            width: 5rem;
        }
        &.logo-here {
            width: 5rem;
        }
        &.logo-google-maps {
            width: 6rem;
        }
    }
}

#faq {
    padding: 4rem 5rem 0;
    > h2 {
        text-align: center;
        font-size: 3rem;
        font-family: 'Roboto-Medium';
        margin: 0;
    }
    > div {
        background-color: white;
        max-width: 60rem;
        margin: 3rem auto 5rem;
    }
}

#test {
    margin: 3rem auto 0;
    padding: 4rem;
    background-color: var(--primary);
    > h2 {
        max-width: 70rem;
        text-align: center;
        font-size: 3rem;
        font-family: 'Roboto-Medium';
        margin: 0 auto 1rem;
    }
    > a {
        max-width: 25rem;
        margin: 0 auto 0.5rem;
    }
    > small {
        display: block;
        text-align: center;
        max-width: 25rem;
        margin: 0 auto;
    }
}

#statistics {
    > h2 {
        text-align: center;
        font-size: 3rem;
        font-family: 'Roboto-Medium';
        margin: 0;
    }
    > div {
        display: flex;
        max-width: 93rem;
        padding: 4rem 2rem 5rem;
        justify-content: space-between;
        align-items: center;
        gap: 1rem;
        margin: 0 auto;
        .text {
            width: 20rem;
            padding: 1rem;
            background-color: white;
            border-radius: 1rem;
            border-left: 0.75rem solid var(--primary);
            /* border-bottom: 0.75rem solid var(--primary); */
            text-align: center;
            cursor: pointer;
            margin-top: 1rem;
            transition: all 0.3s;

            &:hover {
                margin-top: 0;
                box-shadow: 0 1rem 1rem 1rem rgba(48, 48, 48, 0.1);
                hr {
                    /* border-color: black; */
                }
            }
            hr {
                border-color: transparent;
                margin: 0;
            }
            > span {
                font-size: 3rem;
                font-family: 'Roboto-Bold';
            }
            > div {
                font-size: 1.5rem;
                white-space: nowrap;
            }
        }
    }
}

/*
*************************************************
*           Responsiveness
*************************************************
*/
@media (max-width: 1400px) {
    #technologies {
        gap: 2rem;
    }
}
@media (max-width: 1024px) {
    #technologies {
        flex-wrap: wrap;
    }
    #statistics {
        flex-direction: column;
        > div {
            flex-direction: column;
            gap: 0 !important;
        }
        align-items: center;
    }
    .navbar {
        flex-direction: column;
        align-items: center;
    }
    footer {
        .links {
            flex-direction: column;
            gap: 1rem;
            max-width: 30rem;
        }
    }
}

@media (max-width: 650px) {
    #test {
        padding: 3rem 2rem;
        > h2 {
            font-size: 2rem;
        }
    }
    #faq {
        > h2 {
            font-size: 2.5rem;
        }
        padding: 1rem 1rem 0;
    }
    #statistics {
        padding: 2rem 0.5rem;
        gap: 1rem;
        > .text {
            margin-top: 0;
            width: 100%;
        }
    }
    .logo-container {
        display: flex;
        gap: 1rem;
        align-items: center;
        .navbar-toggle {
            display: block;
            width: 4rem;
            height: 4rem;
            border: none;
            box-shadow: none;
        }
    }
    .logo {
        flex: 1;
        > *:first-child {
            font-size: 2rem;
            font-family: 'Roboto-Medium';
            font-weight: 900;
            line-height: 0.8;
        }

        > *:nth-child(2) {
            font-size: 0.57rem;
            text-align: center;
            text-transform: uppercase;
            font-family: 'Roboto-Medium';
        }

        &:before {
            border-top-width: 1.43rem;
            border-left-width: 1.43rem;
        }
        &:after {
            border-bottom-width: 1.43rem;
            border-right-width: 1.43rem;
        }
    }

    .navbar-items {
        height: 0;
        transition: height 0.2s ease-in-out;
        /* overflow: hidden; */
        &.shown {
            height: 225px;
        }
    }

    .navbar {
        gap: 0.5rem;
        padding-bottom: 0;
        .navbar-items {
            flex-direction: column;
            > * {
                text-align: center;
                padding: 0.5rem 1rem;
            }
        }
    }
}


/*
*************************************************
*           From taxi-app common.scss
*************************************************
*/
button, a.btn {
    background-color: var(--primary);
    font-family: 'Roboto-Medium';
    font-size: 1.5rem;
    color: var(--primary-contrast);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem 0.5rem;
    border: none;
    border-radius: 0.5rem;
    box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.84px;
    user-select: none;
    line-height: 1.5;
    gap: 0.25rem;

    background-position: center;
    transition: background 0.6s;
    background: var(--primary) radial-gradient(circle, transparent 1%, var(--primary) 1%) center/15000%;
    &:active:not(:disabled) {
        background-size: 100%;
        transition: background 0s;
        background-color: var(--primary-shade);
    }

    &:hover:not(:disabled) {
        background-color: var(--primary-shade);
    }
    &:disabled {
        background-color: #f8e48e;
        color: #777;
    }
    &:not(:disabled) {
        cursor: pointer;
    }

    &.btn-full {
        width: 100%;
        text-transform: uppercase;
    }
    &.btn-large {
        font-size: 20px;
        padding-top: 14px;
        padding-bottom: 14px;
        border-radius: 0;
    }
    &.btn-small {
        padding-top: 2px;
        padding-bottom: 2px;
        font-size: 13px;
        min-height: 28px;
    }
    &.btn-danger {
        background: var(--danger) radial-gradient(circle, transparent 1%, var(--danger) 1%) center/15000%;
        color: var(--danger-contrast);
        > img.icon {
            filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(2%) hue-rotate(248deg) brightness(111%) contrast(101%);
        }
        &:active {
            background-size: 100%;
            background-color: var(--danger-shade);
        }
        &:disabled {
            background-color: #f7a0a0;
        }
        &:hover:not(:disabled) {
            background-color: var(--danger-shade);
        }
    }
    &.btn-dark {
        background: var(--dark) radial-gradient(circle, transparent 1%, var(--dark) 1%) center/15000%;
        color: var(--dark-contrast);
        > img.icon {
            filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(2%) hue-rotate(248deg) brightness(111%) contrast(101%);
        }
        &:active {
            background-size: 100%;
            background-color: var(--dark-shade);
        }
        &:disabled {
            background-color: #bbb;
        }
        &:hover:not(:disabled) {
            background-color: var(--dark-shade);
        }
    }
    &.btn-success {
        background: var(--success) radial-gradient(circle, transparent 1%, var(--success) 1%) center/15000%;
        color: var(--success-contrast);
        > img.icon {
            filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(2%) hue-rotate(248deg) brightness(111%) contrast(101%);
        }
        &:active {
            background-size: 100%;
            background-color: var(--success-shade);
        }
        &:disabled {
            background-color: #86cea3;
        }
        &:hover:not(:disabled) {
            background-color: var(--success-shade);
        }
    }
    &.btn-secondary {
        background: var(--secondary) radial-gradient(circle, transparent 1%, var(--secondary) 1%) center/15000%;
        color: var(--secondary-contrast);
        &:active {
            background-size: 100%;
            background-color: var(--success-shade);
        }
        &:disabled {
            background-color: #bbb;
        }
        &:hover:not(:disabled) {
            background-color: var(--secondary-shade);
        }
    }
    &.btn-fab {
        position: fixed;
        z-index: 10000;
        bottom: 1rem;
        right: 1rem;
        padding: 0;
        border-radius: 50%;
        width: 4rem;
        height: 4rem;
        font-size: 2rem;
        > img.icon {
            width: 1.5rem;
            height: 1.5rem;
        }
    }

    > img.icon {
        width: 1rem;
        height: 1rem;
    }
}

div.tx-form-element {
    display: flex;
    gap: 0.5rem;
    align-items: stretch;
    min-height: 48px;
    padding: 0 0.5rem 0 1rem;
    background-color: white;
    border-bottom: 1px solid rgba(0, 0, 0, 0.13);
    border-right: 1px solid rgba(0, 0, 0, 0.13);
    &:has(label > input[type="checkbox"]) {
        label {
            flex-direction: row;
            gap: 1rem;
            align-items: center;
            cursor: pointer;

            > span {
                flex: 1;
            }
            > input {
                accent-color: var(--primary);
                width: 18px;
                height: 18px;
            }
        }
    }
    &:has(label > textarea) {
        height: 13rem;
        label {
            margin: 0.25rem 0;
            span::last-child {
                border-top: 1px solid rgba(0, 0, 0, 0.5);
                color: rgba(0, 0, 0, 0.5);
                align-self: flex-end;
            }
        }
        textarea {
            resize: none;
        }
    }
    &:has(label > select) {
        label {
            position: relative;
            > select {
                cursor: pointer;
                background-color: white;
                width: 100%;
                border: none;
                padding: 0;
                padding-top: 0.75rem;
                margin-left: -0.25rem;
                outline: none;
                &[multiple] {
                    /* height: auto; */
                    /* min-height: 2.5em; */
                    margin-top: 1.25rem;
                    font-family: system-ui, sans-serif;
                    color: #333;
                    &:focus {
                        outline: none;
                    }
                    option {
                        display: flex;
                        padding: 0.25rem;
                        /* margin: 2px 0; */
                        cursor: pointer;
                        gap: 1rem;
                        &:checked {
                            background-color: #eee !important;
                            &::before {
                                content: '✓';
                                background-color: var(--primary);
                            }
                        }
                        &:hover {
                            background-color: #ddd !important;
                        }
                        &::before {
                            content: '';
                            display: block;
                            flex: none;
                            width: 0.9rem;
                            padding-left: 0.1rem;
                            height: 1rem;
                            border: 1px solid #767676;
                            border-radius: 2px;
                        }
                    }
                }
            }
        }
        label > span:first-child {
            top: 6px;
            left: 0;
            position: absolute;
            pointer-events: none;
        }
    }

    &:has(label > select:disabled),
    &:has(label > input:disabled),
    &:has(label > textarea:disabled) {
        label > span {
            color: #a4a4a4
        }
        select, input, textarea {
            color: #a4a4a4
        }
    }
    input, select, textarea {
        &:disabled {
            background-color: white;
        }
    }
    &:hover {
        background-color: #f5f5f5;
        input, select, textarea {
            background-color: #f5f5f5;
        }
    }
    > label {
        display: flex;
        justify-content: center;
        flex-direction: column;
        user-select: none;
        flex: 1;
        > span:first-child {
            font-size: 12px;
            color: black;
            display: block;
        }
        > input, textarea {
            width: 100%;
            color: black;
            font-size: 1rem;
            border: none;
            padding: 0;
            &:focus {
                border: none;
                outline: none;
            }
        }
    }

    > button, > a.btn {
        align-self: center;
        font-size: 14px;
        line-height: 1;
        /* padding: 0.25rem 0.5rem; */
    }

    > img.icon {
        align-self: center;
        cursor: pointer;
        filter: brightness(0) saturate(100%) invert(44%) sepia(3%) saturate(16%) hue-rotate(52deg) brightness(102%) contrast(90%);
        &:hover {
            filter: brightness(0) saturate(100%) invert(73%) sepia(47%) saturate(6815%) hue-rotate(1deg) brightness(104%) contrast(104%);
        }
    }

    > .tx-badge {
        align-self: center;
    }
}
label.tx-form-element {
    display: flex;
    gap: 2px;
    justify-content: center;
    flex-direction: column;
    user-select: none;
    min-height: 48px;
    padding: 0 0.5rem 0 1rem;
    background-color: white;
    border-bottom: 1px solid rgba(0, 0, 0, 0.13);
    /* border-right: 1px solid rgba(0, 0, 0, 0.13); */

    &:has(> input[type="checkbox"]) {
        flex-direction: row;
        gap: 1rem;
        padding: 0 1rem;
        align-items: center;
        cursor: pointer;
        font-size: 18px;

        > span {
            flex: 1;
        }
        > input {
            accent-color: var(--primary);
            width: 18px;
            height: 18px;
        }
        img.icon {
            color: rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);
            font-size: 24px;
            filter: brightness(0) saturate(100%) invert(44%) sepia(3%) saturate(16%) hue-rotate(52deg) brightness(102%) contrast(90%);
        }
    }
    &:has(> textarea) {
        height: 13rem;
        > span:first-child {
            margin-top: 0.25rem;
        }
        textarea {
            resize: none;
        }
        > span:last-child {
            border-top: 1px solid rgba(0, 0, 0, 0.13);
            color: rgba(0, 0, 0, 0.5);
            font-size: 12px;
            padding-right: 0.5rem;
            text-align: end;
        }
    }
    &:has(> select) {
        position: relative;
        > span:first-child {
            pointer-events: none;
            top: 6px;
            left: 1rem;
            position: absolute;
        }
        > select {
            font-size: 18px;
            background-color: white;
            cursor: pointer;
            width: 100%;
            border: none;
            padding: 0;
            padding-top: 1rem;
            margin-left: -0.25rem;
            outline: none;
            flex: 1;
            &[multiple] {
                /* height: auto; */
                /* min-height: 2.5em; */
                margin-top: 1.25rem;
                font-family: system-ui, sans-serif;
                color: #333;
                &:focus {
                    outline: none;
                }
                option {
                    display: flex;
                    padding: 0.25rem;
                    /* margin: 2px 0; */
                    cursor: pointer;
                    gap: 1rem;
                    &:checked {
                        background-color: #eee !important;
                        &::before {
                            content: '✓';
                            background-color: var(--primary);
                        }
                    }
                    &:hover {
                        background-color: #ddd !important;
                    }
                    &::before {
                        content: '';
                        display: block;
                        flex: none;
                        width: 0.9rem;
                        padding-left: 0.1rem;
                        height: 1rem;
                        border: 1px solid #767676;
                        border-radius: 2px;
                    }
                }
            }
        }
    }

    &:has(> select:disabled),
    &:has(> input:disabled),
    &:has(> textarea:disabled) {
        > span {
            color: #a4a4a4
        }
        select, input, textarea {
            color: #a4a4a4
        }
    }


    input, select, textarea {
        &:disabled {
            background-color: white;
        }
    }
    &:hover {
        background-color: #f5f5f5;
        input, select, textarea {
            background-color: #f5f5f5;
        }
    }
    > span:first-child {
        font-size: 14px;
        color: black;
        display: block;
    }
    > input, textarea, span:nth-child(2) {
        width: 100%;
        color: black;
        font-size: 18px;
        border: none;
        padding: 0;
        &:focus {
            border: none;
            outline: none;
        }
    }

    > button, > a.btn {
        align-self: center;
        font-size: 1rem;
        padding: 0.25rem 0.5rem;
    }
}

.tx-segment {
    box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);
    margin-bottom: 0.5rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    /* background-color: white; */
    user-select: none;
    letter-spacing: 0.84px;
    font-weight: 500;
    font-style: normal;
    font-size: 1rem;
    min-height: 3rem;
    > * {
        border-bottom: 2px solid transparent;
        cursor: pointer;
        flex: none;
        padding: 0.5rem 0.5rem;
        text-transform: uppercase;
        display: flex;
        gap: 0.25rem;
        align-items: center;
        justify-content: center;

        &.selected {
            border-bottom-color: black;
            color: black;
        }
        &:hover {
            background-color: #eee;
        }
    }
    button {
        align-self: center;
        padding: 0.25rem 0.5rem;
    }
}
