@font-face {
	font-family: "Roboto-Light";
	src: url("assets/fonts/Roboto/Roboto-Light.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;
}

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-lighten: #ffc934;
    --secondary: #0145FF;
    --secondary-lighten: #346aff;
    --secondary-darken: #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;
}

* {
    box-sizing: border-box;
}

.text {
    padding: 2.5rem;
    background-color: var(--primary);
    border-radius: 1rem;
    z-index: 100;
    box-shadow: 0 0 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;
    }
}

button, a.btn {
    font-size: 1.5rem;
    display: block;
    width: 100%;
    background-color: var(--secondary);
    padding: 1rem 0.5rem;
    color: white;
    border-radius: 0.5rem;
    font-family: 'Roboto-Medium';
    border: none;
    text-decoration: none;
    text-align: center;

    &:disabled {
        cursor: not-allowed;
        border-color: var(--secondary-lighten);
        background-color: var(--secondary-lighten);
    }
    &:not(:disabled) {
        cursor: pointer;
        &:hover {
            border-color: var(--secondary-darken);
            background-color: var(--secondary-darken);
        }
    }
}

footer {
    position: relative;
    background-color: var(--primary);
    padding: 1rem 1rem;
    text-align: center;

    div {
        margin: 0.5rem;
    }

    a {
        text-decoration: none;
        color: black;
    }

    a:hover {
        text-decoration: underline;
    }
}

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

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

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

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

.navbar {
    display: flex;
    padding: 1rem 0 0;
    align-items: stretch;
    justify-content: center;
    background-color: var(--primary);
    gap: 2rem 2rem;
    .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-lighten);
            }
        }

        .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-lighten);
                    }
                    &: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;
}

@media (max-width: 1024px) {
    .navbar {
        flex-direction: column;
        align-items: center;
    }
}

@media (max-width: 650px) {
    .logo {
        > *: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 {
        gap: 0.5rem;
        padding-bottom: 0;
        .navbar-items {
            flex-direction: column;
            > * {
                text-align: center;
                padding: 0.5rem 1rem;
            }
        }
    }
}

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;
    }
}

#contact {
    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;
    }
}

.flex {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
}

@media (max-width: 1024px) {
    .flex {
        flex-direction: column;
        &#contact {
            flex-direction: column-reverse;
        }
        align-items: center;

    }
}


/*
*************************************************
*           From taxi-app common.scss
*************************************************
*/
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(--ion-color-primary);
                width: 18px;
                height: 18px;
            }
            > ion-icon {
                color: rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);
                font-size: 24px;
            }
        }
    }
    &: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(--ion-color-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%);
        }
    }

    > ion-icon {
        align-self: center;
        font-size: 1.25rem;
        padding: 0.25rem 0.5rem;
        cursor: pointer;
        &:hover {
            color: var(--ion-color-secondary);
        }
    }

    > .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(--ion-color-primary);
            width: 18px;
            height: 18px;
        }
        > ion-icon, 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(--ion-color-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;
    }
}


