@use "/src/scss/abstracts" as *;

.sign-out-link {
    text-align: center;
    font-size: $type-size-150;
    color: rgba($black, 0.75);
    display: inline-block;
    padding-top: 0.25rem;
    border-bottom: 1px solid rgba($black, 0.25);
    transition: all 200ms ease;

    &:hover {
        cursor: pointer;
        border-bottom: 1px solid rgba($black, 0.5);
    }
}

.page-body {
    padding: $spacing-600;
}

.hero {
    display: grid;

    &__photo {
        z-index: 0;
        grid-column: 1;
        grid-row: 1;
        aspect-ratio: 4 / 3;

        @include tablet {
            aspect-ratio: 16 / 9;
        }

        @include desktop-medium {
            aspect-ratio: unset;
            max-height: clamp(20rem, 70vh, 48rem);
        }

        img {
            width: 100%;
            height: 100%;
            object-position: top center;
            object-fit: cover;
            border-radius: $border-radius-100;
        }
    }

    &__info {
        z-index: 2;
        grid-column: 1;
        grid-row: 1;
        align-self: end;
        color: white;
        padding: 2rem;

        @include desktop-small {
            transform: translateY(-25%);
        }
    }

    &__name {
        background: $secondary;
        display: inline-block;
        padding: 0.75rem 1rem 0.375rem;
        font-size: $type-size-150;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        font-weight: bold;
        line-height: 1;
    }

    &__title {
        font-size: $type-size-500;
        font-weight: 900;
        transform: translateY(-1px);

        @include desktop-medium {
            font-size: $type-size-600;
        }

        .line {
            background: $primary;
            display: inline-block;
            padding: 0.75rem 0.75rem 0.5rem;

            &-2 {
                padding-top: 0;
                padding-bottom: 0.375rem;
                transform: translateY(-1px);

                @include tablet {
                    padding-bottom: 0.5rem;
                }
            }
        }
    }

    &__actions {
        background: $white;
        box-shadow: $shadow-200;
        padding: $spacing-600;
        border-radius: $spacing-100;
        border: 1px solid $gray-200;
        margin-top: $spacing-600;

        @include desktop-small {
            z-index: 3;
            width: 100%;
            max-width: 30rem;
            margin: 0 $spacing-600;

            align-self: end;
            justify-self: start;
            transform: translateY(-25%);
        }

        .welcome-card-header {
            color: $primary;
            border-bottom: 1px solid rgba($black, 0.1);
            padding-bottom: $spacing-400;
        }

        .section-title {
            padding: 0;
        }
    }

    &__btns {
        display: grid;
        gap: 1rem;

        &-wrapper {
            text-align: center;
            .btn {
                display: block;
            }
        }
    }
}

.about-col {
    display: grid;
    gap: $spacing-600;
}

.video-thumbnail {
    a {
        display: block;
    }
    img {
        border-radius: $spacing-100;
    }
}

.rich-link {
    display: grid;
    gap: $spacing-400;
    padding: $spacing-600;
    border: 1px solid rgba($black, 0.1);
    border-radius: $spacing-200;
    height: 100%;

    icon {
        color: $primary;

        ::ng-deep {
            svg {
                width: $spacing-400;
                height: $spacing-400;
            }
        }
    }

    &-header {
        display: grid;
        gap: $spacing-200;
    }

    &-body {
        color: $gray-900;

        strong {
            color: $gray-1000;
        }
    }

    .two-col {
        display: grid;
        gap: 1rem;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }
}

.alert-container {
    padding: $spacing-700;
    max-width: 94rem;
}
