@charset "UTF-8";
/* CSS Document */

/* General Page Styling */
body {
  font-family: 'Arial', sans-serif;
  margin: 0;
  padding: 0;
  background-color: #f8f8f8;
  color: #333;
}

h1, h2 {
  color: #444;
}

/* Hero Image Styling */
#hero {
  position: relative;
  background-size: cover;
  background-position: center;
  margin: 30px 0 0;
}

.hero-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: white;
  background: rgba(0, 0, 0, 0.5); /* Black background with 50% opacity */
  padding: 20px; /* Add padding to create space around the text */
  border-radius: 10px; /* Optional: Add rounded corners */
}


/* General Carousel Styling */
#carousel {
  background-color: #fff;
  padding: 10px 0;
}

#carousel h1 {
  font-size: 36px;
  margin: 0px;
  font-family: 'Alex Brush', sans-serif;
  color: #000000;
  text-shadow: 2px 2px rgba(18,127,208,1.00);
}

.carousel-container {
  display: flex;
  overflow: hidden;
  width: 100%;
  justify-content: center;
  height: auto;
}

.carousel-slide {
  flex: 0 0 80%;
  display: flex;
  align-items: center;
  justify-content: space-betIen;
  transition: transform 0.5s ease;
}

.carousel-slide img {
  width: 40%;
}

.etsy-reviews-section { 

	margin-bottom: 40px;
}


.review-info {
  width: 45%;
}

.review-info h2 {
  margin-bottom: 16px;
  font-size: 24px;
  font-family: 'Noteworthy-Bold', sans-serif;
}

.review-info p {
  margin-bottom: 16px;
  font-size: 14px;
  font-family: 'Noteworthy-Light', sans-serif;
}

.prev, .next {
  background-color: #333;
  color: white;
  border: none;
  padding: 0px;
  cursor: pointer;
  position: absolute;
  top: 85%;
  transform: translateY(-50%);
}

.prev {
  left: 1%;
}

.next {
  right: 1%;
}

button.prev, button.next {
    background-color: blue;  /* Button background color */
    color: white;  /* Text color */
    border: 2px solid black;  /* Border color */
	border-radius: 10px;
    padding: 5px 10px;  /* Button padding */
    font-size: 12px;  /* Text size */
    cursor: pointer;  /* Pointer cursor on hover */
    transition: background-color 0.3s ease, color 0.3s ease;  /* Smooth transition */
	margin: 30px 1px 0px 1px;
}

button.prev:hover, button.next:hover {
    background-color: white;  /* Background on hover */
    color: blue;  /* Text color on hover */
}

button.prev:active, button.next:active {
    background-color: black;  /* Background color when clicked */
    color: white;  /* Text color when clicked */
}


/* Map Section */
#map {
  padding: 48px 0;
  background-color: #e8e8e8;
}

#client-map {
  width: 80%;
  height: 400px;
  margin: 0 auto;
  background-color: #ddd;
}


/* Etsy Reviews Button Section Styling */


.etsy-reviews-section {
    display: flex;
    justify-content: center;
    margin: 10px 0px 20px 0px;
}


.etsy-reviews-btn {
    background-color: blue;  /* Button background color */
    color: white;  /* Text color */
    border: 2px solid black;  /* Border color */
    border-radius: 10px;
    padding: 5px 10px;  /* Button padding */
    font-size: 12px;  /* Text size */
    cursor: pointer;  /* Pointer cursor on hover */
    transition: background-color 0.3s ease, color 0.3s ease;  /* Smooth transition */
    text-align: center;
	
}

.etsy-reviews-btn:hover {
    background-color: white;  /* Background on hover */
    color: blue;  /* Text color on hover */
}

.etsy-reviews-btn:active {
    background-color: black;  /* Background when clicked */
    color: white;  /* Text color when clicked */
}




/* Media Queries for Responsive Design */


/* min-width: 1920px */
@media (min-width: 1920px) {
	
.happy_clients_page_container  {
	margin: 0px auto 0px auto;
    padding: 0;
    background-color: #ffffff;
    color: #ffffff; /* Changed to white */
	max-width: 1920px;
	height: auto;
	border: 1px solid #000000;
	
	
}

	
  #hero {
    height: 864px;
    background-image: url(../img/happy_clients_page/hero_image_1920px.jpg);
  }

  .hero-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: white;
    background: rgba(18,127,208,0.6); /* Blue background with 60% opacity */
    padding: 10px; /* Remove padding for smaller screens */
    border-radius: 10px; /* Optional: Add rounded corners */
    width: 70%;
  }

 .hero-text h1 {
    font-size: 100px;
	line-height: 90px;
    margin: 15px 10px 0px 10px;
    font-family: 'Alex Brush', sans-serif;
    color: #ffffff;
    text-shadow: 2px 2px rgba(0,0,0,1.00);
  }

 .hero-text h2 {
    font-size: 40px;
	line-height: 40px;
    margin: 0px 250px 10px 250px;
    font-family: 'Grand Rainbow Demo', sans-serif;
    color: #ffffff;
    text-shadow: 2px 2px rgba(0,0,0,1.00);
  }

	
.prev, .next {
  background-color: #333;
  color: white;
  border: none;
  padding: 0px;
  cursor: pointer;
  position: absolute;
  top: 95%;
  transform: translateY(-50%);
}

.prev {
  left: 25%;
}

.next {
  right: 25%;
}
	
	
/* Stack carousel items vertically */
  .carousel-container {
    display: flex;
    flex-direction: column; /* Stack content vertically */
    align-items: center;
    justify-content: center;
    max-width: 1201px; /* Ensure the carousel fits within the small screen */
    padding: 0px;
	 margin: 0px auto 0px auto;
  }

	
.carousel-header h3 {
  font-size: 45px;
  line-height: 40px;
  margin: 20px 10px 0px 10px;
  font-family: 'Alex Brush', sans-serif;
  color: #000000;
  text-shadow: 1px 1px rgba(18,127,208,1.00);
	text-align: center;
}

	
  .carousel-slide {
    flex-direction: column; /* Stack image and info vertically */
    align-items: center;
    justify-content: center;
    width: 100%; /* Make each slide take up full width */
  }

  .carousel-slide img {
    width: 40%; /* Make the image take the full width on small screens */
    padding: 0;
    margin: 0;
  }

  .review-info {
    width: 100%; /* Make sure the review info takes the full width */
    text-align: center; /* Center-align the text for smaller screens */
    margin: 10px 10px 0px 10px; /* Add some space betIen the image and the info */
  }

  .review-info h2, .review-info p {
    font-size: 16px; /* Adjust font size for readability on smaller screens */
    line-height: 25px;
	   margin: 10px 80px 10px 80px;
	   color: #000000;
  }
}



/* max-width: 1920px */
@media (max-width: 1920px) {
  #hero {
    height: 864px;
    background-image: url(../img/happy_clients_page/hero_image_1920px.jpg);
  }

  .hero-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: white;
    background: rgba(18,127,208,0.6); /* Blue background with 60% opacity */
    padding: 10px; /* Remove padding for smaller screens */
    border-radius: 10px; /* Optional: Add rounded corners */
    width: 70%;
  }

 .hero-text h1 {
    font-size: 100px;
	line-height: 90px;
    margin: 15px 10px 0px 10px;
    font-family: 'Alex Brush', sans-serif;
    color: #ffffff;
    text-shadow: 2px 2px rgba(0,0,0,1.00);
  }

 .hero-text h2 {
    font-size: 40px;
	line-height: 40px;
    margin: 0px 150px 10px 150px;
    font-family: 'Grand Rainbow Demo', sans-serif;
    color: #ffffff;
    text-shadow: 2px 2px rgba(0,0,0,1.00);
  }

	
.prev, .next {
  background-color: #333;
  color: white;
  border: none;
  padding: 0px;
  cursor: pointer;
  position: absolute;
  top: 95%;
  transform: translateY(-50%);
}

.prev {
  left: 25%;
}

.next {
  right: 25%;
}
	
	
/* Stack carousel items vertically */
  .carousel-container {
    display: flex;
    flex-direction: column; /* Stack content vertically */
    align-items: center;
    justify-content: center;
    max-width: 1201px; /* Ensure the carousel fits within the small screen */
    padding: 0px;
	 margin: 0px auto 0px auto;
  }

	
.carousel-header h3 {
  font-size: 45px;
  line-height: 40px;
  margin: 20px 10px 0px 10px;
  font-family: 'Alex Brush', sans-serif;
  color: #000000;
  text-shadow: 1px 1px rgba(18,127,208,1.00);
	text-align: center;
}

	
  .carousel-slide {
    flex-direction: column; /* Stack image and info vertically */
    align-items: center;
    justify-content: center;
    width: 100%; /* Make each slide take up full width */
  }

  .carousel-slide img {
    width: 40%; /* Make the image take the full width on small screens */
    padding: 0;
    margin: 0;
  }

  .review-info {
    width: 100%; /* Make sure the review info takes the full width */
    text-align: center; /* Center-align the text for smaller screens */
    margin: 10px 10px 0px 10px; /* Add some space betIen the image and the info */
  }

  .review-info h2, .review-info p {
    font-size: 16px; /* Adjust font size for readability on smaller screens */
    line-height: 25px;
	   margin: 10px 80px 10px 80px;
  }
}


/* max-width: 1200px */
@media (max-width: 1200px) {
  #hero {
    height: 678px;
    background-image: url(../img/happy_clients_page/hero_image_1200px.jpg);
  }

  .hero-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: white;
    background: rgba(18,127,208,0.6); /* Blue background with 60% opacity */
    padding: 0; /* Remove padding for smaller screens */
    border-radius: 10px; /* Optional: Add rounded corners */
    width: 64%;
  }

 .hero-text h1 {
    font-size: 75px;
	line-height: 70px;
    margin: 15px 10px 0px 10px;
    font-family: 'Alex Brush', sans-serif;
    color: #ffffff;
    text-shadow: 2px 2px rgba(0,0,0,1.00);
  }

 .hero-text h2 {
    font-size: 25px;
	line-height: 25px;
    margin: 0px 20px 10px 20px;
    font-family: 'Grand Rainbow Demo', sans-serif;
    color: #ffffff;
    text-shadow: 2px 2px rgba(0,0,0,1.00);
  }

	
.prev, .next {
  background-color: #333;
  color: white;
  border: none;
  padding: 0px;
  cursor: pointer;
  position: absolute;
  top: 95%;
  transform: translateY(-50%);
}

.prev {
  left: 10%;
}

.next {
  right: 10%;
}
	
	
/* Stack carousel items vertically */
  .carousel-container {
    display: flex;
    flex-direction: column; /* Stack content vertically */
    align-items: center;
    justify-content: center;
    max-width: 1000px; /* Ensure the carousel fits within the small screen */
    padding: 0px;
	  margin: 0px auto 0px auto;
  }

	
.carousel-header h3 {
  font-size: 45px;
  line-height: 40px;
  margin: 20px 10px 0px 10px;
  font-family: 'Alex Brush', sans-serif;
  color: #000000;
  text-shadow: 1px 1px rgba(18,127,208,1.00);
	text-align: center;
}

	
  .carousel-slide {
    flex-direction: column; /* Stack image and info vertically */
    align-items: center;
    justify-content: center;
    width: 100%; /* Make each slide take up full width */
  }

  .carousel-slide img {
    width: 40%; /* Make the image take the full width on small screens */
    padding: 0;
    margin: 0;
  }

  .review-info {
    width: 100%; /* Make sure the review info takes the full width */
    text-align: center; /* Center-align the text for smaller screens */
    margin: 10px 10px 0px 10px; /* Add some space betIen the image and the info */
  }

  .review-info h2, .review-info p {
    font-size: 16px; /* Adjust font size for readability on smaller screens */
    line-height: 22px;
	   margin: 10px 80px 10px 80px;
  }
}








/* max-width: 768px */
@media (max-width: 768px) {
  #hero {
    height: 925px;
    background-image: url(../img/happy_clients_page/hero_image_768px.jpg);
  }

  .hero-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: white;
    background: rgba(18,127,208,0.6); /* Blue background with 60% opacity */
    padding: 0; /* Remove padding for smaller screens */
    border-radius: 10px; /* Optional: Add rounded corners */
    width: 75%;
  }

 .hero-text h1 {
    font-size: 75px;
	line-height: 65px;
    margin: 15px 0px 0px 0px;
    font-family: 'Alex Brush', sans-serif;
    color: #ffffff;
    text-shadow: 2px 2px rgba(0,0,0,1.00);
  }

 .hero-text h2 {
    font-size: 25px;
	line-height: 28px;
    margin: 0px 50px 10px 50px;
    font-family: 'Grand Rainbow Demo', sans-serif;
    color: #ffffff;
    text-shadow: 2px 2px rgba(0,0,0,1.00);
  }

	
.prev, .next {
  background-color: #333;
  color: white;
  border: none;
  padding: 0px;
  cursor: pointer;
  position: absolute;
  top: 90%;
  transform: translateY(-50%);
}

.prev {
  left: 1%;
}

.next {
  right: 1%;
}
	
	
/* Stack carousel items vertically */
  .carousel-container {
    display: flex;
    flex-direction: column; /* Stack content vertically */
    align-items: center;
    justify-content: center;
    max-width: 768px; /* Ensure the carousel fits within the small screen */
    padding: 0px;
  }

	
.carousel-header h3 {
  font-size: 45px;
  line-height: 40px;
  margin: 20px 50px 0px 50px;
  font-family: 'Alex Brush', sans-serif;
  color: #000000;
  text-shadow: 1px 1px rgba(18,127,208,1.00);
	text-align: center;
}

	
  .carousel-slide {
    flex-direction: column; /* Stack image and info vertically */
    align-items: center;
    justify-content: center;
    width: 100%; /* Make each slide take up full width */
  }

  .carousel-slide img {
    width: 70%; /* Make the image take the full width on small screens */
    padding: 0;
    margin: 0;
  }

  .review-info {
    width: 100%; /* Make sure the review info takes the full width */
    text-align: center; /* Center-align the text for smaller screens */
    margin: 10px 10px 0px 10px; /* Add some space betIen the image and the info */
  }

  .review-info h2, .review-info p {
    font-size: 16px; /* Adjust font size for readability on smaller screens */
    line-height: 22px;
	   margin: 10px 80px 10px 80px;
  }
}


/* max-width: 480px */
@media (max-width: 480px) {
  #hero {
    height: 680px;
    background-image: url(../img/happy_clients_page/hero_image_480px.jpg);
  }

  .hero-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: white;
    background: rgba(18,127,208,0.6); /* Blue background with 60% opacity */
    padding: 0; /* Remove padding for smaller screens */
    border-radius: 10px; /* Optional: Add rounded corners */
    width: 85%;
  }

 .hero-text h1 {
    font-size: 55px;
	line-height: 50px;
    margin: 5px 0px 0px 0px;
    font-family: 'Alex Brush', sans-serif;
    color: #ffffff;
    text-shadow: 2px 2px rgba(0,0,0,1.00);
  }

 .hero-text h2 {
    font-size: 18px;
	line-height: 20px;
    margin: 0px 10px 10px 10px;
    font-family: 'Grand Rainbow Demo', sans-serif;
    color: #ffffff;
    text-shadow: 1px 1px rgba(0,0,0,1.00);
  }

	
.prev, .next {
  background-color: #333;
  color: white;
  border: none;
  padding: 0px;
  cursor: pointer;
  position: absolute;
  top: 94%;
  transform: translateY(-50%);
}

.prev {
  left: 1%;
}

.next {
  right: 1%;
}
	
	
/* Stack carousel items vertically */
  .carousel-container {
    display: flex;
    flex-direction: column; /* Stack content vertically */
    align-items: center;
    justify-content: center;
    max-width: 480px; /* Ensure the carousel fits within the small screen */
    padding: 0px;
  }

	
.carousel-header h3 {
  font-size: 35px;
  line-height: 30px;
  margin: 20px 10px 0px 10px;
  font-family: 'Alex Brush', sans-serif;
  color: #000000;
  text-shadow: 1px 1px rgba(18,127,208,1.00);
	text-align: center;
}

	
  .carousel-slide {
    flex-direction: column; /* Stack image and info vertically */
    align-items: center;
    justify-content: center;
    width: 100%; /* Make each slide take up full width */
  }

  .carousel-slide img {
    width: 70%; /* Make the image take the full width on small screens */
    padding: 0;
    margin: 0;
  }

  .review-info {
    width: 100%; /* Make sure the review info takes the full width */
    text-align: center; /* Center-align the text for smaller screens */
    margin: 10px 10px 0px 10px; /* Add some space betIen the image and the info */
  }

  .review-info h2, .review-info p {
    font-size: 16px; /* Adjust font size for readability on smaller screens */
    line-height: 20px;
  }
}





/* max-width: 300px */
@media (max-width: 300px) {
  #hero {
    height: 405px;
    background-image: url(../img/happy_clients_page/hero_image_300px.jpg);
  }

  .hero-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: white;
    background: rgba(18,127,208,0.6); /* Blue background with 60% opacity */
    padding: 0; /* Remove padding for smaller screens */
    border-radius: 10px; /* Optional: Add rounded corners */
    width: 90%;
  }

  .hero-text h1 {
    font-size: 30px;
    margin: 10px 0px 0px 0px;
    font-family: 'Alex Brush', sans-serif;
    color: #ffffff;
    text-shadow: 2px 2px rgba(0,0,0,1.00);
	  padding: 0;
	  line-height: 30px;
  }

 .hero-text h2 {
    font-size: 16px;
    margin: 0px 10px 10px 10px;
    font-family: 'Grand Rainbow Demo', sans-serif;
    color: #ffffff;
    text-shadow: 1px 1px rgba(0,0,0,1.00);
	 padding: 0;
  }

	
.prev, .next {
  background-color: #333;
  color: white;
  border: none;
  padding: 0px;
  cursor: pointer;
  position: absolute;
  top: 90%;
  transform: translateY(-50%);
}

.prev {
  left: 1%;
}

.next {
  right: 1%;
}
	
	
/* Stack carousel items vertically */
  .carousel-container {
    display: flex;
    flex-direction: column; /* Stack content vertically */
    align-items: center;
    justify-content: center;
    max-width: 300px; /* Ensure the carousel fits within the small screen */
    padding: 0px;
  }

	
.carousel-header h3 {
  font-size: 28px;
  line-height: 25px;
  margin: 15px 60px 0px 60px;
  font-family: 'Alex Brush', sans-serif;
  color: #000000;
  text-shadow: 1px 1px rgba(18,127,208,1.00);
  text-align: center;
}

	
  .carousel-slide {
    flex-direction: column; /* Stack image and info vertically */
    align-items: center;
    justify-content: center;
    width: 100%; /* Make each slide take up full width */
  }

  .carousel-slide img {
    width: 60%; /* Make the image take the full width on small screens */
    padding: 0;
    margin: 0;
  }

  .review-info {
    width: 100%; /* Make sure the review info takes the full width */
    text-align: center; /* Center-align the text for smaller screens */
    margin: 0px 0px 0px 0px; /* Add some space betIen the image and the info */
  }

  .review-info h2, .review-info p {
    font-size: 12px; /* Adjust font size for readability on smaller screens */
    line-height: 14px;
  }
}