:root {
    --red: #ff7d5c;
    --green: #1d4aac;
    --blue: #114B5F;
    --purple: #42033D;
    --dark: #1A090D;
  }

body {
    font-family: 'Roboto', sans-serif;
    color: var(--dark);
    background-color: rgba(245,245,245,.10);
    /* font-family: 'Six Caps', sans-serif; */
    }
h1, h2, p {
    margin-top: 0;
    margin-bottom: 1em;
}

h1 {
    color: var(--green);
    font-size: 4rem;
}

h1 span {
    font-family: 'Six Caps', sans-serif;
    color: var(--red);
    display: block;
    font-size: 5.5rem;
    letter-spacing: .2em;
    }

.welcome h1::before,
.welcome h1::after {
    content: "";
    display: block;
    margin:auto;
    width: 60%;
    height: 1px;
    background-color: #1A090D;
    
}
h1::before {
    margin: 0 auto 2em;
}
h1::after {
    margin: 2em auto 0;
}

/* Style the video: 100% width and height to cover the entire window */
#myVideo {
    position: relative;
    right: 0;
    bottom: 0;
    min-width: 100%;
    min-height: 100%;
  }
  
  /* Add some content at the bottom of the video/page */
  .content {
    position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    opacity: .3;
  }
  
  /* Style the button used to pause/play the video */
  #myBtn {
    width: 200px;
    font-size: 18px;
    padding: 10px;
    border: none;
    background: #000;
    color: #fff;
    cursor: pointer;
  }
  
  #myBtn:hover {
    background: #ddd;
    color: black;
  }

h2 {
    font-family: 'Six Caps', sans-serif;
    color: var(--dark);
    display: block;
    font-size: 2rem;
    letter-spacing: .3em;
    }

.welcome {
    position: relative;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    }

.welcome::before {
    content: "";
    background-image: url("../images/yousefeasterphoto.jpg");
    background-size: cover;
    background-position: center;
    position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    opacity: .3;
    }

.welcome h1 {
    font-size: 2.0rem;
    font-weight: 400;
}

.intro {
    display:grid;
    grid-template-columns: minmax(4em,1fr) minmax(auto, 30em) minmax(4em,1fr);
    color: white;
}
.intro h2 {
    color: var(--red);
    font-size: 4rem;
}
@media (min-width: 1200px) {
    .intro h2 {
        font-size: 2.5rem;
        color: var(--red);
    }
}
.intro h2::after {
    content: "";
    width: 60%;
    height: 1px;
    background: white;
    display: block;
    margin: 1em auto 0;
}
.intro-middle {
    background: #1A090D;
    padding: 2.5em;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-size: 2rem;
}
.intro-left img,
.intro-right img {
    object-fit: cover;
    min-height: 100%;
    min-width: 100%;
}
.about-me {
    display: grid;
    grid-template-columns: [port-start] minmax(6em,1fr) [name-start] minmax(6em,1fr) [img-end] 2fr [port-end];
    margin: 5em 4em 5em 4em;
}
.about-img {
    max-width: 80%;
    grid-column: port-start / img-end;
    grid-row: 1 / 2;
}

.divider{
    width: 300px;
    height: 3px;
    background-color: white;
    margin-bottom: 1em;
    border-radius: 50%;
    /* display: inline-block */
}

.about-title {
    margin: 2%;
    grid-column: name / port;
    grid-row: 1 / 2;
    align-self: flex-end;
    background-color: #cccccc
}
.about-subtitle,
.about-text {
    grid-column: port / port;
    font-size: 2rem;
}
.about-subtitle {
    margin: .5em 0;
    font-size: 3.5rem;
    text-decoration: underline;
    font-family: 'Sic caps';
}

.portfolio-item img {
    /* max-height: 20%; */
    /* width: 100vw; */
    /* height: auto; */
}

.portfolio {
    text-align: center;
    background-color: lightgrey;
    display: flex;
    flex-wrap: wrap;
    padding-top: 5em;
}
.portfolio h1 {
    color: var(--dark);
}
.portfolio-item {
    position: relative;
    overflow: hidden;
    flex: 1 1 10rem;
    }
img {
    display: block;
    width: 100%;
    }
.portfolio-item figcaption {
    position: absolute;
    top: 100%;
    bottom: 0px;
    left: 0px;
    right: 0px;
    padding: 1.3em;
    background: rgba(255,0,0,.95);
    color: white;
    text-align: left;
    display: flex;
    flex-direction: column;
    transition: top ease-in-out 250ms;
    }
.portfolio-item:hover figcaption,
.portfolio-item:focus figcaption {
    top: 0px;
    }

.portfolio-title {
    color:white;
    font-size: 2.5rem;
    margin-bottom: auto;
    }
.portfolio-link {
    color: white;
    font-weight: 700;
    font-size: 1.5rem;
    text-decoration: none;
    border-bottom: 3px solid white;
    align-self: flex-start;
}
@media (min-width: 800px) {
    .portfolio-title,
    .portfolio-link {
        font-size: 4rem;
        }
    }
@media (min-width: 800px) {
    .portfolio-desc {
        font-size: 2.5rem;
        }
    }

.contact {
    padding: 5em 0;
    background-color: white;
}
.contact h1 {
    text-align: center;
}
label {
    display: block;
    margin: 1em 5em 1em 1em;
    color: var(--dark)
}
input,
textarea {
    box-sizing: border-box;
    display: block;
    padding: 1em;
    width: 100%;
    background: rgba(128,128,128,.10);
    border: 1px solid lightgrey;
    font-size: 1.2rem;
}
footer {
    background-color: var(--dark);
    padding: 5em 0;
    text-align: center;
    color: white;
}
.social-icons {
    display: inline-flex;
    flex-direction: row;
    justify-content: center;
    align-content: space-between;
    margin-top: 3em;
    margin-bottom: 3em;
    margin-left: 20%;
    margin-right: auto;
}

.social-icon {
    width: 35%;
}
@media (min-width: 800px) {
    .social-icon {
        width: 25%;
    }
}
@media (min-width: 1200px) {
    .social-icon {
        width: 20%;
    }
}

.resume {
    color: blue;
    font-size: 2em;
    margin-top: 1em;
    margin-bottom: 2em;
    padding-bottom: 2em;
    text-decoration: none;
}

@media (min-width: 1200px) {
    .resume {
        font-size: 1.5em;
        /* color: var(--red); */
    }
}

/* hero video */
#hero {
    height:100vh;
    width:100%;
    background:red;
    display:flex;
    align-items:center;
    justify-content: center;
}



#hero::after {
width:100%;
height:100%;
content: '';
position:absolute;
z-index:10;
top:0;
left:0;
background:rgba(0,0,0,0.5)
}


#hero video {
width:100%;
height:100%;
position:absolute;
top:0;
left:0;
z-index:5;
object-fit:cover;
font-family:'object-fit: cover';
}


#hero .texture {
width:100%;
height:100%;
position:absolute;
top:0;
left:0;
z-index:15;
background:url('../texture.png');
}


#hero .caption {

position:relative;
z-index:20;
text-align:center;
color:#ffffff;
}



#hero .caption h1 {

text-transform: uppercase;
font-size:2em;
font-family: 'Oswald', sans-serif;
margin-bottom:0.5rem;
}

#hero .caption h2 {
font-weight:400;
font-size:1.5rem;
margin:0;
font-family: 'PT Sans', sans-serif;
}




@media screen and (min-width:768px)
{
#hero .caption h1 {
    font-size:2.5rem;
}

#hero .caption h2 {
    font-size:1.75rem;
}
}




@media screen and (min-width:992px)
{
#hero .caption h1 {
    font-size:3rem;
}

#hero .caption h2 {
    font-size:2rem;
}
}



@media screen and (min-width:1200px)
{
#hero .caption h1 {
    font-size:4rem;
}

#hero .caption h2 {
    font-size:2.5rem;
}
}

.card {
    background-color: white;
    border-radius: 0.25rem;
    box-shadow: 0 0.5em 1em -0.125em rgba(10, 10, 10, 0.1), 0 0px 0 1px rgba(10, 10, 10, 0.02);
    color: #4a4a4a;
    max-width: 100%;
    position: relative;
  }
  
  .card-header:first-child, .card-content:first-child, .card-footer:first-child {
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem;
  }
  
  .card-header:last-child, .card-content:last-child, .card-footer:last-child {
    border-bottom-left-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
  }
  
  .card-header {
    background-color: transparent;
    align-items: stretch;
    box-shadow: 0 0.125em 0.25em rgba(10, 10, 10, 0.1);
    display: flex;
  }
  
  .card-header-title {
    align-items: center;
    color: #363636;
    display: flex;
    flex-grow: 1;
    font-weight: 700;
    padding: 0.75rem 1rem;
  }
  
  .card-header-title.is-centered {
    justify-content: center;
  }
  
  .card-header-icon {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background: none;
    border: none;
    color: currentColor;
    font-family: inherit;
    font-size: 1em;
    margin: 0;
    padding: 0;
    align-items: center;
    cursor: pointer;
    display: flex;
    justify-content: center;
    padding: 0.75rem 1rem;
  }
  
  .card-image {
    display: block;
    position: relative;
  }
  
  .card-image:first-child img {
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem;
  }
  
  .card-image:last-child img {
    border-bottom-left-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
  }
  
  .card-content {
    background-color: transparent;
    padding: 1.5rem;
  }
  
  .card-footer {
    background-color: transparent;
    border-top: 1px solid #ededed;
    align-items: stretch;
    display: flex;
  }
  
  .card-footer-item {
    align-items: center;
    display: flex;
    flex-basis: 0;
    flex-grow: 1;
    flex-shrink: 0;
    justify-content: center;
    padding: 0.75rem;
  }
  
  .card-footer-item:not(:last-child) {
    border-right: 1px solid #ededed;
  }
  
  .card .media:not(:last-child) {
    margin-bottom: 1.5rem;
  }