@charset "utf-8";
/* CSS Document */
html {
  scroll-behavior: smooth;
}
body {
  font-family: Calibri, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji",
    "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1rem;
  overflow-x: hidden;
  padding: 0 !important;
}
a {
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}
a:focus {
  outline: none;
}
.bg-header {
  background-size: contain, auto;
  background-repeat: no-repeat, repeat;
  background-position: bottom right, center left;
  max-height: 600px;
  z-index: 0;
}
.bg-header.home {
  background-color: #307bf7;
  background-image: url("../img/Header-HomeHooley.png"),
    url("../img/Header-HomeBg.png");
}
.bg-header.about {
  background-color: #282828;
  background-image: url("../img/Header-AboutHooley.png"),
    url("../img/Header-AboutBg.png");
}
.bg-header.portfolio {
  background-color: #4c00bd;
  background-image: url("../img/Header-Portfolio.png"),
    url("../img/Header-PortfolioBg.png");
}
.bg-header.portfolio-inner {
  background-color: #4c00bd;
  background-size: auto;
  background-repeat: repeat-y;
  background-position: top left;
  background-image: url("../img/Header-PortfolioBg.png");
}
.bg-header-single {
  background-color: #307bf7;
}
.bg-1 {
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
}
.bg-1 > img.img-fluid {
  width: 100%;
}
#site-nav {
  position: relative;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 3;
}
#site-nav .main-nav {
  font-size: 18px;
}
#site-nav .main-nav > li.active > a {
  border-color: #fff;
  background-color: transparent;
}
#site-nav .main-nav > li > a {
  text-transform: uppercase;
  color: #fff;
  border-top: 2px solid transparent;
  padding: 8px 0 0;
  margin: 0 0 0 25px;
  font-weight: 300;
  letter-spacing: 0.1em;
  line-height: 1;
}
#site-nav .main-nav > li > a:hover {
  border-color: #fff;
  background-color: transparent;
  text-decoration: none;
}
#site-header-text {
  z-index: 5;
}
#site-header-text small {
  line-height: 1;
}
.font-header-large {
  font-size: 6.5rem;
  line-height: 0.9;
}
a.card-link:hover .bg-dark {
  background-color: #a4a4a4 !important;
}
#myResume {
  background-image: url("../img/Resume-bg.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center top;
}
#resumeOverlay {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: black;
  opacity: 0.6;
}
.carousel-item {
  height: 85vh;
  min-height: 350px;
  background: no-repeat center center scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}
.img-zoom {
  cursor: zoom-in;
}

.carousel-control-next,
.carousel-control-prev {
  width: 5%;
}

#portfolio-item .carousel-item {
  height: auto;
  min-height: auto;
  justify-content: center;
  align-items: center;
}
#portfolio-item .carousel-item.active,
#portfolio-item .carousel-item-start,
#portfolio-item .carousel-item-end {
  display: flex;
}

#portfolio-item .carousel-item img {
  width: 92.5%;
}

#portfolio-item .carousel-item img.unset {
  width: unset;
}

.carousel-item .row {
  --bs-gutter-x: 0;
}

:root {
  --portfolio-card-bg-1: rgba(9, 190, 210, 0.9);
  --portfolio-card-bg-2: rgba(175, 82, 159, 0.9);
  --portfolio-card-bg-3: rgba(78, 190, 158, 0.9);
  --portfolio-card-bg-4: rgba(239, 69, 111, 0.9);
  --portfolio-card-bg-5: rgba(244, 124, 36, 0.9);
  --portfolio-card-bg-6: rgba(87, 64, 148, 0.9);
  --portfolio-card-bg-7: rgba(255, 0, 0, 0.9);
  --portfolio-card-bg-8: rgba(120, 120, 120, 0.9);
  --portfolio-card-bg-default: rgba(33, 33, 33, 0.9);
}

/* The flip card container - set the width and height to whatever you want. We have added the border property to demonstrate that the flip itself goes out of the box on hover (remove perspective if you don't want the 3D effect */
.flip-card {
  /* width: 100%;
  height: 100%; */
  perspective: 1000px; /* Remove this if you don't want the 3D effect */
}

.flip-card:hover {
  cursor: pointer;
}

.row.portfolio-categories > div .flip-card-back > div {
  background-color: var(--portfolio-card-bg-default);
}
.row.portfolio-categories > div:nth-child(1) .flip-card-back > div {
  background-color: var(--portfolio-card-bg-1);
}
.row.portfolio-categories > div:nth-child(2) .flip-card-back > div {
  background-color: var(--portfolio-card-bg-2);
}
.row.portfolio-categories > div:nth-child(3) .flip-card-back > div {
  background-color: var(--portfolio-card-bg-3);
}
.row.portfolio-categories > div:nth-child(4) .flip-card-back > div {
  background-color: var(--portfolio-card-bg-4);
}
.row.portfolio-categories > div:nth-child(5) .flip-card-back > div {
  background-color: var(--portfolio-card-bg-5);
}
.row.portfolio-categories > div:nth-child(6) .flip-card-back > div {
  background-color: var(--portfolio-card-bg-6);
}
.row.portfolio-categories > div:nth-child(7) .flip-card-back > div {
  background-color: var(--portfolio-card-bg-7);
}
.row.portfolio-categories > div:nth-child(8) .flip-card-back > div {
  background-color: var(--portfolio-card-bg-8);
}

/* This container is needed to position the front and back side */
.flip-card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  text-align: center;
  transition: transform 0.8s;
  transform-style: preserve-3d;
}

/* Do an horizontal flip when you move the mouse over the flip box container */
.flip-card:hover .flip-card-inner {
  transform: rotateY(180deg);
}

/* Position the front and back side */
.flip-card-front,
.flip-card-back {
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden; /* Safari */
  backface-visibility: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Style the front side (fallback if image is missing) */
.flip-card-front {
  background-color: #bbb;
  color: black;
}

/* Style the back side */
.flip-card-back {
  background-color: #bbb;
  color: white;
  transform: rotateY(180deg);
  z-index: 1;
}

.flip-card-back > div {
  position: absolute;
  width: 100%;
  height: 100%;
  outline: 8px solid rgba(255, 255, 255, 0.5);
  outline-offset: -9px;
}

.flip-card-back img {
  transform: scaleX(-1);
}

.border-dashed {
  border-style: dashed !important;
}

.portfolio-header-img {
  outline: 10px solid rgba(255, 255, 255, 0.5);
  outline-offset: -10px;
  box-shadow: 0px 0.7px 1px hsl(0deg 0% 0% / 0),
    0px 3.6px 5.4px hsl(0deg 0% 0% / 0.05),
    0px 7.2px 10.8px hsl(0deg 0% 0% / 0.11),
    -0.1px 14.7px 22.1px hsl(0deg 0% 0% / 0.16);
}

.download-overlay {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  opacity: 0;
  height: 100%;
  width: 100%;
  transition: 0.5s ease;
  background-color: rgba(120, 120, 120, 0.5);
}

.download-overlay > i {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  text-align: center;
}

.download-link:hover .download-overlay {
  opacity: 1;
}

#back-to-top {
  bottom: 140px;
  right: 20px;
  display: none;
  z-index: 10;
}

@media (max-width: 1200px) {
  legend {
    font-size: calc(1.275rem + 0.3vw);
  }
  h1,
  .h1 {
    font-size: calc(1.375rem + 1.5vw);
  }
  h2,
  .h2 {
    font-size: calc(1.325rem + 0.9vw);
  }
  h3,
  .h3 {
    font-size: calc(1.3rem + 0.6vw);
  }
  h4,
  .h4 {
    font-size: calc(1.275rem + 0.3vw);
  }
  .display-1 {
    font-size: calc(1.725rem + 5.7vw);
  }
  .display-2 {
    font-size: calc(1.675rem + 5.1vw);
  }
  .display-3 {
    font-size: calc(1.575rem + 3.9vw);
  }
  .display-4 {
    font-size: calc(1.475rem + 2.7vw);
  }
  .close {
    font-size: calc(1.275rem + 0.3vw);
  }
}
@media (max-width: 991px) {
  #site-nav .main-nav {
    font-size: 14px;
  }
}
@media (max-width: 585px) {
  /* body > *:not(#HooleyContact) {
    margin-right: -12px !important;
  } */
  /* #HooleyContact {
    padding-right: 12px !important;
  } */
  .bg-header {
    background-size: contain, cover;
    background-repeat: no-repeat, repeat-y;
    background-position: bottom left, center left;
  }
  .container-fluid {
    --bs-gutter-x: 0rem;
  }
  #site-nav {
    width: auto;
  }
  #site-nav .main-nav {
    display: block;
    border-bottom: 1px dotted #fff;
    background-color: #007bff;
  }
  #site-nav .main-nav > li > a {
    margin: 0;
    padding: 10px;
    border-top: 1px dotted #fff;
    font-weight: normal;
  }
  #site-nav .main-nav > li > a:hover {
    background-color: #102853;
  }
  #site-header-text {
    background-color: rgba(33, 33, 33, 0.6);
  }
  #portfolio-item .carousel-item img.unset-xs {
    width: unset;
  }
}
