/* 
 * icons.css - Custom CSS-based icons to replace Font Awesome
 * Date: September 11, 2025
 */

/* Base Icon Style */
.icon {
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-right: 0.3em;
    position: relative;
    vertical-align: middle;
}

/* Bars (hamburger menu) */
.icon-bars {
    position: relative;
}
.icon-bars:before {
    content: "";
    position: absolute;
    top: 0.25em;
    left: 0;
    width: 1em;
    height: 0.125em;
    background-color: currentColor;
}
.icon-bars:after {
    content: "";
    position: absolute;
    top: 0.5em;
    left: 0;
    width: 1em;
    height: 0.125em;
    background-color: currentColor;
    box-shadow: 0 0.25em 0 0 currentColor;
}

/* Map Marker */
.icon-map-marker {
    background-color: transparent;
}
.icon-map-marker:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0.35em;
    width: 0.3em;
    height: 0.3em;
    background-color: currentColor;
    border-radius: 50%;
}
.icon-map-marker:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0.25em;
    width: 0.5em;
    height: 0.8em;
    background-color: currentColor;
    border-radius: 0.5em 0.5em 0 0;
}

/* Phone */
.icon-phone {
    border: 0.1em solid currentColor;
    border-radius: 0.1em;
    transform: rotate(90deg);
}
.icon-phone:before {
    content: "";
    position: absolute;
    width: 0.2em;
    height: 0.2em;
    border-radius: 50%;
    background-color: currentColor;
    top: 0.4em;
    left: 0.4em;
}

/* Envelope */
.icon-envelope {
    border: 0.1em solid currentColor;
    border-radius: 0.1em;
}
.icon-envelope:before {
    content: "";
    position: absolute;
    width: 0.8em;
    height: 0.4em;
    background: transparent;
    border-top: 0.1em solid currentColor;
    border-left: 0.1em solid currentColor;
    border-right: 0.1em solid currentColor;
    transform: rotate(-45deg) translate(0.05em, 0.1em);
}

/* Twitter */
.icon-twitter:before {
    content: "";
    position: absolute;
    width: 0.8em;
    height: 0.5em;
    background: transparent;
    border: 0.1em solid currentColor;
    border-bottom: none;
    border-radius: 0.5em 0.5em 0 0;
    top: 0.1em;
    left: 0.1em;
}
.icon-twitter:after {
    content: "";
    position: absolute;
    width: 0.3em;
    height: 0.4em;
    background: currentColor;
    top: 0.5em;
    left: 0.35em;
}

/* LinkedIn */
.icon-linkedin {
    border: 0.1em solid currentColor;
    border-radius: 0.1em;
}
.icon-linkedin:before {
    content: "in";
    position: absolute;
    font-size: 0.6em;
    font-weight: bold;
    top: 0.1em;
    left: 0.3em;
}

/* Google Scholar */
.icon-google-scholar:before {
    content: "G";
    position: absolute;
    font-size: 0.7em;
    font-weight: bold;
    top: 0.1em;
    left: 0.2em;
}
.icon-google-scholar:after {
    content: "";
    position: absolute;
    width: 0.6em;
    height: 0.2em;
    border-bottom: 0.1em solid currentColor;
    bottom: 0.2em;
    left: 0.2em;
}

/* ResearchGate */
.icon-researchgate:before {
    content: "R";
    position: absolute;
    font-size: 0.7em;
    font-weight: bold;
    top: 0.15em;
    left: 0.35em;
}
.icon-researchgate:after {
    content: "G";
    position: absolute;
    font-size: 0.5em;
    font-weight: bold;
    bottom: 0.05em;
    right: 0.15em;
}
