/*
 * Local icon subset for the homepage.
 * Replaces the Font Awesome webfont with small CSS masks for the classes used here.
 */
.fas,
.far,
.fab {
    display: inline-flex;
    width: 1em;
    height: 1em;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
}

.fas::before,
.far::before,
.fab::before {
    content: var(--icon-text, "");
    display: block;
    width: 1em;
    height: 1em;
    line-height: 1;
    text-align: center;
}

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
    .fas::before,
    .far::before,
    .fab::before {
        content: "";
        background: currentColor;
        -webkit-mask: var(--icon-mask) center / contain no-repeat;
        mask: var(--icon-mask) center / contain no-repeat;
    }
}

.fa-chevron-down {
    --icon-text: "\2304";
    --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.fa-chevron-up {
    --icon-text: "\2303";
    --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 15l6-6 6 6' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.fa-search {
    --icon-text: "\2315";
    --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5' fill='none' stroke='black' stroke-width='2.6'/%3E%3Cpath d='M15.5 15.5L21 21' fill='none' stroke='black' stroke-width='2.8' stroke-linecap='round'/%3E%3C/svg%3E");
}

.fa-phone-alt {
    --icon-text: "\260E";
    --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 3l4 4-2.2 2.2c1.2 2.4 3.1 4.3 5.5 5.5L15.5 12l4.5 4.5-2.2 3.5c-.5.8-1.5 1.2-2.4.9C9.4 19.1 4.9 14.6 3.1 8.6c-.3-.9.1-1.9.9-2.4L6 3z' fill='black'/%3E%3C/svg%3E");
}

.fa-vk {
    --icon-text: "VK";
    --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='2 7 15.5 8.7'%3E%3Cpath fill='black' d='M2.8 7.1h3.1c.1 2.2 1 4.1 2.2 5.3V7.1h2.9v3c1.1-.1 2.3-1.8 2.7-3h3.1c-.5 1.8-1.8 3.4-3.1 4 1.5.5 3 2 3.6 4.4H14c-.5-1.4-1.6-2.6-2.9-2.7v2.7h-.4c-5.4 0-8.4-3.7-8.6-8.4h.7z'/%3E%3C/svg%3E");
}

.fa-check-circle {
    --icon-text: "\2713";
    --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='2.3'/%3E%3Cpath d='M7.5 12.2l3 3 6-7' fill='none' stroke='black' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.fa-check {
    --icon-text: "\2713";
    --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.fa-microscope {
    --icon-text: "\25CF";
    --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 3l6 3-2 4-6-3 2-4zM11 9l-3 6M5 21h14M8 18h8M15 10c2.8 1.1 4 3 4 6' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.fa-hand-holding-medical {
    --icon-text: "\271A";
    --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 14h5l3 3h5c1.8 0 3.5-1 4.4-2.6L21 13' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M8 14l4-4h3c1.2 0 2 .8 2 2s-.8 2-2 2h-3' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M12 3v6M9 6h6' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E");
}

.fa-heart {
    --icon-text: "\2665";
    --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-8-5.1-9.5-10.4C1.4 6.6 4 3 7.7 3c2 0 3.3 1 4.3 2.4C13 4 14.3 3 16.3 3c3.7 0 6.3 3.6 5.2 7.6C20 15.9 12 21 12 21z' fill='black'/%3E%3C/svg%3E");
}

.fa-tint {
    --icon-text: "\25CF";
    --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2s7 7.2 7 12.2A7 7 0 1 1 5 14.2C5 9.2 12 2 12 2z' fill='black'/%3E%3C/svg%3E");
}

.fa-shield-virus {
    --icon-text: "\25C6";
    --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l8 3v6c0 5.1-3.2 8.9-8 11-4.8-2.1-8-5.9-8-11V5l8-3z' fill='none' stroke='black' stroke-width='2.2' stroke-linejoin='round'/%3E%3Ccircle cx='12' cy='12' r='2.5' fill='black'/%3E%3Cpath d='M12 7v2M12 15v2M7 12h2M15 12h2M8.5 8.5l1.4 1.4M14.1 14.1l1.4 1.4M15.5 8.5l-1.4 1.4M9.9 14.1l-1.4 1.4' stroke='black' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
}

.fa-graduation-cap,
.fa-user-graduate {
    --icon-text: "\25B2";
    --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 8l10-5 10 5-10 5L2 8zM6 11v4c2.9 2 9.1 2 12 0v-4' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M20 9v6' stroke='black' stroke-width='2.1' stroke-linecap='round'/%3E%3C/svg%3E");
}

.fa-award {
    --icon-text: "\2605";
    --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='8' r='5' fill='none' stroke='black' stroke-width='2.2'/%3E%3Cpath d='M8.5 12l-2 8 5.5-3 5.5 3-2-8' fill='none' stroke='black' stroke-width='2.2' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.fa-brain {
    --icon-text: "\25CF";
    --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 4a4 4 0 0 0-4 4 4 4 0 0 0-1 7.5A4.5 4.5 0 0 0 10 20V4zm6 0a4 4 0 0 1 4 4 4 4 0 0 1 1 7.5A4.5 4.5 0 0 1 14 20V4zM7 11h3M14 11h3M8 15h2M14 15h2' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.fa-user {
    --icon-text: "\25CF";
    --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='8' r='4' fill='black'/%3E%3Cpath d='M4 21c1.3-4 4-6 8-6s6.7 2 8 6H4z' fill='black'/%3E%3C/svg%3E");
}

.fa-map-marker-alt {
    --icon-text: "\25CF";
    --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22s7-6.2 7-12A7 7 0 1 0 5 10c0 5.8 7 12 7 12z' fill='black'/%3E%3Ccircle cx='12' cy='10' r='2.5' fill='white'/%3E%3C/svg%3E");
}

.fa-clock {
    --icon-text: "\25CB";
    --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='2.4'/%3E%3Cpath d='M12 7v5l3.5 2' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.fa-envelope {
    --icon-text: "\2709";
    --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='14' rx='2' fill='none' stroke='black' stroke-width='2.2'/%3E%3Cpath d='M4 7l8 6 8-6' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.fa-globe {
    --icon-text: "\25CB";
    --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='2.1'/%3E%3Cpath d='M3 12h18M12 3c2.5 2.5 3.5 5.5 3.5 9s-1 6.5-3.5 9M12 3c-2.5 2.5-3.5 5.5-3.5 9s1 6.5 3.5 9' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round'/%3E%3C/svg%3E");
}

.fa-paper-plane {
    --icon-text: "\25B6";
    --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 11l18-8-6.5 18-3.5-7-8-3zM11 14l10-11' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.fa-spinner {
    --icon-text: "\25CC";
    --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3a9 9 0 1 0 9 9' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");
}

.fa-spin::before {
    animation: coralla-icon-spin 0.9s linear infinite;
}

@keyframes coralla-icon-spin {
    to {
        transform: rotate(360deg);
    }
}
