.general-details-container {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative;
    overflow: hidden;
    padding-top: 52px;
    width: 100vw;
}

.name-and-title {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.name-and-title * {
    font-family: Obviously;
    overflow: hidden;
}

.name-and-title br {
    display: none;
}

.background-img,
.background-img-placeholder {
    width: 320px;
    height: 384px;
    object-fit: cover;
}

.info {
    background: white;
    width: 100%;
    padding: 11px 24px 22px;
}

.name {
    font-family: Obviously Wide Medium;
    display: flex;
    flex-wrap: wrap;
}

.title {
    font-family: Obviously Medium;
    margin-top: -6px;
    font-size: 16px;
    line-height: 25.6px;
}

.title br {
    display: unset;
}

.contact {
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 5px;
    margin-top: 16px;
    background: transparent;
}

.icon {
    height: 24px;
    cursor: pointer;
}

.email {
    margin-bottom: -1px;
}

.phone-container {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 11px;
    cursor: pointer;
}

.phone-number {
    font-family: Obviously;
    font-size: 12px;
    font-weight: var(--weight-light);
    line-height: 19px;
    width: max-content;
}

.top-line {
    display: none;
    position: absolute;
    bottom: 0;
    left: 59px;
    height: calc(100% - 132px);
    width: 1px;
    background-color: var(--color-black);
}

@media (min-width: 768px) {
    .general-details-container {
        justify-content: unset;
        flex-direction: unset;
        height: 438px;
        margin: 0;
        padding: 0;
        margin-top: 66px;
    }

    .background-img,
    .background-img-placeholder {
        position: static;
        top: unset;
        left: unset;
        transform: unset;
        width: 340px;
        height: 100%;
        margin-left: 31px;
        object-fit: unset;
    }

    .name-and-title {
        gap: 17px;
    }

    .name {
        line-height: 31.46px;
        font-size: 26px;
        min-width: 500px;
        width: 100%;
    }

    .title {
        font-family: Obviously Wide Medium;
        font-size: 20px;
        line-height: 31.3px;
    }

    .info {
        display: flex;
        flex-direction: column;
        background: transparent;
        position: static;
        width: max-content;
        height: max-content;
        padding: 0;
        margin-top: 10px;
        margin-left: -20px;
        flex: 1;
        gap: 42px;
    }

    .contact {
        gap: 5.85px;
    }

    .icon {
        height: 28.1px;
        cursor: pointer;
    }

    .phone-container {
        gap: 19px;
    }

    .phone-number {
        font-size: 14px;
        line-height: 22.4px;
    }
}

@media (min-width: 1000px) {
    .general-details-container {
        height: 464px;
    }

    .background-img,
    .background-img-placeholder {
        margin-left: 81px;
        width: 360px;
    }

    .info {
        margin-left: 4px;
        margin-top: -20px;
    }

    .name-and-title {
        gap: 16px;
    }

    .name {
        font-size: 34px;
        line-height: 41.14px;
    }

    .title {
        font-size: 24px;
        line-height: 37.56px;
    }
}

@media (min-width: 1194px) {
    .general-details-container {
        height: 648px;
        margin-top: 0;
        padding-top: 114px;
    }

    .background-img,
    .background-img-placeholder {
        width: 415px;
        margin-left: 77px;
    }

    .name-and-title {
        gap: 19px;
    }

    .name {
        font-size: 48px;
        line-height: 58.08px;
    }

    .name br {
        display: none;
    }

    .info {
        margin-top: -18px;
        margin-left: 8px;
        gap: 12px;
    }

    .phone-container {
        gap: 24px;
    }

    .phone-number {
        font-size: 20px;
        line-height: 32px;
    }

    .top-line {
        display: unset;
    }
}

@media (min-width: 1500px) {
    .general-details-container {
        height: 793px;
        padding-top: 84px;
    }

    .background-img,
    .background-img-placeholder {
        width: 550px;
        margin-left: 198px;
    }

    .info {
        margin-left: 56px;
        margin-top: 54px;
        gap: 38px;
    }

    .title {
        font-size: 28px;
        line-height: 43.62px;
    }

    .top-line {
        left: 79px;
        height: calc(100% - 163px);
    }
}
