/*
# -------------------------------------------------------------------------------------------------
#
# Name: mainstyle.css
# Version: 0.5
#
# Summary: Recriando a página inicial do Instagram usando Flex Container.
#          O Flex Container é a tag que envolve os itens flex, ao indicar display: flex,
#          essa tag passa a ser um Flex Container.
#
# Author: Alexsander Lopes Camargos
# Author-email: alcamargos@vivaldi.net
#
# License: MIT
#
# -------------------------------------------------------------------------------------------------
*/

@import url('https://fonts.cdnfonts.com/css/caros-soft?styles=51649,51653,51651,51650');

/* *************** BASE STYLES *************** */
:root {
    /* colors */
    --text-color: rgba(0, 0, 0, 0.87);
    --primary: #0d509b;
    --primaryLight: #5dacfc;
    --secondary: #f8b249;
    --secondaryLight: #ffaa25;
    --darkBlue: #024c9c;
    --alternativeBlue: #004178;
    --lightBlue: #cbddfe;
    --green: #4faf98;
    --grayLight: #d3d3d3;
    --lightGreen: #a3d2b1;
    --white: #fff;
    --whiteLight: #ddd;
    --offWhite: #f1efe3;
    --beige: #ede1c2;
    --gray: silver;
    --danger: #fe6240;

    --background-color: #1d252c;
    --title-color: var(--alternativeBlue);
    --focus-text-color: var(--white);

    /* fonts */
    --font: 'Caros Soft Regular', trebuc, 'Trebuchet MS', 'Lucida Sans Unicode',
        'Lucida Grande', 'Lucida Sans', Arial, sans-serif;

    --font-big-size: 2rem;
    --font-medium-size: 1.5rem;
    --font-small-size: 1rem;
}

body {
    font-family: var(--font);
    color: var(--text-color);
    background: radial-gradient(
        50% 50% at 33% 43%,
        var(--white) 44.27%,
        var(--offWhite) 100%
    );
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font);
    font-weight: 700;
}

h1 {
    font-size: var(--font-big-size);
}

h2 {
    font-size: var(--font-medium-size);
}

h3 {
    font-size: var(--font-small-size);
}

.text-blue {
    color: var(--darkBlue);
}

.title {
    color: var(--title-color);
    text-transform: uppercase;
    padding-bottom: 10px;
    border-bottom: 4px solid var(--green);
    font-weight: 700;
}

.button {
    background-color: var(--darkBlue);
    border: none;
    padding: 0.75rem 1.25rem;
    color: rgb(255, 255, 255);
    text-transform: uppercase;
    font-family: 'Caros Soft Bold';
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
    border-radius: 3px;
}

.button:hover {
    background-color: var(--alternativeBlue);
    color: var(--whiteLight);
}

.button > a {
    color: var(--white);
    text-decoration: none;
}

/* Styling for this page is organized from top to bottom of what is shown on the page. */

/* *************** HEADER STYLES *************** */
#header {
    background-color: transparent;
    color: var(--alternativeBlue);
    padding: 2.5rem;
    margin: 0 auto;
    max-width: 1440px;
}

#header .header-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    align-content: center;
}

#header .header-content #menu {
    display: flex;
}

#header .header-content img {
    height: 100px;
    padding: 10px 0;
}

#header .header-content #menu ol {
    display: flex;
    gap: 50px;
    list-style: none;
}

#header .header-content #menu ol li {
    text-transform: uppercase;
}

#header .header-content #menu ol li a,
#header .header-content #menu ol li a:visited {
    text-decoration: none;
    padding: 0px 0.6rem;
    font-size: 1.15rem;
    color: var(--primary);
    transition: 0.5s;
}

#header .header-content #menu ol li a:hover {
    color: var(--title-color);
    border-bottom: 3px solid var(--title-color);
}

/* *************** FULL PAGE WRAPPER STYLES *************** */
#wrapper {
    position: relative;
    margin: 4rem auto;
    max-width: 1440px;
    min-width: 256px;
    padding: 0 50px;
    zoom: 1;
}

/* *************** SECTION ABOUT STYLES *************** */
#main #about {
    display: flex;
    flex-direction: column;
    padding-bottom: 50px;
}

#main #about h1,
h2 {
    font-weight: 400;
}

#main #about .about-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    align-content: center;
}

#main #about .hello-content {
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    align-content: center;
}

#main #about .hello-content img {
    height: 330px;
}

#main #about .about-content .frontend-definition p {
    font-size: 16px;
    line-height: 24px;
}

/* *************** SECTION PROJECTS STYLES *************** */
#main .all-projects {
    margin: 2rem;
    text-align: center;
}

#main .all-projects a {
    text-decoration: none;
}

/* *************** SECTION CONTACTS STYLES *************** */
#main #contacts {
    padding-bottom: 50px;
}

#main #contacts .contacts-content {
    display: flex;
    flex-direction: row;
    align-content: space-around;
    align-items: center;
    gap: 2rem;
}

#main #contacts .contacts-content .left {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

/* *************** SOCIAL MEDIA LINKS STYLES *************** */
#main .social-media {
    display: flex;
    justify-content: center;
    gap: 50px;
    height: auto;
}

#main .social-media-link {
    display: inline-block;
    width: 64px;
    height: 64px;
    padding-bottom: 1rem;
    background-size: 64px 64px;
    background-repeat: no-repeat;
    transition: 0.8s;
}

#main .social-media-link:hover {
    padding-bottom: 5px;
    border-bottom: 3.5px solid var(--alternativeBlue);
}

#main .social-media-link.github {
    background-image: url('/assets/img/social/github.svg');
}

#main .social-media-link.linkedin {
    background-image: url('/assets/img/social/linkedin.svg');
}

#main .social-media-link.twitter {
    background-image: url('/assets/img/social/twitter.svg');
}

#main .social-media-link.facebook {
    background-image: url('/assets/img/social/facebook.svg');
}

#main .social-media-link.instagram {
    background-image: url('/assets/img/social/instagram.svg');
}

/* *************** FOOTER STYLES *************** */
#footer {
    background-color: var(--darkBlue);
    color: var(--whiteLight);
    padding: 2.5rem;
    border-top: 10px solid rgb(79, 175, 152);
}

#footer .footer-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    align-content: center;
}

#footer .footer-content a {
    color: var(--whiteLight);
    text-decoration: none;
    transition: 0.5s;
}

#footer .footer-content a:hover {
    text-decoration: underline;
}

/* *************** MEDIA QUERIES *************** */
@media (max-width: 960px) {
    #main #about .hello {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        align-content: center;
    }

    #main #contacts .contacts-content {
        flex-direction: column;
    }
}

@media (max-width: 730px) {
    #header .header-content #menu ol {
        gap: 20px;
    }

    #main #about .about-content {
        flex-direction: column;
    }
}

@media (max-width: 650px) {
    :root {
        --font-big-size: 28px;
        --font-medium-size: 20px;
        --font-small-size: 14px;
    }

    #header .header-content #menu ol {
        flex-direction: column;
        align-items: flex-end;
    }

    #wrapper {
        min-width: auto;
    }

    #main .social-media {
        display: flex;
        align-items: center;
        gap: 20px;
    }

    #main .social-media-link {
        width: 48px;
        height: 48px;
        background-size: 48px 48px;
    }
}

@media (max-width: 450px) {
    :root {
        --font-big-size: 22px;
        --font-medium-size: 18px;
        --font-small-size: 14px;
    }

    #header .header-content img {
        height: 70px;
    }

    #header .header-content #menu ol {
        gap: 10px;
    }
}

@media (max-width: 400px) {
    #header .header-content img {
        height: 60px;
    }

    #header .header-content #menu ol {
        gap: 5px;
    }

    #main #about picture {
        display: none;
    }
}

@media (max-width: 400px) {
    #header .header-content img {
        height: 50px;
    }

    #main #contacts {
        height: auto;
    }

    #main .social-media-link {
        color: var(--text-color);
        font-size: var(--font-big-size);
        width: auto;
        height: auto;
        background-size: auto;
    }

    #main .social-media-link.github {
        background-image: none;
    }

    #main .social-media-link.github::before {
        content: 'GitHub';
    }

    #main .social-media-link.linkedin {
        background-image: none;
    }

    #main .social-media-link.linkedin::before {
        content: 'LinkedIn';
    }

    #main .social-media-link.twitter {
        background-image: none;
    }

    #main .social-media-link.twitter::before {
        content: 'Twitter';
    }

    #main .social-media-link.facebook {
        background-image: none;
    }

    #main .social-media-link.facebook::before {
        content: 'Facebook';
    }

    #main .social-media-link.instagram {
        background-image: none;
    }

    #main .social-media-link.instagram::before {
        content: 'Instagram';
    }
}
