@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600&display=swap');

* { margin: 0; padding: 0; font-size: 14px; font-family: 'Montserrat'; }
ul { padding: 0; margin: 0; }
body { 
    background-color: #fff; color: '#111'; display: flex; 
    flex-direction: column; min-height: 100vh; max-width: 100vw;
}
hr { 
    color: #F44336; border-width: 4px; 
    width: 165px; margin: 0 auto; margin-bottom: 32px; 
}

header { min-height: 125px; background-color: white; margin-bottom: 32px;}
header .col-md-6 { display: flex;  align-items: center; }
header .col-md-6:nth-of-type(2n) { justify-content: end; }
header .logo { max-height: 85px; }
header nav { margin: 0; padding: 0; display: flex; align-items: center; justify-content: center; padding-right: 32px; }
header nav ul { 
    display: flex; 
    flex-grow: 1;
    flex-direction: row; 
    justify-content: end;
    align-items: baseline;
}
header nav ul li { 
    display: flex;
    min-height: 85px; 
    justify-content: end; 
    margin: 0 16px;
    align-items: center;
}
header nav ul li a { 
    color: #111;
    text-decoration: none;
    font-family: 'Montserrat';
    font-weight: 600;
    font-size: 1.2em;
}
header nav ul li a:hover { color: #F44336; }

/* Showcase */
.content { flex: 1; }
.content h1 { margin: 32px; }
.card {
    flex: 1;
    background-color: #343434;
    padding: 0;
    height: 345px;
    overflow: hidden;
    border: 0;
    border-radius: 0;
}
.card-banner { 
    height: auto;
    width: 100%;
    position: absolute;
    bottom: 0;
    padding: 16px;
    background-color: #00000095;
    color: white;
    overflow: hidden;
    transition: all 0.5s ease-in;
}
.card-banner p {
    display: none;
    transition: all 0.5s ease-in;
}
.showcase-title-wrapper {
    width: 100%;
    flex: 1;
}
#showcase-hero {
    max-width: 65%;
    display: block;
    margin: 0 auto;
}
#showcase-title {
    text-align: center;
}
.showcase-spacer {
    height: 24px;
}
.showcase-iterations-wrapper {
    padding: 32px 0;
    text-align: center;
}
#showcase-carousel {
    margin: 32px 0;
}
.carousel-img {
    max-height: 600px;
    object-fit: contain;
}
.carousel-control-prev {
    background-color: #111;
    max-width: 46px;
}
.carousel-control-next {
    background-color: #111;
    max-width: 46px;
}

#about-hero {
    max-width: 35%;
    display: block;
    margin: 0 auto;
}

/* Contact */
#bio h4  {
    text-align: center;
    margin-bottom: 16px;
}
#contact h4  {
    text-align: center;
    margin-bottom: 16px;
}
#contact ul  {
    list-style: none;
}
#contact ul a {
    text-decoration: none;
    height: 45px;
    color: #111;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-self: center;
    margin-bottom: 16px;

}
#contact ul li span {
    margin: 0 32px;
}
#contact ul li p {
    line-height: 45px;
    vertical-align: middle;
}
.spacer {
    background-color: transparent;
}

/* Footer */
footer {
    margin: 0; padding: 0 32px;
    margin-top: 32px; margin-bottom: 24px;
    min-height: 42px; flex: 1; align-content: 'center';
}
footer div {
    margin: 0; padding: 0; flex: 1;
}
.copyright {
    height: '100%';
    align-content: center;
    justify-content: center;
}
.copyright a {
    text-decoration: none;
    color: #111;
}
.copyright p {
    text-align: left;
    font-size: 1.2em;
}

footer div ul {
    margin: 0; padding: 0;
    justify-content: end;
    display: flex;
    flex-direction: row;
    align-items: center;
    width: '100%';
    text-decoration: none;
    list-style: none;
}
footer div ul a {
    margin-left: 42px;
}
.social-media {
    flex: 1; justify-items: end;
}
.social-media span {
    text-decoration: none;
    color: #111;
    font-size: 2em;
}
.social-media span:hover {
    color: #F44336;
}

/* Hover Updates */
.card:hover {
    cursor: pointer;
}