@font-face {
    font-family: 'Mideltone';
    src: url('./media/fonts/Mideltone.ttf') format('truetype');
}

@font-face {
    font-family: 'Vhiena';
    src: url('./media/fonts/Vhiena.otf');
}
 
@keyframes fade {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes bounce {
    0%, 10%, 25%, 40%, 50% {transform: translateY(0);}
    20% {transform: translateY(-10px);}
    30% {transform: translateY(-5px);}
    100% {transform: translateY(0);}
}

/** overwrite bootstrap class container-fluid default padding */
.container-fluid {
    padding-right: 0 !important;
    padding-left: 0 !important;
}

body {
    background-color: #050505;
    font-family: 'Martel', serif;
    font-size: calc(0.75em + 1vmin);
    overflow-x: hidden;
}

main { 

  position: relative;
    flex: auto;
}

button {
    outline: none;
    border: none;
    background: transparent;
}

/**
********************************
    Header/Hero Section 
********************************
*/

#header-wrapper {
    width: 100%;
    /* background-image: linear-gradient(0deg, #050505 0%, #1f1f1f 92%); */
    background-image: url(./media/background/Background.png);
    background-size: 100% 100%;
    background-position: top center;
    background-attachment: auto;
    background-repeat: no-repeat;
    animation: fade 0.9s ease-in;
    image-rendering: optimizeSpeed;
    z-index: 2;
}

#logo-container {
    padding: 1rem 0;
    background: transparent;
}

#dp-logo {
    animation: fade 0.9s ease-in;
    z-index: 3;
}

@media screen and (max-width: 1020px) {
    #header-wrapper { 
        /** background-image: linear-gradient(0deg, #050505 99%, #1f1f1f 100%); */
        background-image: url(./media/background/MobileBackground.png);
        image-rendering: optimizeSpeed;
        margin-top: -2.75rem;
    }
    #logo-container {
        padding: 0.5rem 0 0 0;
    }
    #dp-logo {
        position: relative;
        top: 0;
        max-width: 95%;
    }
}

.downArrow {
    position: relative;
    bottom: 2rem;
    margin: 0 auto;
    padding: 4px;
    animation: fade 0.9s ease-in;
    text-align: center;
    z-index: 4;
}

#arrow-image {
    position: absolute;
    width: 2.675rem;
    bottom: 20%;
    opacity: 0.5;
    animation: bounce;
    animation-duration: 3s;
    animation-delay: 0;
    animation-iteration-count: infinite;
    animation-fill-mode: both;
    z-index: 4;
}

#arrow-image:hover {
    filter: brightness(200%);
}

@media screen and (max-width: 1080px) {
    /** remove background: transparent and color: transparent properties to make arrow visible on mobile */
    .downArrow {
        background: transparent;
        color: transparent;
    }
	#arrow-image {
        /** irrelevant styles unless arrow is made visible on mobile */
	    width: 0;
        top: 0;
        padding: 8px;
	    margin-left: -1rem;
	}
}

@media only screen and (max-height: 575.98px) and (orientation: landscape) {
    #logo-container {
        height: 99%;
    }
    .downArrow {
        top: -2rem;
    }
}


/** Decorative dividing line image*/
.dividing-line {
    display: inline-block;
    width: 1155px;
    padding: 20px 0 0 0;
    margin: 0 auto;
    opacity: 0.55;
    transform:scaleX(1.05);
}

@media screen and (max-width: 1020px) {
    .dividing-line {
        width: 92%;
        min-height: 3rem;
        padding: 0;
        margin-bottom: -1rem;
        margin-top: 0.875rem;
    }
}

/**
********************************
    Section Containers
********************************
*/ 

#intro, #music, #movies, #art, #call-to-action {
    background: transparent;
}

#intro {
    padding: 40px 0 0 0;
}

#music {
    padding: 20px 0 30px 0;
}

#movies, #art {
    padding: 70px 0 40px 0;
    max-width: 1200px;
}

#call-to-action {
    padding: 10px 0 60px 0;
}

@media screen and (max-width: 1020px) {
    #intro {
        padding: 0;
    }
    #music, #movies {
        padding: 60px 0 0 0;
    }
    #art {
        padding: 70px 0 0 0;
    }
    #call-to-action { 
        padding: 30px 0;
    }
}

/**
********************************
    Intro / About Me Section
********************************
*/ 
.lead.bio { 
    align-items: center;
    font-weight: 400;
    font-size: 1.15rem;
    text-align: center;
    text-rendering: optimizeLegibility;
    line-height: 1.8;
    padding: 0.75rem 2rem;
    color: #fcfcfc;
    cursor: default;
}

#bio-container {
    animation: fade 0.9s ease-in;
}

#lead-anchor {
    padding-top: 1rem;
}

.text-emphasis {
    font-weight: 800;
    color: #fdc9d2;
}

@media screen and (max-width: 1020px) {
    .lead.bio {
        padding: 0.75rem 2rem;
        font-size: 0.875rem;
    }
}

#elevate {
    width: 90%;
    line-height: 1.5;
    font-size: 2.2rem;
    font-weight: 700;
    margin: 0 auto;
    padding: 6px 0;
}

@media screen and (max-width: 1020px) {
    #elevate {
        font-size: 1.33rem;
        font-weight: 600;
        margin: 0 auto;
        padding: 6px 0;
    }
}

#contact-me {
    font-size: 3.3rem;
    font-weight: 900;
}

@media screen and (max-width: 1020px) {
    #contact-me {
        font-size: 1.9rem;
    }
}

#portrait-container {
    display: -webkit-box;
    display: -moz-box;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: fade 0.9s ease-in;
}

.image-wrapper {
    background: url(./media/DaveyPerronImagev2.jpg);
    background-size: cover;
    padding: 0;
    margin-top: -10rem;
    user-select: none;
    pointer-events: none;
    z-index: 0;
}

.mobile-portrait {
    display: none;
}

@media screen and (max-width: 960px) {
    .image-wrapper {
        display: none;
    }
    .mobile-portrait {
        display: initial;
    }
    #portrait {
        max-height: 70%;
        padding: 0;
        margin: 0;
        margin-top: -2rem;
        user-select: none;
        pointer-events: none;
    }
}

/** Background Image, Begins at Spotify Album Embed container */
.site-background {
    position: relative;
    image-rendering: optimizeSpeed;
}

.site-background::after {
    content: "";
    position: absolute;
    top: 60px;
    left: 0;
    bottom: 0;
    right: 0;
    background: url(./media/background/content-bg.png);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
    opacity: 0.3;
    z-index: -1;
}

/**
********************************
    Art Photo Gallery Section
********************************
*/

.art-header {
    font-size: 4rem;
    color: #fcfcfc;
    text-align: center;
}

.art-gallery:hover {
    opacity: 0.9;
    border: 1px solid transparent;
    transition-delay: 50ms;
}

.photos {
    padding: 0.5rem 1.5rem;
}

@media screen and (max-width: 1020px) {
    .art-header {
        font-size: 2rem;
    }
    .photos {
        padding: 0.2rem 2.2rem;
    }
    .photos:nth-child(1) {
        padding: 0 2.2rem;
    }
}

/**
********************************
 Movie Section (Youtube iFrame)
********************************
*/ 

.iframe-wrapper {
    position: relative;
    overflow: hidden;
    padding-top: 50%;
}

.youtube-iframe {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    max-width: 960px;
    box-shadow: 0 3px 6px 0 rgba(73, 73, 73, 0.2), 0 6px 12px 0 rgba(32, 32, 32, 0.15);
}

@media screen and (max-width: 1020px) {
    .youtube-iframe {
        padding: 0 2.2rem;
    }
}

/** Anchor Link Redirects back to contact form */
p.d-inline-block, .contact-redirect-anchor {
    color: #fcfcfc;
    font-weight: 900;
    font-size: 2.3rem;
    text-align: center;
}

@media screen and (max-width: 1020px) {
    p.d-inline-block {
        padding: 0 2.2rem;
    }
    p.d-inline-block, .contact-redirect-anchor {
        font-size: 1.75rem;
    }
    .contact-redirect-anchor {
        margin-left: 1rem;
    }
}

.contact-redirect-anchor {
    text-decoration: underline;
    text-underline-offset: 0.25rem;
}

.contact-redirect-anchor:hover {
    color: #a7a7a7;
}

.pointer-image {
    background: transparent;
    max-width: 2.25rem;
    margin-top: 1.25rem;
    transform: rotateZ(-45deg);
}

/**
********************************
	Page Footer
********************************
*/ 

footer {
  bottom: 0;
  width: 100%;
  padding: 0;
  background: #151515;
  color: #fcfcfc;
  overflow: hidden;
}

#footer-full-width {
  background: #151515;
}

.footer-flex {
    display: -webkit-box;
    display: -moz-box;
    display: flex;
    position: relative;
    align-content: center;
    flex-wrap: wrap;
    justify-content: flex-end;
    width: 100%;
    padding: 60px 0;
}

@media screen and (max-width: 1020px) {
    .footer-flex {
        flex-direction: column;
        text-align: center;
        align-items: center;
        padding: 40px 0;
    }
}

.list-group-item {
    background: transparent;
    border: none;
    outline: none;
}

.social-links {
    display: inline-block; 
    position: relative;
    text-decoration: none;
    padding: 0.2rem; 
    margin: 0 -0.375rem;
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    filter: grayscale(100%);
    transition: all 0.9s ease;
    z-index: 1;
}

.social-links:hover {
    -webkit-filter: grayscale(0%);
    -moz-filter: grayscale(0%);
    filter: grayscale(0%);
    transition: all 0.9s ease;
}

.copyright {
    display: inline-block;
    position: absolute;
    width: 100%;
    top: 42%;
    text-align: center;
    overflow: hidden;
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.5;
}

.copysymbol {
    position: relative;
    font-size: 0.8rem;
}

@media screen and (max-width: 1020px) {
    .copyright {
        position: initial;
        padding: 2rem 0 0 0;
        font-size: 1rem;
    }
}

.footer.list-group {
    padding-right: 3rem;
}

.list-group-item.footer {
    padding: 0 1.4rem;
}

.footer-logo {
    width: 2rem;
}

@media screen and (max-width: 1020px) {
    .footer-logo {
        width: 1.675rem;
    }
}

.privacy-policy-block {
    /** double declaration of monospace prevents browsers from reducing font size */
    font-family: monospace, monospace;
    font-size: 10px;

    /**
    REMOVE display: none TO SHOW PRIVACY POLICY LINK 
    */
    display: none !important;

    width: 100%;
    text-align: right;
    padding: 0 1rem 0.75rem 0;
}

.privacy-policy-block a {
    text-decoration: none;
    color: #fcfcfc;
}

@media (max-width:1020px) {
    .privacy-policy-block {
        text-align: center;
        padding: 0 0 0.5rem 0;
    }
}
