/***********************************
 * GENERAL STYLES                  *
 * rules and style for Portfolio   *
 * Version: 6                      *
 * By Abraham Aguirre              *
 ***********************************/
/* Portfolio Styles */

* {
    box-sizing: border-box;
}

/* Site Core Colors + Style*/
:root {
    --primary: rgb(12, 141, 44);
    --secondary:rgb(44, 44, 43);
    --tertiary: rgb(240,121,82)
    --dark: rgba(28, 29, 33, 1);
    --light: rgb(187, 186, 186);
}

body {
    margin: 0;
    padding: 0;
    font-family:'Montserrat', sans-serif;
    background-color: var(--light);
    line-height: 1.5;
}

h1, h2, h3, h4, h5, h6 {
    margin: 0;
}

p {
    margin: 0;
}

/* Header Items */
header {
    padding: 15px 6% 15px 0;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    background-color: var(--light);
    box-shadow: 0 5px 35px rgb(240,121,82);
}

header h1 {
    color: var(--tertiary);
    background-color: var(--light);
    padding: 5px 1% 5px 5%;
    margin: 0;
    font-size: 3vw;
    line-height: 1;
    font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif ;

}

header a:hover {
    color: var(--dark);
}

/* Navigational Items */
nav {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

nav a {
    text-decoration: none;
    padding: 5px 10px;
    color: var(--primary);
    margin-right: 10px;
    background-image: linear-gradient(270deg, var(--secondary) 0%, var(--secondary) 100%);
    background-repeat: no-repeat;
    background-size: 100% 0.2em;
    background-position: bottom;
    transition: all 0.1s ease-in;
    font-size: 1.4rem;
}

nav a:hover {
    background-size: 100% 100%;
    color: var(--light);
}

nav a:last-child {
    margin-right: 0;
}

main {
    margin-top: 20px;
    margin-bottom: 45px;
}

.light {
    color: var(--light);
}
/* Hero Content */
.hero-banner {
    background: rgb(68, 88, 120);
    background-image: url("../images/cloud.png"), linear-gradient(90deg, var(--secondary) 0%, var(--primary) 100%);
    background-size: cover;
    background-position: center;
    background-blend-mode: soft-light;
    min-height: 30vh;
    color: var(--light);
    padding: 2% 6%;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    text-align: right;
    padding-left: 10vw;
}

.hero-banner img {
    width: 200px;
    margin: 70px;
    border-radius: 10%;
    opacity: 0.9;
}

.hero-banner img:hover{
    opacity: 2;
}

.hero-banner div {
    flex: 0 0 90%;
}

.hero-banner h2 {
    
    color: var(--tertiary);
    margin: 0;
    padding: 5px 10px;
    font-size: 2.2rem;
    line-height: 1.2;
    display: inline;
}

/* Main Page Content */

.page-wrapper {
    max-width: 85%;
    margin-left: auto;
    margin-right: auto;
}

.page-section {
    margin: 25px 0;
    padding: 10px 0;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: space-between;
}

.page-section > h2 {
    flex: 0 0 20%;
    text-align: right;
    padding-right: 15px;
    border-right: 4px solid var(--primary);
    font-size: vw;
    line-height: 1.1;
}

.page-section > div {
    flex: 0 0 75%;
    text-align: justify;
}

.page-section p {
    margin-bottom: 20px;
    color: black;
}

/* Grid Portfolio Structure */
.grid-container {
    display: grid;
    column-gap: 10px;
    row-gap: 10px;
    grid-auto-flow: dense;
    grid-template-columns: repeat(16, 1fr);
    grid-auto-rows: minmax(150px, 1fr);
}

.grid-item {
    border: 5px solid var(--secondary);
    grid-column: span 6;
    color: var(--tertiary);
    min-height: 100px;
    display: flex;
    align-items: flex-end;
    padding: 0 0 10px 0;
    text-decoration: none;
    background-blend-mode: soft-light;
    background-size: 150%;
    transition: all 0.5s;
    font-size: 0.8rem;
}

/* Grid Portfolio - Feature First Child */
.grid-item:first-child {
    grid-column: span 6;
    grid-row: span 5;
}

.grid-item:hover {
    background-color: rgba(0, 0, 0, 0.3);
}

.grid-item div {
    background-color: var(--secondary);
    padding: 8px 5px;
}

.grid-item h3 {
    font-size: 1.4rem;
}

/* Images*/
.atomiktech {
    background-image: url("../images/atomik.png");
}

.horiseon {
    background-image: url("../images/horiseon.png");
}

.memory {
    background-image: url("../images/memory.png");
}

.geekohost {
    background-image: url("../images/geekohost.png");
}

.abraham {
    background-image: url("../images/personal.png"); 
}

.popcorn_time {
    background-image: url("../images/popcorntime.png"); 
}
.my_crypto {
    background-image: url("../images/mycrypto.png"); 
}
.eagle_fitness {
    background-image: url("../images/eaglefitness.png"); 
}

/* Contact Section */
.contact address {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: flex-start;
    height: 100%;
}

.contact address a {
    color: var(--tertiary);
    padding: 5px;
    text-decoration: none;
    font-size: 1.1rem;
    font-style: normal;
    background-image: linear-gradient(270deg, var(--primary) 0%, var(--primary) 100%);
    background-repeat: no-repeat;
    background-size: 100% 0.2em;
    background-position: bottom;
    transition: all 0.25s ease-in;
    margin: 0 0.2rem 0.1rem;
    display: inline-block;
}

.contact address a:hover {
    background-size: 100% 88%;
    color: var(--light);
}

/* Footer formatting */
footer  {
    font-size: 1.0em;
    text-align: center;
    vertical-align: bottom;
  }
  /* MEDIA QUERIES*/

/* Max Width 980px*/

@media screen and (max-width: 980px) {
    header {
        padding: 0 0 10px 0;
        justify-content: center;
        text-align: center;
    }

    header h1 {
        width: 100%;
        padding: 5px;
        margin-bottom: 10px;
        font-size: 10vw;
    }

    header nav {
        justify-content: center;
    }

    .page-section > h2,
    .page-section > div {
        flex: 0 0 100%;
    }

    .page-section > h2 {
        border-right: none;
        border-bottom: 4px solid var(--primary);
        margin-bottom: 20px;
        padding-bottom: 10px;
        text-align: left;
        font-size: 7vw;
    }

    .hero-banner {
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
        text-align: center;
        padding-left: 50px;
    }
}

/* Max Width 768px*/
@media screen and (max-width: 768px) {
    .grid-item,
    .grid-item:first-child {
        grid-column: 1 / -1;
    }

    .grid-container {
        grid-auto-rows: minmax(200px, 1fr);
    }

    .contact address {
        flex-direction: column;
        align-items: center;
    }
}