@import url("./antipasto-font.css");

* {
    margin: 0;
}

/* Below are the breakpoints for smartphone screens*/

@media only screen and (min-width: 320px) and (max-width: 432px) {


    /* NAVIGATION MENU CODE START */

    .navBar {
        background-color: #526cff;
    }


    /* this puts the logo and hamburger menu in a row */
    .navRow {
        display: flex;
        justify-content: space-between;
        padding: 10% 5%;
        align-items: anchor-center;
    }

    /* this spaces out the three lines in the hamburger menu and organizes them into a column */
    .hamburgerMenu {
        display: flex;
        flex-direction: column;
        gap: 5px;

    }

    /* this gives each line in the hamburger menu a color, height, and width */
    #menuLine {
        background-color: white;
        width: 30px;
        height: 3px;
        border-radius: 10px;
    }


    /* this hides the nav bar links so when the onclick attribute is triggered when clicking the hamburger menu, the links will be appear */
    .navLinks {
        display: none;
    }

    .navLinks a {
        text-decoration: none;
        color: white;
        background-color: #526cff;
        font-family: "Anitpasto-DemiBold-trial", sans-serif;
    }

    /* this will be toggled through a click event for the hamburger menu. It shows the navigation links for mobile and smaller tablet screens*/
    .show {
        display: flex;
        flex-direction: column;
        align-items: center;
        list-style-type: none;
        font-size: 20px;
        row-gap: 10px;
        padding: 5% 0;
    }

    /* NAVIGATION MENU CODE END */


    /* this aligns all the text in the hero section */
    .hero-section {
        background-color: #526cff;
        text-align: center;
    }

    /* this sets the size of my profile photo in the hero section */
    #profilePic {
        height: 100%;
        width: 100%;
    }

    /* this class is for the text and buttons in the hero section */
    .intro {
        transform: translate(0, -40px);
        padding: 0 10%;
        display: grid;
        grid-auto-flow: row;
        row-gap: 20px;
        font-family: "Anitpasto-DemiBold-trial", sans-serif;
    }

    /* this styles the first header text */
    #hero-header {
        background-color: white;
        color: black;
        border: black solid thin;
        padding: 5%;
        border-radius: 34px;
        font-size: 26px;
        line-height: 1;
    }

    #hero-text {
        line-height: 2;
    }


    /* this spaces out the contact me button and portfolio button */
    .hero-buttons {
        display: flex;
        justify-content: space-evenly;
    }

    /* this sets all of the content from tech stack to testimonials inside of a grid */
    .skills-section {
        display: grid;
        grid-auto-flow: row;
        text-align: center;
        margin-top: 30%;
        row-gap: 40px;
    }


    /* this sets the padding for all the logos in the tech stack and design tools section */
    .logos img {
        width: 35%;
        padding: 5%;
    }



    /* this sets my footer, it's set in a grid to help space out my contact form, footer links, and the copyright tag */
    footer {
        display: grid;
        grid-auto-flow: row;
        gap: 60px;
    }

    /* this sets a margin for my contact form */
    .contact-form {
        margin-left: 10%;
        margin-right: 10%;
        margin-top: 15%;
        gap: 10px;
        font-size: 15px;
    }

    /* this is for the submit button at the bottom of the page */
    #submit {
        border-radius: 20px;
        padding: 10px 15px;
        border: none;
        margin: 5% 35%;
    }

    /* this sets an image size for the github and linkedin icons */
    .footer-logo {
        width: 15%;
        height: 75%;
    }

    /* this aligns all the footer links in the center */
    .footer-links {
        text-align: center;
        align-items: center;
        justify-items: center;
    }

    /* this sets a padding for each footer link */
    .footer-item {
        padding: 10px;
    }
}

@media (min-width: 320px) and (max-width: 425px) {


    .carousel-item img {
        width: 50%;
    }

    .caption-wrapper h2 {
        font-size: 25px;
    }
}

@media (min-width: 425px) {
    .img-fluid {
        width: 50%;
    }
}

@media (min-width: 609px) {
    .img-fluid {
        width: 35%;
    }
}

/* Below are the breakpoints from mobile to tablet for the navigation menu*/

@media only screen and (min-width: 433px) and (max-width: 768px) {
    #websiteLogo {
        font-size: 25px;
    }

    /* NAVIGATION MENU CODE START */

    /* this gives the entire nav section a blue background color with white text */

    /* this puts the logo and hamburger menu in a row */
    .navRow {
        display: flex;
        justify-content: space-between;
        padding: 10%;
        margin: auto;
    }

    /* this spaces out the three lines in the hamburger menu and organizes them into a column */
    .hamburgerMenu {
        display: flex;
        flex-direction: column;
        gap: 5px;
    }

    .navBar,
    .navRow a {
        background-color: #526cff;
    }

    .hero-section {
        background-image: linear-gradient(#526cff, blue);
    }

    /* this gives each line in the hamburger menu a color, height, and width */
    #menuLine {
        background-color: white;
        width: 40px;
        height: 5px;
        border-radius: 10px;
    }

    /* this hides the nav bar links so when the onclick attribute is triggered when clicking the hamburger menu, the links will be appear */
    .navLinks {
        display: none;
    }

    /* when a nav link is pressed, text color will turn black with a white background */
    .navLinks,
    .navLinks a {
        text-decoration: none;
        color: white;
        background-color: #526cff;
        font-family: "Anitpasto-DemiBold-trial", sans-serif;
        font-size: 20px;
    }

    /* this will be toggled through a click event for the hamburger menu. It shows the navigation links for mobile and tablet screens*/
    .show {
        display: flex;
        flex-direction: column;
        align-items: center;
        list-style-type: none;
        font-size: 20px;
        row-gap: 10px;
        padding: 5% 0;
    }

    /* NAVIGATION MENU CODE END */


    .hero-section {
        display: flex;
        flex-direction: row-reverse;
        padding: 10% 8%;
        column-gap: 20px;
        align-items: center;
    }

    /* this sets the size of my profile photo in the hero section */
    #profilePic {
        height: 45%;
        width: 45%;
        border-radius: 50px;
    }

    /* this styles the hero text and buttons together */
    .intro {
        display: grid;
        grid-auto-flow: row;
        height: 10%;
        row-gap: 20px;
    }

    #hero-header {
        font-family: "Anitpasto-Bold-trial", sans-serif;
        font-size: 25px;
        line-height: 1;
    }

    #hero-text {
        font-family: "Anitpasto-Medium-trial", sans-serif;
        font-size: 18px;
        line-height: 1;
    }

    /* this spaces out the contact me button and portfolio button */
    .hero-buttons {
        display: grid;
        grid-auto-flow: column;
        gap: 20px;
    }


    /* this sets all of the content from tech stack to testimonials inside of a grid */
    .skills-section {
        display: grid;
        grid-auto-flow: row;
        text-align: center;
        margin-top: 10%;
        row-gap: 50px;
    }

    /* this sets the padding and sizes for all the logos in the tech stack and design tools section */
    .logos img {
        padding: 5%;
    }

    #portfolioTitle {
        margin-bottom: 10%;
    }

    .caption-wrapper h2 {
        font-family: "Anitpasto-Medium-trial", sans-serif;
    }

    /* this sets my footer, it's set in a grid to help space out my contact form, footer links, and the copyright tag */
    footer {
        display: grid;
        grid-auto-flow: row;
        gap: 100px;
    }

    /* this sets a margin for my contact form */
    .contact-form {
        margin-left: 20%;
        margin-right: 20%;
        margin-top: 15%;
        gap: 20px;
    }

    /* this is for the submit button at the bottom of the page */
    #submit {
        border-radius: 20px;
        padding: 10px 15px;
        border: none;
        margin: 5% 35%;
    }

    /* gives the button a gray color when pressed */
    #submit:active {
        background-color: rgb(185, 185, 185);
    }

    /* this aligns all the footer links in the center */
    .footer-links {
        text-align: center;
        align-items: center;
        justify-items: center;
    }

    /* this sets a padding for each footer link */
    .footer-item {
        padding: 10px;
    }
}

/* this puts hero buttons in a row */
@media only screen and (min-width: 433px) and (max-width: 525px) {
    .hero-buttons {
        display: none;
    }
}


/* Below is the breakpoint for tablet and desktop for the entire design of the website */
@media only screen and (min-width: 769px) {

    #websiteLogo {
        font-size: 35px;
    }

    .hero-section {
        background-image: linear-gradient(#526cff, blue);
    }

    #profilePic {
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.4);
    }

    .navBar {
        display: flex;
        flex-direction: row;
        position: sticky;
        align-items: center;
        justify-content: space-between;
        top: 0;
        z-index: 1000;
        background-color: #526cff;
        padding: 1rem 2rem;
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
        /* Optional: soft depth */
    }

    .navLinks {
        list-style-type: none;
        display: flex;
        flex-direction: row;
    }

    .navLinks li a {
        text-decoration: none;
        color: white;
        padding: 0.5rem 1rem;
        transition: all 0.3s ease;
    }


    .navLinks li a:hover {
        border-bottom: 2px solid black;
    }

    .navLinks li a:active,
    .navLinks li a.active {
        font-weight: bold;
        color: #00E6AF;
        border-bottom: 2px solid #00E6AF;
    }


    .hero-section {
        display: flex;
        flex-direction: row-reverse;
        padding: 10% 20%;
        column-gap: 60px;
        align-items: center;
    }

    /* this sets the size of my profile photo in the hero section */
    #profilePic {
        height: 40%;
        width: 40%;
        border-radius: 50px;
    }

    /* this styles the hero text and buttons together */
    .intro {
        display: grid;
        grid-auto-flow: row;
        height: 20%;
        row-gap: 20px;
    }

    #hero-header {
        font-family: "Anitpasto-Bold-trial", sans-serif;
        font-size: 30px;
        line-height: 1;
    }

    #hero-text {
        font-family: "Anitpasto-Medium-trial", sans-serif;
        font-size: 20px;
        line-height: 1;
    }

    /* this sets all of the content from tech stack to testimonials inside of a grid */
    .skills-section {
        display: grid;
        grid-auto-flow: row;
        text-align: center;
        margin-top: 10%;
        row-gap: 150px;
    }

    .midSection {
        display: flex;
        flex-direction: row;
        font-family: "Anitpasto-ExtraBold-trial", sans-serif;
        justify-content: space-around;


        #techStack,
        #designTools {
            border-radius: 5px;
            border: black solid thin;
            padding: 3% 1%;
            margin: auto;
        }

        #techStack,
        #designTools {
            width: 30%;
        }


        #designTools img {
            width: 15vh;
            height: 15vh;
            padding: 4%;
        }

        #techStack img {
            width: 12vh;
            height: 12vh;
            padding: 1%;
        }
    }

    /* this sets my footer, it's set in a grid to help space out my contact form, footer links, and the copyright tag */
    footer {
        display: grid;
        grid-auto-flow: row;
        gap: 100px;
    }

    /* this sets a margin for my contact form */
    .contact-form {
        margin-left: 20%;
        margin-right: 20%;
        margin-top: 5%;
        gap: 20px;
    }



    /* this styles the submit button at the bottom of the page */
    #submit {
        border-radius: 20px;
        padding: 10px 15px;
        border: none;
        margin: 5% 35%;

    }

    /* gives the button a gray color when the cursor hovers over the button */
    #submit:hover {
        background-color: rgb(185, 185, 185);
    }

    /* gives the button a white color when the button is clicked */
    #submit:active {
        background-color: rgb(255, 255, 255);
    }


    /* this aligns all the footer links in the center */
    .footer-links {
        text-align: center;
        align-items: center;
        justify-items: center;
    }

    /* this sets a padding for each footer link */
    .footer-item {
        padding: 10px;
    }
}


@media (max-width: 1023.98px) {
    .carousel-desc {
        display: none;
    }
}


@media (min-width: 1024px) {

    #portfolioTitle {
        margin-bottom: 10%;
    }

    .carousel-desc {
        font-size: 1rem;
        opacity: 0.9;
        display: block;
    }

    .caption-wrapper {
        margin-left: 10%;
        text-align: left !important;
        align-items: flex-start;
    }

    .caption-wrapper h4 {
        font-family: "Anitpasto-Bold-trial", sans-serif;
    }

    .img-fluid {
        width: 25%;
    }
}


/* below are the global stylings for my hero buttons, contact form, and copyright tag on this page */

/* sets the background color to a darker shade of white. Helps to see carousel buttons  */

ul {
    margin-bottom: 0;
}

main,
footer {
    background-color: rgb(203, 202, 202);
}

#websiteLogo a {
    font-family: "Anitpasto-Bold-trial", sans-serif;
}

/* when a nav link is clicked, it will have a white background */
.navLinks a:active {
    background-color: white;
}


.navBar,
.navRow a {
    color: white;
    text-decoration: none;
    font-family: "Antipasto-Regular-trial",
        sans-serif;
}

.hero-buttons a {
    text-decoration: none;
}

.hero-section {
    color: white;
}

.redirect-buttons {
    border-radius: 20px;
    padding: 10px 15px;
    border: none;
    cursor: pointer;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.4);
}

#contact-button {
    background-color: #00E6AF;
    font-family: "Anitpasto-DemiBold-trial", sans-serif;
    font-size: 16px;

}

#contact-button a {
    color: black;
}

#portfolio-button {
    background-color: black;
    color: white;
    font-family: "Anitpasto-ExtraBold-trial", sans-serif;
    font-size: 16px;
}

#portfolio-button a {
    color: white;
}

.skills-section {
    font-family: "Anitpasto-ExtraBold-trial", sans-serif;
}

.caption-wrapper {
    font-family: "Anitpasto-ExtraBold-trial", sans-serif;
    max-width: 500px;
}

.carousel-desc {
    font-family: "Anitpasto-Medium-trial", sans-serif;
}

.class slide {
    width: 10%;
}

.carousel-item a {
    text-decoration: none;
    color: black;
}

.img-fluid {
    border-radius: 30px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.4);
}

.contact-form {
    display: flex;
    flex-direction: column;
}


.contact-form input,
.contact-form textarea {
    border: none;
    border-radius: 10px;
    padding-left: 10px;
    font-family: sans-serif;
}


#submit {
    cursor: pointer;
}

.footer-links {
    display: flex;
    justify-content: center;
    margin-top: 3%;
}

.footer-links a {
    text-decoration: none;
}

.legal-links {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 10px;
    font-family: sans-serif;
}

.line {
    background-color: white;
    width: 1px;
    height: 38px;
    margin: 0 1%;
}

.legal-links a {
    text-decoration: none;
    color: white;
    padding: 0.5rem 1rem;
    transition: all 0.3s ease;
}


.legal-links a.active {
    font-weight: bold;
    color: #00E6AF;
    border-bottom: 2px solid #00E6AF;
}

.legal-links a:active {
    font-weight: bold;
    color: #00E6AF;
    border-bottom: 2px solid #00E6AF;
    background-color: white;
}

.legal-links a:hover {
    border-bottom: 2px solid black;
}

footer {
    background-color: #526cff;
    color: white;
    text-align: center;
}

.error {
    color: red;
    font-size: 0.9em;
    margin-bottom: 0.5em;
    display: block;
    font-family: "Anitpasto-Bold-trial", sans-serif;
    text-align: start;
}