/*!
 *    FileName:  index.css
 *      Author:  Johann Olivares
 *        Date:  09/29/20
 *
 * Description: CSS Styles for my protfolio website
 *				 
 * Table od Contents
 * 1.0 General Syles
 * 2.0 Navigation Bar Styles
 * 3.0 
 * 4.0
 * 5.0
 */
 
/*1.0 General format styles*/
* {
    box-sizing: border-box;
    padding: 0;
	margin: 0;
}
html, body {
	height: auto;
	width: auto;
	scroll-behavior: smooth;
}
h1, h2, h3, p, a, li ,span, label, input, textarea, ::placeholder {
	/*font-family: 'Montserrat', sans-serif;*/
	font-family: 'Lato', sans-serif;
    font-family: 'Poppins', sans-serif;
	color: inherit;
	padding: 0px;
	margin: 0px;
}
h1 {
    font-size: 4.5rem;
    line-height: 5rem;
}
h2 {
    font-size: 2.5rem;
}
h5 {
    font-weight: 600;
    line-height: 1.9rem;
}
p {
    font-size: 1rem;
    line-height: 1.8rem;
}
a {
    text-decoration: none;
}
ul {
    list-style-type: none;
}
label, input, textarea {
	display: block;
	width: 100%;
}
label {
    font-weight: 600;
}
input, textarea {
	color: #000;
	border: 1px solid black;
	border-radius: 10px;
	padding: 15px 10px;
}
.cta, .cta_alt {
	list-style-type: none;
    text-decoration: none;
    text-align: center;
    color: white;
    background-color: #c30002;
    font-size: 1.2em;
    font-weight: 600 !important;
    border-radius: 10px;
    border: 2px solid #c30002;
    padding: 10px 30px;
    transition: 0.3s;
}
.cta:hover {
	background: #ff5c5f;
}
.cta_alt {
    background: #000;
    border: 2px solid #fff;
    color: #fff;
}
.cta-2 {
	font-weight: 500;
	font-size: 1.2em;
}
.cta-2 i {
    font-size: 15px;
    margin-left: 8px;
}
@media(max-width: 767px) {
    .cta, .cta_alt {
        padding: 10px 15px;
    }
}
.main_header {
    font-size: 50px;
    margin-bottom: 25px;
    line-height: 1.3;
}
.sub_header {
    font-size: 45px;
    margin-bottom: 25px;
}
.maxed_text {
    max-width: 700px;
    margin: auto;
    margin-bottom: 35px;
}

.container {
    max-width: 1400px;
    margin: auto;
    padding: 100px 25px;
}
/*End of general format styles*/


/*Hero Styles*/
#cover {
	background-image: url('../imgs/background2.webp');
	background-repeat: no-repeat;
	background-size: cover;
	box-shadow: inset 0 0 0 2000px rgba(0, 0, 0, 0.75);
	display: flex;
	align-items: center;
	width: auto;
	height: 100vh;
	padding: 25px;
}
#hero_socials {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 25px;
    margin: 50px 0;
}
#hero_socials i {
    font-size: 25px;
}
#hero {
    color: #fff;
	display: grid;
	max-width: 1200px;
	text-align: center;
	padding: 0;
	margin: 0 auto;
}
#hero span {
	font-size: 1.3rem;
	line-height: 0px;
}
#hero h1 {
	margin-top: 10px;
	margin-bottom: 25px;
}
#hero h2 {
	font-size: 1.8rem;
	color: #fff; 
}
#hero p {
	max-width: 600px;
	margin: 30px auto 50px auto;
	font-size: 1.1rem;
    line-height: 1.6rem;
} 

.project_img {
    border-radius: 5px;
    width: 100%;
}
#verticle_slider {
    display: flex;
    flex-direction: column;
    gap: 10px;
    text-align: center;
	margin:  auto;
	padding: 0px;
	padding-right: 15px;
	height: 600px;
	overflow-y: auto;
	overflow-x: hidden;
}
/* width */
#verticle_slider::-webkit-scrollbar {
   width: 10px;
}  
/* Handle */
#verticle_slider::-webkit-scrollbar-thumb {
    background: #fff;
    border-radius: 500px;
}
/*End of Greeting Styles*/


/*Skills & Experience Styles*/
.lang-wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
	background: #fff;
	color: #000;
	text-align: left;
	gap: 100px;
}
.lang-wrapper h2, .lang-wrapper p {
    color: #000;
}
.lang-wrapper h2 {
    line-height: 1.1;
}
.lang-wrapper h2 span {
    color: #5e5e5e;
    font-weight: 500;
    font-size: 15px;
}
.lang-wrapper p {
    /*max-width: 700px;*/
    /*margin: auto;*/
    margin-bottom: 50px;
}
.lang-list {
    display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 35px;
	padding: 0;
    align-content: center;
    justify-content: center;
    max-width: 800px;
    margin: auto;
}
.lang-list img {
	height: 85px;
	width: auto;
}
.lang-list li:nth-child(5) > img {
    width: 105px;
	object-fit: contain;
}
/*End of Skills & Experience Styles*/


/*About*/
#about {
	display: block;
	text-align: center;
}
.skill-list {
	display: grid !important;
	grid-template-columns: repeat(3, auto);
	column-gap: 25px;
	grid-row-gap: 25px;
	text-align: left;
	max-width: 1200px;
	margin: auto;
	margin-top: 50px;
}
.skill-list li {
    background: #fff;
	padding: 50px 25px;
	border-radius: 5px;
	box-shadow: 0px 0px 10px 5px #ccc;
	border-bottom: 5px solid teal;
}
.skill-list li div {
    align-items: top;
    display: flex;
    flex-direction: row;
    gap: 25px;
    margin-bottom: 25px;
}
.skill-list img {
	height: 55px;
	margin-top: 5px;
}
.skill-list h3 {
    color: #000;
	font-size: 1.6rem;
	margin: 0px;
}
/*End of About*/


/*Project Grid Styles*/
#portfolio {
	text-align: center;
}
.main_project {
    align-items: center;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 50px;
    text-align: left;
    padding: 75px 0;
}
.main_project p  {
    color: #000 !important;
    margin-bottom: 10px;
}
.main_project .cta-2 {
    display: block;
    margin-bottom: 10px;
}
.grid-container {
   max-width: 1200px;
   margin: auto;
   padding: 0px 0px 100px 0px;
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   grid-gap: 25px;
}
.grid-item {    
    text-align: center;
    margin: 0;
}
.grid-item img {
    border-radius: 10px;
    box-shadow: 0px 0px 20px 0px #ccc;
}
/*Project Grid Styles*/


/* Contact Form */
#contact {
    background: #fff;
}
#contact > div {
    display: grid;
	grid-template-columns: 1fr 1fr;
	grid-column-gap: 100px;
	padding: 50px 25px 25px 25px;
}
.contact_details {
	text-align: left;
}
.contact_details ul {
    display: flex;
    flex-direction: column;
	list-style: none;
	gap: 10px;
	font-size: 20px;
	font-weight: 600;
	padding: 0px;
	margin: 0px;
	margin-top: 50px;
}
.email {
    font-size: 28px;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 10px;
    margin-bottom: 25px;
}
.contact_details i {
	padding-right: 15px;
}
.contact-form {
    display: flex;
    flex-direction: column;
    gap: 15px;
    justify-content: center;
}
/* End of Contact Form */

/* Footer */
#footer .container {
    padding-bottom: 25px;
}
#footer p {
    font-size: 13px;
    text-align: center;
}
/* End of Footer */

/* Resume */
#resume {
	height: 100%;
	margin: auto;
}
#resumePDF embed {
	margin: 100px auto;
    width: 50%;
    padding: 10px;
}
/* End of Resume*/



/****************************Media Queries*************************************/
/*Tablet Styles*/
@media (max-width: 1024px) {
    
    /*Responsive Nav*/
    #nav {
        display: none;
    }
	.menu_icon {
        display: block !important;
        position: relative;
        z-index: 100;
    }
    .menu_icon i {
        font-size: 25px;
    }
	.responsive #nav {
        background: #000;
        display: flex;
        flex-direction: column;
        gap: 35px ;
        align-items: center;
        position: fixed;
        left: 0px;
        top: 0px;
        z-index: 10;
        width: 100vw;
        height: 100vh;
    }
    #nav a.link {
		display: none;
	}
    .responsive #nav a.link {
		display: block;
	}
	/*End of Responsive Nav*/
	.grid-container {
	    padding: 0px 25px;
	}
	.skill-list {
        display: grid !important;
        grid-template-columns: repeat(2, auto);
	}
}
/******************************************************************************/
/*Mobile Styles*/
@media (max-width: 767px) {
    h2 {
        font-size: 2.5em !important;
    }
    
     #header_wrap {
        margin-top: -65px;
        padding: 15px 25px !important;
    }
    
    
    #hero span {
    	font-size: 1.2rem;
    }
    #hero h1 {
    	font-size: 4rem;
    	line-height: 4rem;
    }
    #hero h2 {
    	font-size: 1.5rem !important;
    	color: #fff; 
    }
    #hero p {
    	margin: 50px 0px;
    	font-size: 1rem;
    	line-height: 1.5rem;
    } 
    #home-btn:link{
    	font-size: 1.1em;
    	font-weight: 600;
    }
    #see-work-btn {
    	text-decoration: none;
    	font-size: 1.1em;
    	font-weight: 400;
    }
    #home-btn:hover {
    	background: #ff5c5f;
    }
    
    
    .lang-wrapper {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
    	padding: 15px 25px;
    }
    .lang-list img {
    	height: 70px;
    }
    .lang-list li:nth-child(5) > img {
        width: 100px;
    } 
    
    

    .skill-list {
    	grid-template-columns: repeat(1, auto);
    	column-gap: 10px;
    	/*grid-row-gap: 15px;*/
    	padding: 0px;
    }
    .skill-list p {
    	font-size: .9rem;
    }
    
    
    .main_project {
        /*grid-template-columns: 100%;*/
        /*gap: 25px;*/
        display: flex;
        flex-direction: column-reverse;
        gap: 100px;
    }
    .grid-container {
       grid-template-columns: repeat(1, 1fr);
       grid-gap: 25px;
       padding: 25px;
       padding-bottom: 50px;
    }
    .contact_details {
        margin-bottom: 35px;
    }
    #contact > div {
        grid-template-columns: 100%;     
    }
    
    #footer p {
        font-size: 11px;
    }
}
/*End of Media Queries*/