@charset "UTF-8";
/* CSS Document */
/* Reset */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body, html {
  height: 100%;
  font-family: Arial, sans-serif;
  scroll-behavior: smooth;
  position: relative;
}
/* Fonts */
@font-face {
  font-family: 'T-Star Pro Medium';
  font-style: normal;
  font-weight: normal;
  src: local('T-Star Pro Medium'), url('fonts/TStarProMedium.woff') format('woff');
}
@font-face {
  font-family: 'T-Star Pro Medium Italic';
  font-style: normal;
  font-weight: normal;
  src: local('T-Star Pro Medium Italic'), url('fonts/TStarProMediumItalic.woff') format('woff');
}
@font-face {
  font-family: 'T-Star Pro Regular';
  font-style: normal;
  font-weight: normal;
  src: local('T-Star Pro Regular'), url('fonts/TStarProRegular.woff') format('woff');
}
@font-face {
  font-family: 'T-Star Pro Regular Italic';
  font-style: normal;
  font-weight: normal;
  src: local('T-Star Pro Regular Italic'), url('fonts/TStarProRegularItalic.woff') format('woff');
}
@font-face {
  font-family: 'T-Star Pro Light';
  font-style: normal;
  font-weight: normal;
  src: local('T-Star Pro Light'), url('fonts/TStarProLight.woff') format('woff');
}
@font-face {
  font-family: 'T-Star Pro Light Italic';
  font-style: normal;
  font-weight: normal;
  src: local('T-Star Pro Light Italic'), url('fonts/TStarProLightItalic.woff') format('woff');
}
@font-face {
  font-family: 'T-Star Pro Bold';
  font-style: normal;
  font-weight: normal;
  src: local('T-Star Pro Bold'), url('fonts/TStarProBold.woff') format('woff');
}
@font-face {
  font-family: 'T-Star Pro Bold Italic';
  font-style: normal;
  font-weight: normal;
  src: local('T-Star Pro Bold Italic'), url('fonts/TStarProBoldItalic.woff') format('woff');
}
@font-face {
  font-family: 'T-Star Pro Heavy';
  font-style: normal;
  font-weight: normal;
  src: local('T-Star Pro Heavy'), url('fonts/TStarProHeavy.woff') format('woff');
}
@font-face {
  font-family: 'T-Star Pro Heavy Italic';
  font-style: normal;
  font-weight: normal;
  src: local('T-Star Pro Heavy Italic'), url('fonts/TStarProHeavyItalic.woff') format('woff');
}
@font-face {
  font-family: 'Glamour Absolute Condensed';
  src: url('fonts/Glamour-Absolute-Condensed.eot');
  src: url('fonts/Glamour-Absolute-Condensed.eot?#iefix') format('embedded-opentype'), url('fonts/Glamour-Absolute-Condensed.woff2') format('woff2'), url('fonts/Glamour-Absolute-Condensed.woff') format('woff'), url('fonts/Glamour-Absolute-Condensed.ttf') format('truetype'), url('fonts/Glamour-Absolute-Condensed.svg#Glamour Absolute Condensed') format('svg');
}
@keyframes animatezoom {
  from {
    transform: scale(0)
  }
  to {
    transform: scale(1)
  }
}
span.animatezoom .divider {
  animation: animatezoom 2.3s
}
/* Define the keyframe animation */
@keyframes slideInFromLeft {
  0% {
    transform: translateX(-100%); /* Start off-screen to the left */
    opacity: 0; /* Start hidden */
  }
  100% {
    transform: translateX(0); /* End at normal position */
    opacity: 1; /* Fully visible */
  }
}
/* Ensure initial state for header elements */
#header h1.agency-headline, #header p.welcome-note {
  transform: translateX(-100%); /* Initially hidden off-screen to the left */
  opacity: 0; /* Initially invisible */
}
/* Apply animation to header elements */
#header h1.agency-headline {
  animation: slideInFromLeft .5s ease-in-out forwards; /* Slide in and fade - was ease-in */
  animation-delay: 0.7s; /* Delay to make the paragraph appear after */
}
#header span.headline-part-1 h1.agency-headline {
  animation: slideInFromLeft .3s ease-in-out forwards; /* Slide in and fade - was ease-in  */
  animation-delay: 0.7s; /* Delay to make the paragraph appear after */
}
#header p.welcome-note {
  animation: slideInFromLeft .6s ease-in-out forwards;
  animation-delay: 1s; /* Delay for a smoother effect, after the headline - was ease-in  */
}
h1, h2, h3 {
  font-family: 'Glamour Absolute Condensed', serif;
  font-weight: normal;
}
p {
  font-family: 'T-Star Pro Regular', sans-serif;
}
#menu .menu-column.left-column a {
  font-family: 'Glamour Absolute Condensed', serif;
  font-weight: normal;
}
h3.footer-subheadline {
  font-family: 'T-Star Pro Light', sans-serif;
  font-weight: 500;
}
/* Main container */
.container {
  display: flex;
  flex-direction: row;
  width: 100%;
  height: 450px;
}
/* Left and right sections (anchor tags now) */
.left-section, .right-section {
  width: 50%;
  height: 100%;
  display: block; /* Ensures anchor tag takes up the full space */
  background-size: cover;
  background-position: center;
  transition: background .2s ease; /* Smooth transition for background change */
  font-size: 180%;
  line-height: 2em;
  color: white;
  text-decoration: none;
}
/* Example background images for the left and right sections */
.left-section {
  background-image: url('images/test-image3.jpg'); /* Replace with your image */
  background-color: lightgray;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}
.right-section {
  background-image: url('images/test-image3.jpg'); /* Replace with your image */
  background-color: darkgray;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}
#civitas.left-section {
  background-image: url('images/civitaswkBtn.png');
}
#profix.right-section {
  background-image: url('images/profixwkBtn.png');
}
#fitlife.left-section {
  background-image: url('images/fitlifewkBtn.png');
}
#civitas.right-section {
  background-image: url('images/civitaswkBtn.png');
}
#drentals.left-section {
  background-image: url('images/drentalswkBtn.png');
}
#smoothie.right-section {
  background-image: url('images/skwkBtn.png');
}
#imbesso.right-section {
  background-image: url('images/imbesso7.png');
}
#sprayguys.left-section {
  background-image: url('images/sgwkBtn.png');
}
#grindcity.right-section {
  background-image: url('images/gcbcwkBtn.png');
}
#grindcity.left-section {
  background-image: url('images/gcbcwkBtn.png');
}
#apple.right-section {
  background-image: url('images/applewkBtn.png');
}
#lec.right-section {
  background-image: url('images/lecwkBtn.png');
}
#lec.left-section {
  background-image: url('images/lecwkBtn.png');
}
/* On hover, darken the background */
.left-section:hover, .right-section:hover {
  filter: brightness(90%); /* Darken the image */
}
.showcase-title, .showcase-directional {
  letter-spacing: 2px;
}
.showcase-directional {
  font-size: 50%;
}
.showcase-title {
  font-size: 70%;
}
/* Logo Image Placeholder */
#logo {
  position: absolute;
  top: 30px; /* was 20px - Adjust the top margin for spacing from the top */
  left: 30px; /* was 20px - Adjust the left margin for spacing from the left */
  width: 310px; /* Set the width of the logo - was 311px */
  height: auto; /* Set the height of the logo - was 40px */
}
/* Header Section */
#header {
  display: flex;
  flex-direction: column;
  justify-content: center; /* Center vertically */
  align-items: center; /* Center horizontally */
  background-color: white; /* Changed header background color to grey */
  color: black; /* Changed text color to black */
  height: 900px;
  text-align: center; /* Center text */
}
/* for the client work page */
#header.main-wkpg-header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: white;
  color: black;
  height: 720px; /* was 60vh */
  text-align: center;
}
/* container for client work intros */
#work-sample-container {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: auto;
  padding: 40px;
  margin-top: -80px; /* remove padding just on top */
}
#contactpg-header {
  display: flex;
  flex-direction: column;
  justify-content: center; /* Center vertically */
  align-items: center; /* Center horizontally */
  background-color: white; /* Changed header background color to grey */
  color: white;
  height: 1200px; /* was 155vh then 138vh - was 1342 */
  text-align: center; /* Center text */
}
#header.clientpg-header {
  display: flex;
  flex-direction: column;
  justify-content: center; /* Center vertically */
  align-items: center; /* Center horizontally */
  background-color: lightgray; /* Changed header background color to grey */
  color: black; /* Changed text color to black */
  text-align: center; /* Center text */
  background-size: cover; /* make backgrd image cover inside the entire element */
  background-image: url('images/testpic.png'); /* specify bckgrd image and location */
  background-position: center;
  height: 50px; /* was 85vh - lets you see some of the header photo above the fold - was 1485px */
  padding-bottom: 1200px; /* make this different for each page */
  transition: padding .3s ease;
}
span#dreamrentals-header #header.clientpg-header {
  padding-bottom: 1050px;  /* was 1000px */
  background-position: bottom;
}
#header.clientpg-header h1, span.clientpg-alternate p.client-name, #client-page-alternate.intro-text {
  color: white;
}
#header.clientpg-header .divider {
  background-color: white;
}
#header.client-page {
  display: flex;
  flex-direction: column;
  justify-content: center; /* Center vertically */
  align-items: center; /* Center horizontally */
  background-color: white; /* Changed header background color to grey */
  color: black; /* Changed text color to black */
  height: 675px; /* was 75vh */
  text-align: center; /* Center text */
}
#header.article-page {
  display: flex;
  flex-direction: column;
  justify-content: center; /* Center vertically */
  align-items: center; /* Center horizontally */
  background-color: white; /* Changed header background color to grey */
  color: black; /* Changed text color to black */
  height: 766px; /* was 85vh */
  text-align: center; /* Center text */
}
#section1 h1.headline, #section2 h1.headline, #section3 h1.headline, #section4 h1.headline, #section5 h1.headline {
  color: white;
  font-size: 4em; /* make the headlines smaller on the home page */
}
/* Paragraph Text */
.intro-text {
  color: black;
  font-size: 1.2em;
  line-height: 1.6em;
  width: 65%;
  margin: 20px auto;
  text-align: center;
}
/* Client Name Style */
.client-name {
  font-size: 1.2em;
  color: #b2b2b2; /* was black */
  margin-top: 30px;
  letter-spacing: 2px;
}
/* Headline Style */
.headline {
  font-size: 5em; /* was 3.5em */
  font-weight: normal; /* was bold */
  color: black;
  margin-top: 20px;
}
/* White Divider Line */
.divider {
  background-color: #fecc2f;
  height: 8px;
  width: 200px;
  margin: 20px auto;
  margin-top: 30px;
}
/* Slide-in Navigation */
#menu {
  height: 100%;
  width: 100%;
  position: fixed;
  top: 0;
  right: -100%;
  background-color: #fecc2f;
  transition: right 0.3s ease;
  z-index: 1000;
  display: flex; /* Flexbox to create two columns */
  flex-direction: row; /* Horizontal layout */
  justify-content: space-between; /* Space out the two columns */
  padding: 40px;
}
/* Left Column (Menu Links) */
.menu-column.left-column {
  width: 45%; /* Left column will take up 45% of the width */
}
.menu-column.left-column a {
  display: block;
  color: black;
  text-align: left;
  padding: 0px; /* was 20 px */
  text-decoration: none;
  font-size: 4em;
  position: relative; /* Needed for positioning the pseudo-element */
  transition: color 0.3s ease; /* Optional: smooth transition for text color */
  line-height: 1.4em; /* added for line spacing */
  width: 200px; /* added feb1 */
}
.menu-column.left-column a.home {
  width: 154px;
}
.menu-column.left-column a.agency {
  width: 200px;
}
.menu-column.left-column a#alternate-menu-item.work {
  width: 160px;
}
/* Hover effect for menu links */
.menu-column.left-column a:hover {
  color: black; /* Optional: change text color on hover */
}
/* Pseudo-element for the underline */
.menu-column.left-column a::after {
  content: '';
  position: absolute;
  bottom: 0; /* Position the line at the bottom of the link */
  left: 0; /* Align it to the left */
  width: 0; /* Start with width 0 */
  height: 2px; /* Set the height of the line */
  background-color: black; /* White color for the line */
  transition: width 0.3s ease; /* Smooth transition for width */
}
/* On hover, the line expands to match the width of the menu item */
.menu-column.left-column a:hover::after {
  width: 100%; /* Expand the line to full width of the item - was 40 */
}
.menu-column.left-column a.work:hover::after {
  width: 100%; /* Expand the line to full width of the item - was 28 */
}
.menu-column.left-column a.contact:hover::after {
  width: 100%; /* Expand the line to full width of the item - was 42 */
}
/* Right Column (Contact Info) */
.menu-column.right-column {
  width: 45%; /* Right column will take up 45% of the width */
  color: black;
  font-size: 1.2em;
  text-align: left; /* Align text to the right */
  padding-top: 20px; /* make it even with menu items at top */
}
.menu-phone {
  margin-top: 50px;
}
#menu .menu-column.right-column a {
  text-decoration: none;
}
#menu .menu-column.right-column a p.menu-phone {
  color: black;
  text-decoration: none;
}
#menu .menu-column.right-column a p.menu-social {
  color: black;
  text-decoration: none;
}
#menu .menu-column.right-column a p.menu-social2 {
  color: black;
  text-decoration: none;
}
#menu .menu-column.right-column a p.menu-social3 {
  color: black;
  text-decoration: none;
}
.menu-social {
  margin-top: 50px;
}
.menu-social2 {
  line-height: .3em;
}
.menu-social3 {
  margin-top: .3em;
}
.menu-column.right-column p {
  margin-bottom: 20px;
}
/* Toggle Button */
#menuBtn {
  position: fixed;
  top: 20px;
  right: 30px; /* was 20px */
  width: 50px; /* was 30px */
  height: 50px; /* was 30px */
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  z-index: 1100;
}
.hamburger {
  position: relative;
  width: 40px; /* Width of the hamburger icon - was 30px */
  height: 3px; /* Thickness of the bars */
  background-color: white;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.hamburger::before, .hamburger::after {
  content: '';
  position: absolute;
  width: 40px; /* was 30px */
  height: 3px;
  background-color: white;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
#alternate.hamburger {
  background-color: black;
}
#menuBtn.black-hamburger::before {
  background-color: white;
}
#alternate.hamburger::before, #alternate.hamburger::after {
  background-color: black;
}
.hamburger::before, .hamburger::after {
  content: '';
  position: absolute;
  width: 40px; /* was 30px */
  height: 3px;
  background-color: white;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
/* Top and Bottom Bars (Before and After pseudo-elements) */
.hamburger::before {
  top: -10px;
  left: 0; /* had to override something causing element misalignment */
}
.hamburger::after {
  top: 10px;
  left: 0; /* had to override something causing element misalignment */
}
/* Menu Open (Transformed state for cross) */
.menu-open #menuBtn .hamburger {
  transform: rotate(45deg);
}
.menu-open #menuBtn .hamburger::before {
  transform: rotate(90deg);
  top: 0;
}
.menu-open #menuBtn .hamburger::after {
  transform: rotate(90deg);
  top: 0;
}
/* Slide-in Menu Logic */
.menu-open #menu {
  right: 0;
}
/* Image Container at the Bottom of the Menu */
.menu-image-container {
  position: absolute;
  bottom: 5px; /* Ensure it stays at the bottom - was 20px */
  left: 0;
  right: 0;
  padding: 0px; /* Add padding around the image */
  box-sizing: border-box; /* Ensure padding is included in the container's size */
  width: 100%;
  margin: 0 auto;
}
/* Hover effect for Menu Button */
#menuBtn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -6px;
  right: -6px;
  bottom: 0;
  background-color: black;
  opacity: 0; /* Initially invisible */
  transition: opacity 0.3s ease; /* Smooth transition */
}
/* Hover state for the menu button */
#menuBtn:hover::before {
  opacity: 1; /* Show the black box when hovered */
}
/* Image Styles */
.menu-image {
  width: 100%; /* Set width to 100% */
  height: auto; /* Set height to 300px */
  object-fit: cover; /* Ensure the image covers the entire container without distortion */
  margin-bottom: -20px; /* make image go to bottom */
  padding-left: 40px; /* leave space on left side of image */
  padding-right: 40px; /* leave space on right side of image */
}
/* Footer Styles */
footer {
  background-color: #333; /* Dark grey footer background */
  height: 354px; /* Set the height of the footer to 30% of viewport */
  display: flex;
  justify-content: flex-start; /* Align columns to the left */
  align-items: flex-start; /* Align content to the top */
  padding-left: 5%; /* Add some padding to the left */
  padding-top: 20px; /* Added padding to top for spacing */
}
.footer-columns {
  display: flex;
  width: 461px; /* Ensuring all 3 columns together take up no more than 46% of footer - was 50 changed to hard dimension */
  justify-content: space-between;
  padding-top: 30px; /* Reduced padding from 40px to 30px to move the content up */
}
.footer-column {
  width: auto; /* Each column will take 30% width */
  color: white;
  font-size: 0.9em;
}
#first-column {
  margin-right: 25px; /* give legal copy space from next closest column */
}
.footer-column h3 {
  font-size: 1.2em;
  margin-bottom: 10px;
}
.footer-column p.legal {
  margin-top: 195px; /* Display legal at bottom of footer - NEW */
}
.footer-column p.privacy-policy {
  margin-top: 166px; /* Display privacy policy at bottom of footer - NEW */
}
.social-icons {
  display: flex;
  justify-content: flex-start;
  gap: 10px;
}
.social-icons img {
  width: 24px;
  height: 24px;
  cursor: pointer;
}
h3.footer-subheadline { /* make the subheadline grey to stand out - NEW */
  color: darkgray;
}
a.footer-link {
  color: white; /* make the link white - NEW */
  text-decoration: none; /* do not underline the link - NEW */
  padding: 0;
}
a.footer-link-alternate { /* underline the privacy policy - NEW */
  text-decoration: underline;
  color: white;
}
#contact-photo-section {
	height: 500px;
	transition: height .3s ease;
}
@media screen and (max-width: 1374px) {
	#contact-photo-section {
		height: 875px;
	}
}
@media screen and (max-width: 768px) {
  footer {
    height: auto;
    padding-left: 20px; /* Add more padding for mobile */
    padding-bottom: 20px;
  }
  .footer-columns {
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
  }
  .footer-column {
    width: 100%;
    margin-bottom: 20px;
    font-size: 1em;
    text-align: left;
  }
  #menu a {
    font-size: 3.75em;
    padding: 0px; /* was 30px */
  }
  #menu .menu-column.right-column a {
    font-size: 1em;
  }
  #menuBtn {
    font-size: 2.5em;
  }
  #menu {
    flex-direction: column; /* Stack the columns vertically on small screens */
    padding: 20px;
  }
  .menu-column.left-column, .menu-column.right-column {
    width: 100%; /* Full width on mobile */
    text-align: left; /* Align text to the left for mobile */
  }
  .menu-column.right-column {
    text-align: left; /* Ensure right column aligns left on mobile */
  }
  .menu-column.left-column {
    margin-bottom: 900px;
  }
  .menu-column.left-column a#alternate-menu-item.work {
    width: 150px;
  }
  .menu-headline { /* shorten distance from nav menu */
    margin-top: -890px; /* was -890px */
  }
  /* On hover, the line expands to match the width of the menu item */
  .menu-column.left-column a:hover::after {
    width: 100%; /* Expand the line to full width of the item */
  }
  .menu-column.left-column a.work:hover::after {
    width: 100%; /* Expand the line to full width of the item */
  }
  .menu-column.left-column a.contact:hover::after {
    width: 100%; /* Expand the line to full width of the item */
  }
  .menu-phone {
    margin-top: 25px;
  }
  .menu-social {
    margin-top: 20px;
  }
  #contactpg-header {
    height: 1500px;
  }
  .headline {
    line-height: 1em;
  }
  .container {
    flex-direction: column;
    width: 100%;
    height: auto;
  }
  .left-section, .right-section {
    width: 100%;
    height: 450px;
  }
  .footer-column p.privacy-policy {
    margin-top: 30px; /* Display privacy policy at bottom of footer - NEW */
  }
  .footer-column p.legal {
    margin-top: 30px; /* Display legal at bottom of footer - NEW */
  }
  div.reveal-up {
    width: 100%;
  }
  h1.headline {
    font-size: 3em;
  }
  .intro-text {
    font-size: 1em;
    width: auto;
    padding: 0px 50px 0px 50px;
  }
  section.left-side {
    width: auto;
  }
  section.right-side {
    width: auto;
    padding: 0px 50px 0px 50px;
  }
  .four-column {
    width: auto;
  }
  #contactpg-header {
    height: auto;
  }
  #agency-address-section h3 {
    font-size: 1.2em;
  }
  #contact-photo-section {
    height: 500px;
  }
  .right-portion, .left-portion {
    width: auto;
  }
  .article-indiscia {
    justify-content: center;
  }
}
@media screen and (max-width: 640px) { /* NEW */
  .footer-column p.legal {
    margin-top: 24px;
  }
  .footer-column p.privacy-policy { /* NEW */
    margin-top: 24px;
  }
  footer {
    padding-bottom: 30px;
  }
  #header {
    height: 700px;
  }
  h1.headline {
    font-size: 2.3em;
  }
  section.right-side h1 {
    font-size: 2.3em;
  }
  .menu-image {
    margin-bottom: -15px;
    padding-left: 20px;
    padding-right: 20px;
  }
  .right-portion, .left-portion {
    width: auto;
  }
  .article-indiscia {
    justify-content: center;
  }
  #logo {
    width: 200px;
    height: auto;
  }
  #header.main-wkpg-header {
    height: 480px;
  }
  #header.clientpg-header {
    background-size: cover;
    background-position: bottom;
    background-repeat: no-repeat;
    height: 100px;
    padding-bottom: 1000px;
  }
  #contact-photo-section { /* shorten height on mobile */
    height: 425px;
  }
  }
@media screen and (max-width: 480px) {
  .divider { /* contact page divider */
    width: 130px;
    height: 7px;
  }
	#contact-photo-section {
		height: 325px;
	}
}
@media screen and (min-width: 1390px) {
  #header.clientpg-header {
    padding-bottom: 1375px;
  }
  span#dreamrentals-header #header.clientpg-header {
    padding-bottom: 1375px;
  }
	#contact-photo-section {
		padding-bottom: 1375px;
	}
}
@media screen and (min-width: 1675px) {
  #header.clientpg-header {
    padding-bottom: 1575px;
  }
  span#dreamrentals-header #header.clientpg-header {
    padding-bottom: 1575px;
  }
	#contact-photo-section {
		padding-bottom: 1575px;
	}
}
@media screen and (min-width: 2100px) {
  #header.clientpg-header {
    padding-bottom: 2375px;
  }
  span#dreamrentals-header #header.clientpg-header {
    padding-bottom: 2375px;
  }
	#contact-photo-section {
		padding-bottom: 2375px;
	}
}
@media screen and (min-width: 2570px) {
  #header.clientpg-header {
    padding-bottom: 2575px;
  }
  span#dreamrentals-header #header.clientpg-header {
    padding-bottom: 2575px;
  }
	#contact-photo-section {
		padding-bottom: 2575px;
	}
}