/* Elements */

html, body {
    scroll-behavior: smooth;
    font-family: 'Montserrat', sans-serif;
    max-width: 100%;
    overflow-x: hidden;
}

body {
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    background-color: rgb(24, 24, 24);
}

html.home-page,
body.home-page {
    height: 100%;
    overflow-y: hidden;
    overscroll-behavior: none;
}

h1{
    font-weight: 900;
}

h2{
    font-weight: 500;
}

a{
    text-decoration: none;
}

a:hover{
    text-decoration: none;
}


/* Navbar */

.navbar{
    background-color: black;
}


/* Full Width Video Header & Title (Homepage)*/

header {
    position: relative;
    background-color: black;
    height: 100vh;
    height: 100dvh;
    min-height: 32rem;
    flex: none;
    width: 100%;
    overflow: hidden;
  }

  
header video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: 1;
    
  }
  
  header .container {
    position: relative;
    z-index: 3;
    padding: 0;
  }
  
  header .overlay {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: black;
    opacity: .4;
    z-index: 2;
  }

.hero-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.headline{
    color: white;
    font-size: 5rem;
    font-weight: 600;
    text-shadow: 2px 2px 4px #000000;
    position: relative;
    text-align: center;
    margin: 0;
}

.subheader{
    color: white;
    font-size: 1.8rem;
    font-weight: 300;
    text-shadow: 2px 2px 3px #000000;
    position: relative;
    text-align: center;
    margin: 0.75rem 0 0;
}

.hero-socials {
    display: flex;
    gap: 0.75rem;
    margin-top: 1.5rem;
}

.hero-socials a {
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border: 1px solid rgba(255, 255, 255, 0.32);
    border-radius: 50%;
    color: white;
    font-size: 1.35rem;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0.045) 55%),
        rgba(18, 18, 18, 0.32);
    backdrop-filter: blur(16px) saturate(145%);
    -webkit-backdrop-filter: blur(16px) saturate(145%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.35),
        inset 0 -1px 0 rgba(255, 255, 255, 0.08),
        0 0.6rem 1.5rem rgba(0, 0, 0, 0.22);
    transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.hero-socials a::before {
    content: "";
    position: absolute;
    top: 0.2rem;
    left: 0.55rem;
    width: 1.4rem;
    height: 0.55rem;
    border-radius: 50%;
    pointer-events: none;
    background: rgba(255, 255, 255, 0.22);
    filter: blur(0.3rem);
}

.hero-socials i {
    position: relative;
    z-index: 1;
}

.hero-socials a:hover,
.hero-socials a:focus-visible {
    color: white;
    background-color: rgba(255, 255, 255, 0.16);
    border-color: rgba(255, 255, 255, 0.72);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.5),
        0 0.85rem 1.75rem rgba(0, 0, 0, 0.28);
    transform: translateY(-2px);
}

.hero-socials a:focus-visible {
    outline: 3px solid white;
    outline-offset: 3px;
}

.push{
    padding-left: 30%;
    padding-top: 25%;

}

@media only screen and (max-width: 900px){

    header .container{

        padding: 2%;
    }




    .headline{
        
        font-size: 2.5rem;
        text-align: center;  
    }

    .subheader{
        text-align: center;
        font-size: 1rem;
    }

    .push{
        padding-left: 0;
        padding-top: 40%;
    }
}

/* About Me */

.home-content {
    position: relative;
    z-index: 4;
    padding: 0 1.25rem 2rem;
}

.about-me-section{
    position: relative;
    isolation: isolate;
    overflow: hidden;
    align-items: center;
    max-width: 70rem;
    margin: -30rem auto 0;
    padding: 1.5rem !important;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.035) 42%, rgba(12, 12, 12, 0.42)),
        rgba(20, 20, 20, 0.56);
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 1.25rem;
    backdrop-filter: blur(24px) saturate(145%);
    -webkit-backdrop-filter: blur(24px) saturate(145%);
    color: white;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.3),
        inset 0 -1px 0 rgba(255, 255, 255, 0.06),
        0 1.5rem 4rem rgba(0, 0, 0, 0.38);
}

.about-me-section::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        radial-gradient(circle at 12% 0%, rgba(255, 255, 255, 0.2), transparent 32%),
        radial-gradient(circle at 88% 100%, rgba(135, 172, 255, 0.1), transparent 34%);
}

.about-me-section::after {
    content: "";
    position: absolute;
    top: 0;
    left: 8%;
    width: 52%;
    height: 1px;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(255, 177, 177, 0.85), transparent);
    filter: blur(0.25px);
}

.profile-photo img {
    width: min(100%, 15rem);
    height: auto;
}

.about-me-img{
    width: 100%;
}

.beta-desc{
    margin: 4%;
    text-align: center;
}

.socials{
display: inline-block;
text-align: center;
width: 100%;

}

.socials a{
    color: inherit;
    
    }

#extra{
        margin-block-end: .5em;
    }

.desc{
    font-size: 1.5rem;
}

@media only screen and (max-width: 900px) {
    .home-content {
        padding-right: 1rem;
        padding-left: 1rem;
    }

    .about-me-section {
        margin-top: -10rem;
        padding: 2rem 1.25rem !important;
        border-radius: 1rem;
    }

    .profile-photo {
        margin-bottom: 1.5rem;
    }

    .desc {
        font-size: 1.1rem;
    }
}

/* Services */

.services{

    background-color: rgb(12,12,12);
    padding: 2%;
    color: rgb(240,240,240);
}


.service-box{
    padding: 2%;
}

.feature-icon{
    margin: 3%;
}
.absolute-center{
    display: flex;
    justify-content: center;
}

.service-gradient{
    background: rgb(255,255,255);
    background: linear-gradient(180deg, rgba(255,255,255,1) 15%, rgba(148,187,233,1) 100%);  
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    align-self: center;
}

.editing-service{
    background: url('../images/editing-service.jpg') no-repeat center center;
    background-size: cover;
    color: #ff7273;
}


.editing-gradient{
    background: rgb(255,62,60);
    background-image: linear-gradient(to right top, #ffa8a8, #ffa997, #ffae83, #ffb56f, #ffbf5b);    
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    align-self: center;
}

.shooting-service{
    
    background: url('../images/shooting-service.jpg') no-repeat center center;
    background-size: cover;
    color: #00e1ff;
    
}

.shooting-gradient{
    background: rgb(0,225,255);
    background: linear-gradient(25deg, rgba(0,225,255,1) 0%, rgba(57,222,245,1) 12%, rgba(203,178,249,1) 70%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    align-self: center;
}

.shooting-gradient-subheader{
    background: rgb(0,225,255);
    background: linear-gradient(150deg, rgba(0,225,255,1) 0%, rgba(57,222,245,1) 12%, rgba(203,178,249,1) 90%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    align-self: center;
}

.inline{
    display: inline;
}
.vfx-service{
    background: url('../images/vfx-service.jpg') no-repeat center center;
    background-size: cover;
    color: #99c86e;
}

.vfx-gradient{
    background: rgb(153,200,110);
    background: linear-gradient(50deg, rgba(153,200,110,1) 0%, rgba(96,153,44,1) 56%, rgba(215,215,86,1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.design-service{
    background: url('../images/design-service.jpg') no-repeat center center;
    background-size: cover;
    color: #bd99f7;
}

.design-gradient{
    background: rgb(189,153,247);
    background: linear-gradient(50deg, rgba(189,153,247,1) 0%, rgba(134,74,232,1) 56%, rgba(247,153,174,1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    align-self: center;
}


.more-info-locked{
    opacity: 0;
    font-weight: 600;
    align-self: center;
    padding-right: 5%;
    color: grey;
    text-shadow: 2px 2px 4px #000000;
}

.more-info-unlocked{
    opacity: 0;
    font-weight: 600;
    align-self: center;
    padding-right: 5%;
    color: grey;
    text-shadow: 2px 2px 4px #000000;
}

.more-info-locked-left{
    padding-left: 5%;
}


.disable:hover{
    /* filter: brightness(125%);
    filter: contrast(115%); */
    filter: grayscale(100%);
 }

 .enable:hover{
    filter: brightness(125%);
    filter: contrast(115%);
 }


 

.disable:hover .more-info-locked{
    opacity: 1;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

.enable:hover .more-info-unlocked{
    opacity: 1;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

.disable:hover .more-info-locked-left{
    opacity: 1;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

.reel-player{
    max-height: 720px;
}


/* Footer */
.footer{
    text-align: center;
    padding: 2%;
    color: white;
    background-color: #0F0F0F;
}

@media only screen and (max-width: 900px){
    .footer{
        padding: 10%;
        font-size: 1rem;
    }
}

@media only screen
 
and (min-width: 992px)
 
and (max-width: 1250px){
    .card-title{
        font-size: 1.5rem;
    }
}

@media only screen
 
and (min-width: 1250px)
 
and (max-width: 1600px){
    .card-title{
        font-size: 2rem;
    }
}
 
.service-card:hover{
    filter: grayscale(100%);
}
 

/* Full Width Video Header & Title (Editing)*/

.headline-editing{
    text-align: center;
    background: rgb(255,62,60);
    background: radial-gradient(circle, rgba(255,62,60,1) 0%, rgba(255,171,112,1) 35%, rgba(255,136,135,1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 7rem;
    font-weight: 300;
    padding-bottom: 5%;
}

#edit-header {
    height: 10vh;
}

/* Editing Reel */

.reel-section{
    text-align: center;
    padding: 1%;
    background-image: radial-gradient(circle, #a83d3d, #7d2e35, #54212a, #2c151a, #000000);
}

.vidreel{

    align-content: center;
}

/* Editing Features */

#features{
    background-color: rgba(15, 15, 15, 0.87);
    position: relative;
    text-align: center;
    color: #ef8172;
  }
  
  .feature-icon{
    background-image: linear-gradient(to right top, #e3a6a6, #e8a8a0, #eaab9a, #ecaf93, #ebb38d, #ecb086, #edac7e, #eea977, #f39c70, #f88e6c, #fc7f6c, #ff6f6f);    
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 4rem;
    margin: 3%;
  }
  
  
  .feature-box{
    padding: 3%;
  }
    
/* Previous Editing Work Gallery */

  .previous-work-section{
      padding: 2%;
      background-color: rgb(27, 27, 27);
  }

  .previous-work-header{
    background-image: linear-gradient(to right top, #e3a6a6, #e8a8a0, #eaab9a, #ecaf93, #ebb38d, #ecb086, #edac7e, #eea977, #f39c70, #f88e6c, #fc7f6c, #ff6f6f);    -webkit-background-clip: text;

    -webkit-text-fill-color: transparent;
    font-size: 4rem;
    padding-bottom: 2%;
  }


  .thumb{
    position:relative;
    display:inline-block;
    width: 100%;
  }

  .video-thumb{
      display: none;
      opacity: .5;
      color: white;
      text-align: center;
      vertical-align: middle;
  }

.thumb:hover .video-thumb{
    width: 100%;
    height: 100%;
    background-color: #0F0F0F;
    position: absolute;
    display: inline-block;
    top: 0; left: 0; bottom: 0; right: 0;
    margin: auto;
    
}

.thumb:hover .filter-thumb{
    filter: blur(5px);
}
 
.thumb-text{
    display: flex;
    align-items: flex-end;
    justify-content: center;
    width: 100%;
    height: 50%;
    align-self: flex-end;
}

/* Editing Reel */

.editing-reel{
    padding-top: 1.5%;
    padding-bottom: 1.5%;
}


.editing-bg{
    background-image: radial-gradient(at 50%, rgba(255, 62, 60, 0.50), rgb(0, 0, 0));
}

.photo-bg{
background: rgb(149,198,255);
background: linear-gradient(0deg, rgba(149,198,255,0.22779551273634457) 0%, rgba(0,0,0,0) 100%);
}

.motiongraphics-bg{
    background-image: radial-gradient(at 50%, rgb(153,200,110), rgb(0, 0, 0));
}

.reel-container{
    padding-right: 0;
    padding-left: 0;
}

.edit-intro{
   text-align: center;

   padding-top: 1%;
}

.edit-intro h4{
    color: white;
    margin: 1%;
    line-height: 1.5;
}


.card-text{
    font-size: 1.2rem;
    font-weight: 400;
}
.edit-cards{
    color: white;
    padding: 2%;
}

.portfolio{
    margin-top: 1.5%;
}

.smol{
    font-size: 1rem;
}

.hovereffect {
    width: 100%;
    height: 100%;
    float: left;
    overflow: hidden;
    position: relative;
    text-align: center;
    cursor: default;
    background: linear-gradient(50deg, rgba(80,35,35,1) 0%, rgba(180,77,77,1) 56%, rgba(255,114,115,1) 100%);
  }
  
  .hovereffect .overlay {
    width: 100%;
    height: 100%;
    position: absolute;
    overflow: hidden;
    top: 0;
    left: 0;
    padding: 2em;
    text-align: left;
    font-weight: 400;
    font-size: 1.5rem;
  }


  
  .hovereffect img {
    display: block;
    position: relative;
    max-width: none;
    width: calc(100% + 60px);
    -webkit-transition: opacity 0.35s, -webkit-transform 0.45s;
    transition: opacity 0.35s, transform 0.45s;
    -webkit-transform: translate3d(-40px,0,0);
    transform: translate3d(-40px,0,0);


  }
  
  .hovereffect h2 {
    text-transform: uppercase;
    color: #fff;
    position: relative;
    font-size: 17px;
    background-color: transparent;
    padding: 15% 0 10px 0;
    text-align: left;
  }
  
  .hovereffect .overlay:before {
    position: absolute;
    top: 20px;
    right: 20px;
    bottom: 20px;
    left: 20px;
    border: 1px solid #fff;
    content: '';
    opacity: 0;
    filter: alpha(opacity=0);
    -webkit-transition: opacity 0.35s, -webkit-transform 0.45s;
    transition: opacity 0.35s, transform 0.45s;
    -webkit-transform: translate3d(-20px,0,0);
    transform: translate3d(-20px,0,0);
  }
  
  .hovereffect a, .hovereffect p {
    color: #FFF;
    opacity: 0;
    filter: alpha(opacity=0);
    -webkit-transition: opacity 0.35s, -webkit-transform 0.45s;
    transition: opacity 0.35s, transform 0.45s;
    -webkit-transform: translate3d(-10px,0,0);
    transform: translate3d(-10px,0,0);
  }
  
  .hovereffect:hover img {
    opacity: 0.2;
    filter: alpha(opacity=60);
    filter: blur(2px);
  }
  
  .hovereffect:hover .overlay:before,
  .hovereffect:hover a, .hovereffect:hover p {
    opacity: 1;
    filter: alpha(opacity=100);
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
  }

  .portfolio-vid{
      padding-bottom: 1%;
  }

  .hovereffect a.vid-link {
    top: 0;
    left: 0;
    opacity: 0;
    height: 100%;
    width: 100%;
    position: absolute;
  }

.img-responsive {
    width: 100%;
}

.portfolio-img{
    padding: 0px;
}

input[type="text"] {
    display: block;
    margin: 0 0 20px;
    padding: 8px 12px 10px 12px;
    border: 1px solid rgba(0,0,0,.5);
    background: rgba(0,0,0,.25);
    color: white;
  }

  input[type="text"]:focus {
    display: block;
    margin: 0 0 20px;
    padding: 8px 12px 10px 12px;
    border: 1px solid rgba(0,0,0,.5);
    background: rgba(0,0,0,.25);
    color: white;
  }

  input[type="email"] {
    display: block;
    margin: 0 0 20px;
    padding: 8px 12px 10px 12px;
    border: 1px solid rgba(0,0,0,.5);
    background: rgba(0,0,0,.25);
    color: white;
  }


  input[type="email"]:focus {
    display: block;
    margin: 0 0 20px;
    padding: 8px 12px 10px 12px;
    border: 1px solid rgba(0,0,0,.5);
    background: rgba(0,0,0,.25);
    color: white;
  }


.contact-form{
    color: white;
    padding: 4%;
    line-height: 2;
    background-color: rgb(12,12,12);
}

textarea {
    display: block;
    margin: 0 0 20px;
    padding: 8px 12px 10px 12px;
    border: 0 !important;
    background-color: rgba(0,0,0,.25) !important;
    color: white !important;
  }

  textarea:focus {
    margin: 0 0 20px;
    padding: 8px 12px 10px 12px;
    border: 0 !important;
    background-color: rgba(0,0,0,.25) !important;
    color: white !important;
  }

  .collaborate{
      padding-right: 5%;
      padding-bottom: 5%;
  }

  
  .image {
    display: block;
    width: 100%;
    height: auto;
  }
  
  .overlay {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    opacity: 0;
    transition: .5s ease;
    background-color: rgb(0, 0, 0, .85);
  }
  
  .portfolio-img:hover .overlay {
    opacity: 1;
  }
  
  .text {
    color: white;
    font-size: 20px;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    text-align: center;
  }
