/* =========================
   CSS Variables
   ========================= */
:root {
    --frame-hover-bg: rgb(119, 136, 153, 0.8);
    --frame-bg-1: #4e9fca;
    --frame-bg-2: #fff;
    --frame-bg-3: #fff;

    --frame-border-width: 15px;
    --frame-border-radius: 7px;
    --frame-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6);

    --frame-1-border-top: #454343;
    --frame-1-border-right: #000;
    --frame-1-border-bottom: #454343;
    --frame-1-border-left: #000;

    --frame-2-border-top: #fff;
    --frame-2-border-right: #d1ccd7;
    --frame-2-border-bottom: #c9c3d1;
    --frame-2-border-left: #fff;

    --frame-3-border-top: #432121;
    --frame-3-border-right: #241111;
    --frame-3-border-bottom: #241111;
    --frame-3-border-left: #432121;

    --content-text-color: #fff;
    --content-text-shadow:
        2px 2px 0 #000,
        -1px -1px 0 #000,
        1px -1px 0 #000,
        -1px 1px 0 #000,
        1px 1px 0 #000;

    --content-action-font-size: 0.9em;
    --content-action-padding-right: 2px;
    --content-text-font-size: 2.5em;
    --content-text-line-height: 0.8em;
    --content-text-padding-left: 2px;

    --row-padding: 0.5em;
}

/* =========================
   Face General Elements
   ========================= */
.face-contacts {
    overflow: hidden;
    width: 100%;
    height: 100%;

    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    align-items: stretch;
    padding: 1em;
    gap: 1em;
}
/* =========================
   Frames
   ========================= */
.face-contacts #f-1 {
    flex: 2 1 5%;
    max-height: 100%;
    max-width: 30%;
    align-self: stretch;
    align-content: center;
    overflow: hidden;
    padding:20px;
}

.face-contacts #fr-1 {
    max-width: 100%;
    max-height: 100%;
    display:flex;
    position: relative;

    background: var(--frame-bg-1);
    border-style: solid;
    border-width: calc(var(--frame-border-width) - 1px);
    border-radius: var(--frame-border-radius);
    border-top-color: var(--frame-1-border-top);
    border-right-color: var(--frame-1-border-right);
    border-bottom-color: var(--frame-1-border-bottom);
    border-left-color: var(--frame-1-border-left);
    box-shadow: var(--frame-shadow);
}

.face-contacts #f-2 {
    flex: 2 2;
    display: flex;
    justify-content: center;
    max-height: 100%;
    max-width: 100%;
    overflow: hidden;
    padding:20px
}

.face-contacts #fr-2 {
    max-width: 100%;
    max-height: 100%;
    display: flex;
    position: relative;

    background: var(--frame-bg-2);
    border-style: solid;
    border-width: var(--frame-border-width);
    border-radius: var(--frame-border-radius);
    border-top-color: var(--frame-2-border-top);
    border-right-color: var(--frame-2-border-right);
    border-bottom-color: var(--frame-2-border-bottom);
    border-left-color: var(--frame-2-border-left);
    box-shadow: var(--frame-shadow);
}

.face-contacts #f-3 {
    flex: 1 5;
    max-width: 100%;
    max-height: 100%;
    align-self: flex-end;
    padding:20px;
    overflow: hidden;
    display: flex;
    justify-content: flex-end;
}

.face-contacts #fr-3 {
    display: flex;
    position: relative;
    overflow: hidden;
    aspect-ratio: 1;
    background: var(--frame-bg-3);
    border-style: solid;
    border-width: 20px;
    border-radius: 2px;
    border-top-color: var(--frame-3-border-top);
    border-right-color: var(--frame-3-border-right);
    border-bottom-color: var(--frame-3-border-bottom);
    border-left-color: var(--frame-3-border-left);
    box-shadow: var(--frame-shadow);
}

/* =========================
   Images
   ========================= */
.face-contacts #img-1 {
    margin: 0 auto;
    object-fit: contain;
    max-height: 100%;
    max-width: 100%;
}

.face-contacts #img-2 {
    object-fit: contain;
    max-height: 100%;
    max-width: 100%;
    width: 100%
}

.face-contacts #img-3 {
    margin: 0 auto;
    object-fit: cover;
    max-height: 100%;
    max-width: 100%;
    width: 100%;
}

/* =========================
   Links
   ========================= */
.face-contacts a {
    color: inherit;
    text-decoration: none;
}

/* =========================
   Contents
   ========================= */
.face-contacts .content {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    justify-content: space-between;
    pointer-events: auto;
    position: absolute;
    z-index: 1;
    background: transparent;
    color: var(--content-text-color);
    text-shadow: var(--content-text-shadow);
}

.face-contacts .content-action {
    text-align: right;
    font-size: var(--content-action-font-size);
    padding-right: var(--content-action-padding-right);
    word-break: break-all;
}

.face-contacts .content-text {
    white-space: nowrap;
    padding-left: var(--content-text-padding-left);
    font-size: var(--content-text-font-size);
    line-height: var(--content-text-line-height);
    overflow: hidden;
    text-overflow: ellipsis;
}

.face-contacts .frame-support {
    position: absolute;
    width: 40px;
    height: 30px;
    background-color: rgb(69, 53, 53);
    top: -20px;
    left: 0;
    right: 0;
    z-index: -1;
    margin-left: auto;
    margin-right: auto;
}

/* =========================
   Content Hover
   ========================= */
.face-contacts #content-1:hover,
.face-contacts #content-2:hover,
.face-contacts #content-3:hover {
    background-color: var(--frame-hover-bg);
    color: var(--content-text-color);
}

/* =========================
   Responsive Design
   ========================= */
@media (max-width: 1024px) and (orientation: portrait) {
    :root {
        --content-text-font-size: 1.9em;
    }

    .face-contacts {
        flex-direction: column;
        gap: 0
    }

    .face-contacts #f-2 {
        order: 1;
        height: 50%;
    }

    .face-contacts #f-1 {
        flex: 1 1;
        order: 2;
        width: 100%;
        height: 25%;
        max-width: 100%;
        padding: 10px;
    }

    .face-contacts #fr-1 {
        height:100%;
        width: 100%;
    }

    .face-contacts #img-1 {
        object-fit: cover;
        width: 100%;
    }

    .face-contacts #f-3 {
        flex: 1 1;
        order: 3;
        width: 100%;
        height: 25%;
        padding: 10px;
    }

    .face-contacts #fr-3 {
        height: 100%;
        width: 100%;
        aspect-ratio: auto;
    }
}
