/* Lavish HTML CSS Template https://templatemo.com/tm-458-lavish */
body { background: #f5f0e1; color: #6c757d; font-family: 'Raleway', sans-serif; font-size: 16px; font-weight: 400; }

/* start all section */
#home, #home .fp-slide, #home .fp-tableCell, #work, #work .fp-slide, #work .fp-tableCell, #about, #about .fp-slide, #about .fp-tableCell, #contact, #contact .fp-slide, #contact .fp-tableCell, #portfolio, #portfolio .fp-slide, #portfolio .fp-tableCell, footer, footer .fp-slide, footer .fp-tableCell { height: auto !important; }

/* end all section */

/* start all heading */
h1, h2, h3, h4, h5 { color: #ffffff; font-weight: bold; }
/* end all heading */
/* start all section */
#work, #about, #portfolio, #contact { padding-top: 100px; padding-bottom: 120px; }

/* end all section */

/* start simpletextrotator */
.rotating { display: inline-block; -webkit-transform-style: preserve-3d; -moz-transform-style: preserve-3d; -ms-transform-style: preserve-3d; -o-transform-style: preserve-3d; transform-style: preserve-3d; -webkit-transform: rotateX(0) rotateY(0) rotateZ(0); -moz-transform: rotateX(0) rotateY(0) rotateZ(0); -ms-transform: rotateX(0) rotateY(0) rotateZ(0); -o-transform: rotateX(0) rotateY(0) rotateZ(0); transform: rotateX(0) rotateY(0) rotateZ(0); -webkit-transition: 0.5s; -moz-transition: 0.5s; -ms-transition: 0.5s; -o-transition: 0.5s; transition: 0.5s; -webkit-transform-origin-x: 50%; }
.rotating.flip { position: relative; }
.rotating .front, .rotating .back { left: 0; top: 0; -webkit-backface-visibility: hidden; -moz-backface-visibility: hidden; -ms-backface-visibility: hidden; -o-backface-visibility: hidden; backface-visibility: hidden; }
.rotating .front { position: absolute; display: inline-block; -webkit-transform: translate3d(0,0,1px); -moz-transform: translate3d(0,0,1px); -ms-transform: translate3d(0,0,1px); -o-transform: translate3d(0,0,1px); transform: translate3d(0,0,1px); }
.rotating.flip .front { z-index: 1; }
.rotating .back { display: block; opacity: 0; }
.rotating.spin { -webkit-transform: rotate(360deg) scale(0); -moz-transform: rotate(360deg) scale(0); -ms-transform: rotate(360deg) scale(0); -o-transform: rotate(360deg) scale(0); transform: rotate(360deg) scale(0); }
.rotating.flip .back { z-index: 2; display: block; opacity: 1; -webkit-transform: rotateY(180deg) translate3d(0,0,0); -moz-transform: rotateY(180deg) translate3d(0,0,0); -ms-transform: rotateY(180deg) translate3d(0,0,0); -o-transform: rotateY(180deg) translate3d(0,0,0); transform: rotateY(180deg) translate3d(0,0,0); }
.rotating.flip.up .back { -webkit-transform: rotateX(180deg) translate3d(0,0,0); -moz-transform: rotateX(180deg) translate3d(0,0,0); -ms-transform: rotateX(180deg) translate3d(0,0,0); -o-transform: rotateX(180deg) translate3d(0,0,0); transform: rotateX(180deg) translate3d(0,0,0); }
.rotating.flip.cube .front { -webkit-transform: translate3d(0,0,100px) scale(0.9,0.9); -moz-transform: translate3d(0,0,100px) scale(0.85,0.85); -ms-transform: translate3d(0,0,100px) scale(0.85,0.85); -o-transform: translate3d(0,0,100px) scale(0.85,0.85); transform: translate3d(0,0,100px) scale(0.85,0.85); }
.rotating.flip.cube .back { -webkit-transform: rotateY(180deg) translate3d(0,0,100px) scale(0.9,0.9); -moz-transform: rotateY(180deg) translate3d(0,0,100px) scale(0.85,0.85); -ms-transform: rotateY(180deg) translate3d(0,0,100px) scale(0.85,0.85); -o-transform: rotateY(180deg) translate3d(0,0,100px) scale(0.85,0.85); transform: rotateY(180deg) translate3d(0,0,100px) scale(0.85,0.85); }
.rotating.flip.cube.up .back { -webkit-transform: rotateX(180deg) translate3d(0,0,100px) scale(0.9,0.9); -moz-transform: rotateX(180deg) translate3d(0,0,100px) scale(0.85,0.85); -ms-transform: rotateX(180deg) translate3d(0,0,100px) scale(0.85,0.85); -o-transform: rotateX(180deg) translate3d(0,0,100px) scale(0.85,0.85); transform: rotateX(180deg) translate3d(0,0,100px) scale(0.85,0.85); }

/* end simpletextrotator */
/* start home */
#home { background: #7bbf60; background: url('../images/danny-bg.jpg'); background-size: cover; height: 100%; background-repeat: no-repeat; padding-top: 120px; padding-bottom: 210px; text-align: center; }
/* end home */

/* start work */
#work { background: #1a1a1a; }
#work h2 { text-align: center; }
#work .media { margin-top: 30px; }
#work .media .fa { border: 2px solid #ffffff; border-radius: 50%; color: #D43F52; font-size: 24px; margin-right: 24px; width: 60px; height: 60px; line-height: 55px; text-align: center; vertical-align: middle; transition: all 0.4s ease-in; }
#work .media .fa:hover { background: #ffffff; cursor: pointer; }
#work .media .media-heading { font-weight: 600; font-size: 20px; padding-bottom: 10px; }

/* start about */
#about h4 { padding: 15px 0; color: #D43F52; }
#about .progress { border-radius: 4px; background: #ffffff; height: 4px; }
#about .progress .progress-bar-danger { background: #D43F52; }
#about .text-top { padding-top: 50px; }
#about span { color: #ffffff; font-weight: bold; display: block; padding-bottom: 6px; }
#about small { font-weight: bold; float: right; }

/* start portfolio */
#portfolio { background: #1a1a1a; text-align: center; }
#portfolio h2 { padding-bottom: 30px; }
#portfolio .portfolio-thumb { overflow: hidden; position: relative; margin-bottom: 30px; }
#portfolio .portfolio-thumb .portfolio-overlay { background: #D43F52; top: 0; left: 0; right: 0; bottom: 0; opacity: 0; width: 100%; height: 100%; position: absolute; padding-top: 60px; transition: all 0.4s ease-in-out; }
#portfolio .portfolio-thumb:hover .portfolio-overlay { cursor: pointer; opacity: 0.8; transform: scale(0.9); }

.project-showcase h1, 
  .project-showcase h5 {color: #000; /* Black text */}
  .project-thumbnail {border-radius: 15px; /* Rounded images */transition: transform 0.3s ease-in-out;}
  .project-thumbnail:hover {transform: scale(1.05); /* Slight zoom effect on hover */}
  .modal-body img {border-radius: 15px; /* Rounded images in modals */}
/* start contact */
#contact address { padding-bottom: 18px; }
#contact .contact-title { font-size: 24px; font-weight: bold; padding-bottom: 20px; color: #ffffff; }
#contact .fa { border: 2px solid #ffffff; border-radius: 50%; color: #D43F52; width: 50px; height: 50px; line-height: 45px; text-align: center; margin-right: 20px; }
#contact .form-control { background: transparent; border: 2px solid #999; border-radius: 0; box-shadow: none; color: #ffffff; margin-bottom: 20px; }
#contact input { height: 50px; }
#contact input[type="submit"]{background: #D43F52; border: 2px solid transparent; color: #ffffff; font-weight: bold;transition: all 0.4s ease-in-out;}
#contact input[type="submit"]:hover{background: #ffffff;color: #D43F52;}
/* end contact */
/* Start footer */
footer { border-top: 1px solid #090909; text-align: center; padding-top: 40px; padding-bottom: 20px; }
footer hr { width: 100px; }
/* End footer */
/* Start social icon */
.social-icon { position: relative; padding: 0; margin: 0; }
.social-icon li { display: inline-block; list-style: none; }
.social-icon li a { border-radius: 50%; color: #606060; text-decoration: none; transition: all 0.4s ease-in-out; text-align: center; margin-right: 10px; }
.social-icon li a:hover { color: #D43F52; }
/* End social icon */
/* Buttons */
#home .btn, #contact input[type="submit"] { background: transparent; border: 2px solid #a7dd12; color: #a7dd12; font-size: 16px; font-weight: bold; transition: all 0.4s ease-in-out; }
#home .btn:hover, #contact input[type="submit"]:hover { background: #4c7c35; color: #f5f0e1; }
/* Form Inputs */
#contact .form-control { background: transparent; border: 2px solid #4c7c35; color: #4c7c35; margin-bottom: 20px; }
#contact .form-control:focus { border-color: #6ea151; box-shadow: none; }
/* Progress Bar */
#about .progress { background: #eae0d5; height: 4px; border-radius: 4px; }
#about .progress .progress-bar-danger { background: #4c7c35; }
/* Portfolio Hover Effect */
#portfolio .portfolio-thumb .portfolio-overlay { background: #4c7c35; color: #f5f0e1; opacity: 0; transition: all 0.4s ease-in-out; }
#portfolio .portfolio-thumb:hover .portfolio-overlay { opacity: 0.9; transform: scale(0.9); }
/* Footer */
footer hr { width: 100px; border-top: 2px solid #6ea151; }
footer ul.social-icon li a { color: #f5f0e1; font-size: 20px; margin-right: 10px; transition: all 0.4s ease-in-out; }
footer ul.social-icon li a:hover { color: #4c7c35; }
/* General Links */
a { color: #4c7c35; text-decoration: none; }
a:hover { color: #6ea151; }

.custom-hr {
  border: none;
  height: 15px;
  background-color: #90ba1f;
  opacity: 1;
  margin: 0;
}
.custom-caption h5  {
  color: yellow !important;
  background: rgba(0, 0, 0, 0.6);
  padding: 10px;
  border-radius: 5px;
  font-size: 1.2em;
  text-align: center;
}

.custom-caption p {
  color: yellow !important;
  background: rgba(0, 0, 0, 0.6);
  padding: 10px;
  border-radius: 5px;
  font-size: 1.2em;
  text-align: center;
}

.about-me{color: #000 !important } 
@import url("https://fonts.googleapis.com/css?family=Cardo:400i|Rubik:400,700&display=swap");
.bg-dark {
  --bs-bg-opacity: 1;
  background-color: #1a1a1a  !important;
}
:root {
  --d: 700ms;
  --e: cubic-bezier(0.19, 1, 0.22, 1);
  --font-sans: "Rubik", sans-serif;
  --font-serif: "Cardo", serif;
}

* {
  box-sizing: border-box;
}

.page-content {
  display: grid;
  grid-gap: 1rem;
  padding: 1rem;
  max-width: 1300px;
  margin: 0 auto;
  font-family: var(--font-sans);
}
@media (min-width: 600px) {
  .page-content {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 800px) {
  .page-content {
    grid-template-columns: repeat(2, 1fr);
  }
}

.card {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  flex-direction: column;
  height: 400px; /* Fixed height */
  overflow: hidden;
  padding: 1rem;
  width: 100%;
  text-align: center;
  color: whitesmoke;
  background-color: whitesmoke;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1),
    0 2px 2px rgba(0, 0, 0, 0.1),
    0 4px 4px rgba(0, 0, 0, 0.1),
    0 8px 8px rgba(0, 0, 0, 0.1),
    0 16px 16px rgba(0, 0, 0, 0.1);
  cursor: pointer; /* so user knows it's clickable */
}

@media (min-width: 600px) {
  .card {
    height: 350px;
  }
}

.card:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 110%;
  background-size: cover;
  background-position: center;
  background-image: var(--bg-image);
  transition: transform calc(var(--d) * 1.5) var(--e);
  pointer-events: none;
}

.card:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 200%;
  pointer-events: none;
  background-image: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0.009) 11.7%,
    rgba(0, 0, 0, 0.034) 22.1%,
    rgba(0, 0, 0, 0.072) 31.2%,
    rgba(0, 0, 0, 0.123) 39.4%,
    rgba(0, 0, 0, 0.182) 46.6%,
    rgba(0, 0, 0, 0.249) 53.1%,
    rgba(0, 0, 0, 0.32) 58.9%,
    rgba(0, 0, 0, 0.394) 64.3%,
    rgba(0, 0, 0, 0.468) 69.3%,
    rgba(0, 0, 0, 0.54) 74.1%,
    rgba(0, 0, 0, 0.607) 78.8%,
    rgba(0, 0, 0, 0.668) 83.6%,
    rgba(0, 0, 0, 0.721) 88.7%,
    rgba(0, 0, 0, 0.762) 94.1%,
    rgba(0, 0, 0, 0.79) 100%
  );
  transform: translateY(-50%);
  transition: transform calc(var(--d) * 2) var(--e);
}

.content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding: 1rem;
  height: 100%;
  justify-content: space-between;
  transition: transform var(--d) var(--e);
  z-index: 1;
}

.content > * + * {
  margin-top: 1rem;
}

.title {
  font-size: 1.3rem;
  font-weight: bold;
  line-height: 1.2;
  margin: 0;
  flex-shrink: 0;
}

.copy {
  font-family: var(--font-serif);
  font-size: 1.125rem;
  font-style: italic;
  line-height: 1.35;
}

.btn {
  margin-top: auto;
  padding: 0.75rem 1.5rem;
  font-size: 0.65rem;
  font-weight: bold;
  letter-spacing: 0.025rem;
  text-transform: uppercase;
  color: white;
  background-color: black;
  border: none;
}
.btn:hover {
  background-color: #0d0d0d;
}
.btn:focus {
  outline: 1px dashed yellow;
  outline-offset: 3px;
}

/* Hover animations */
@media (hover: hover) and (min-width: 600px) {
  .card:after {
    transform: translateY(0);
  }
  .content {
    transform: translateY(calc(100% - 4.5rem));
  }
  .content > *:not(.title) {
    opacity: 0;
    transform: translateY(1rem);
    transition: transform var(--d) var(--e), opacity var(--d) var(--e);
  }
  .card:hover,
  .card:focus-within {
    align-items: center;
  }
  .card:hover:before,
  .card:focus-within:before {
    transform: translateY(-4%);
  }
  .card:hover:after,
  .card:focus-within:after {
    transform: translateY(-50%);
  }
  .card:hover .content,
  .card:focus-within .content {
    transform: translateY(0);
  }
  .card:hover .content > *:not(.title),
  .card:focus-within .content > *:not(.title) {
    opacity: 1;
    transform: translateY(0);
    transition-delay: calc(var(--d) / 8);
  }
  .card:focus-within:before,
  .card:focus-within:after,
  .card:focus-within .content,
  .card:focus-within .content > *:not(.title) {
    transition-duration: 0s;
  }
}

/* Carousel button styling (not strictly related to the new cards) */
.custom-carousel-control {
  width: 60px;
  height: 60px;
  top: 50%;
  transform: translateY(-50%);
  background-color: rgba(0, 0, 0, 0.3);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.custom-carousel-control:hover {
  background-color: rgba(0, 0, 0, 0.5);
}
.custom-carousel-icon {
  width: 2rem;
  height: 2rem;
  background-size: 100%, 100%;
}
.carousel-control-next-icon,
.carousel-control-prev-icon {
  display: inline-block;
  width: 7rem;
  height: 2rem;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: 160% 404%;
  opacity: 1;
}

/* --------------------------- */


.rotating-text {
  font-family: Lato, sans-serif;
  font-weight: 600;
  font-size: 36px;
  color: white;
  transform: translateX(-80px);

  p {
    display: inline-flex;
    margin: 0;
    vertical-align: top;

    .word {
      position: absolute;
      display: flex;
      opacity: 0;

      .letter {
        transform-origin: center center 25px;

        &.out {
          transform: rotateX(90deg);
          transition: 0.32s cubic-bezier(0.6, 0, 0.7, 0.2);
        }
        &.in {
          transition: 0.38s ease;
        }
        &.behind {
          transform: rotateX(-90deg);
        }
      }
    }
  }
}
.in-btn:hover {
  background-color: #000;
}

.twitter-btn:hover {
  background-color: #000;
}

.fa-github {
  position: absolute;
  left: 0em;
  right: 0.4em;
  top: 0.5em;
  bottom: 0;
  color: #fff;
  font-size: 1.8em;
}

.fa-linkedin-in {
  position: absolute;
  left: 0.4em;
  right: 0em;
  top: 0.55em;
  bottom: 0;
  color: #fff;
  font-size: 1.8em;
}
/*  sm btn styles  */
.twitter-btn {
  position: fixed;
  margin: auto;
  bottom: 0;
  background-color: #1da1f2;
  border: 0.15em solid #1da1f2;
  border-left: none;
  border-bottom: none;
  border-radius: 0% 100% 0% 0%/0% 100% 0% 93%;
  height: 50px;
  width: 50px;
  cursor: pointer;
}

.in-btn {
  position: fixed;
  margin: auto;
  bottom: 0;
  right: 0;
  border: 0.15em solid #0072b1;
  border-right: none;
  border-bottom: none;
  border-radius: 100% 0% 0% 0%/100% 0% 0% 0%;
  background-color: #0072b1;
  height: 50px;
  width: 50px;
  cursor: pointer;
}
