﻿ /* General styling */
 body {
     background-image: url('images/maroon_background2.jpg');
     background-repeat: repeat;
     margin: 0 auto;
     padding: 10px;
     border: ridge medium #FFCC00;
     font-family: "Poppins", sans-serif;
 }

 a:link,
 a:visited {
     color: #781618;
 }

 a:hover {
     color: red;
 } 

 a.white {
     color: white;
     text-decoration: none;
 }
p.white {
    color: white;
    font-size: .95em;
    margin:  15px auto;
}

 a.white:hover {
     text-decoration: underline;
 }

 h1,
 h2,
 h3,
 h4,
 h5,
 h6,
 p {
     color: #781618;
     margin: 2px 0;
 }

 h1 {
     font-size: 2.7em;
 }

 p {
     text-align: left;
     font-size: 18px;
     /* Adjust based on preference, 16px to 18px is generally good for readability */
     line-height: 1.6;
     /* Line height improves readability by ensuring text isn't too cramped */
     margin: 0 20px 20px 20px;
     /* As specified, adds space around paragraphs */
     max-width: 800px;
     /* Limit the width of paragraphs to improve readability */
 }

 h2 {
     font-size: 2em;
 }

 h3 {
     font-size: 1.5em;
 }

 img {
     max-width: 100%;
     height: auto;
 }

 .brand {
     font-size: 2em;
     color: #781618;
     font-weight: bold;
 }

 .sticky {
     position: -webkit-sticky;
     /* Safari */
     position: sticky;
     top: 0;
     background-color: white;
     z-index: 1000;
     border-bottom: 2px solid #ccc;
 }

/* menu styles */

 .hidden {
     display: none !important;
 }
 .visible {
    display: block; /* or 'flex', 'inline-block', etc., depending on your layout */
  }
  

 #menu {
     overflow: hidden;
 }

 #menu ul li {
     list-style-type: none;
     display: inline;
     margin: 5px;
 }

 #bookNowBtn {
     float: right;
     margin: 10px;
     padding: 10px 20px;
     background-color: #781618;
     color: white;
     border: none;
     cursor: pointer;
     font-size: 16px;
 }

 #bookNowBtn:hover {
     background-color: darkred;
 }
/* menu styles end */

 bolder {
     display: block;
     font-size: 1.6em;
     margin-block-start: 1em;
     margin-block-end: 1em;
     margin-inline-start: 0px;
     margin-inline-end: 0px;
     font-weight: bold;
 }

 .twothirds {
     width: 60%;
     text-align: center;
 }

 .priceincludes {
     color: #3179C3;
     font-size: 1.25em;
     text-align: center;
 }

 .address {
     border-radius: 20px;
    font-size: .8em;
    background-color: maroon;
}

 .maroon {
     font-weight: bold;
     color: #781618;
 }

 /* new image text block styles */
 .content {
     max-width: 800px;
     /* Adjust based on preference */
     margin: auto;
     padding: 20px;
 }

 .title {
     color: #0000FF;
     text-align: center;
     margin-bottom: 20px;
 }

 .text-with-image {
     display: flex;
     align-items: center;
     margin-bottom: 20px;
 }

 .text-with-image p {
     flex: 1;
     margin-left: 20px;
 }

 .image {
     width: 150px;
     /* Adjust based on preference */
     height: auto;
     flex-shrink: 0;
     /* Prevents image from resizing */
 }

 /* colors */
 .red {
     color: red;
 }

 .black {
     color: black;
 }

 .darkred {
     color: darkred;
     background-color: navajowhite;
 }

 .darkerred {
     color: #781618;
 }

 .green {
     color: #006600;
 }

 .white {
     color: white;
 }


 .blue {
     color: #00CCFF;
     text-align: center;
 }

 /* size */
 .smaller {
     font-size: .8em;
 }

 .larger {
     font-size: 1.3em;
 }

 .largerstill {
     font-size: 2em;

 }

 .ghost {
     background-color: white;
     padding: 10px;
 }

 .welcome {
     text-align: center;
     font-size: 1.3em;
 }

 .copyright {
     font-size: .8em;
     text-align: center;
     margin: 10px auto;

 }

 ul.half-day {
     list-style-type: disc;
     text-align: left
 }

 /* new */
 .form-message {
     background-color: #e74d67;
     border: 1px red;
 }

 form#booknow {
     background-color: #f7f0db;
     padding: 25px;
     border-radius: 8px;
     box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
     width: 79%;
     max-width: 400px;
     border: 1px solid #ccc;
     margin: 20px auto;
     display: flex;
     flex-direction: column;
     align-items: center;
 }

 /* Common styles for inputs, textareas, selects, and submit buttons within form#booknow */
 form#booknow input[type="date"],
 form#booknow textarea,
 form#booknow select,
 form#booknow input[type="submit"] {
     font-family: "Poppins", sans-serif;
     /* Aligning with the body font */
     color: #5a4e47;
     /* Dark earth tone for contrast */
     width: 60%;
     padding: 12px;
     margin-bottom: 20px;
     margin-left: auto;
     margin-right: auto;
     border: 1px solid #ccc;
     border-radius: 4px;
     background-color: #fafafa;
 }

 /* Adjusting textarea and button specifics */
 form#booknow textarea {
     resize: vertical;
 }

 form#booknow input[type="submit"] {
     background-color: #8b5a2b;
     color: white;
     font-size: 18px;
 }

 form#booknow input[type="submit"]:hover {
     background-color: #7a4f2e;
 }

 .creditcards {
     max-width: 50%;

 }

 /* new end */
 #circular-portrait {
     border-radius: 50%;
     object-fit: cover;
     opacity: 0.25;
     /* Updated opacity */
 }

 .menu-container {
     display: flex;
     /* Enable Flexbox for the menu container */
     align-items: center;
     /* Center items vertically */
     flex-grow: 1;
     /* Allows the menu container to take up the remaining space */
 }

 .tinyphotoleft {
     float: left;
     margin: 0 5px;
     padding: 0;
     vertical-align: text-top;
 }

 .tinyphotoright {
     float: right;
     margin: 0 5px;
     padding: 0;
     vertical-align: text-top;
 }

 .attribution {
     font-size: 12px;
 }

 /* Layout adjustments */
 .hero-section {
     display: flex;
     flex-direction: column;
     align-items: center;
 }

 .hero-image,
 .form-container {
     width: 100%;
     padding: 10px 0;
     margin: 10px 0 25px 0;

 }

 .form-container {
     order: -1;
     /* Ensures form is prioritized in mobile view */
 }

 #textbox,
 footer {
     background-color: white;
     padding: 10px;
     margin: 5px auto;
     border-radius: 15px;
     text-align: center;
 }

 #footer-menu {
     background-color: white;
 }

 div.quick-facts p {
     margin: 17px 10px;
 }

 .quick-facts {
     background-color: #f2f2f2;
     /* Light grey background */
     padding: 20px;
     border-radius: 8px;
     margin-bottom: 15px;
     /* Adds some space between Quick Facts and the tour description */
 }

 .quick-facts ul {
     list-style-type: disc;
     padding: 0;
     text-align: left;
     color: #781618;
 }

 .quick-facts ul li {
     padding-bottom: 1px;
     font-size: 14px;
 }
 li.starttime
    {
        margin-left: 15px;
        list-style-type:none;
 }

 /* Responsive adjustments */
 @media (min-width: 601px) and (max-width: 768px) {

     /* Tablet styles */
     .tour-listing {
         flex-direction: column;
     }

     .tour-image {
         order: -1;
         /* Makes the image appear first */
         margin-bottom: 20px;
         /* Adds some space below the image */
         align-self: center;
         /* Center the image if the container is wider */
         max-width: 100%;
         /* Ensures the image is not wider than the container */
     }

     .hero-section {
         flex-direction: column-reverse;
     }

     .hero-image,
     .form-container {
         max-width: 100%;
         width: 100%;
     }


     /* NEW */
     .text-with-image {
         display: flex;
         align-items: center;
         margin-bottom: 20px;
     }

     .text-with-image img {
         width: 150px;
         /* Adjust based on preference */
         height: auto;
         flex-shrink: 0;
         /* Prevents image from resizing */
     }

     .text-with-image p {
         flex: 1;
         margin-left: 20px;
     }

     .images-side-by-side {
         flex-direction: column;
         align-items: center;
     }

     .image-small {
         margin-bottom: 20px;
     }
 }

 @media (min-width: 769px) {

     /* Desktop styles */
     .hero-section {
         flex-direction: row;
         justify-content: space-between;
     }

     .form-container {
         max-width: 50%;
     }

     .form-container {
         order: 0;
         /* Reset order for desktop */
     }

     #wrap {
         background-color: #00ccff;
         text-align: center;
         margin: 0 auto;
         width: 95%;
         border-radius: 20px;
         padding: 5px;
     }
 }

 @media (max-width: 600px) {

     textarea#pickupLocation,
     input[type="date"],
     select {
         width: 100%;
         box-sizing: border-box;
     }

     .tour-listing {
         flex-direction: column;
     }

     .tour-image {
         order: -1;
         /* Makes the image appear first */
         margin-bottom: 20px;
         /* Adds some space below the image */
         align-self: center;
         /* Center the image if the container is wider */
         max-width: 100%;
         /* Ensures the image is not wider than the container */
     }

     .photo-container {
         display: flex;
         flex-wrap: wrap;
         justify-content: center;
         gap: 10px;
     }

     .photo-container img {
         flex: 1 1 auto;
         max-width: calc(50% - 10px);
         height: auto;
     }
 }

 .kudosred {
     font-size: 1.3em;
     padding: 45px;
     margin: 0px auto;
     background-color: darkred;
     text-align: center;
     color: wheat;
 }

 .kudosblue {
     font-size: 1.3em;
     padding: 50px 67px;
     margin: auto;
     background-color: #00ccff;
     text-align: center;
     color: #333333;
 }

 .kudosgrey {
     font-size: 1.3em;
     padding: 50px;
     margin: 20px;
     background-color: #f3f3f3;
     text-align: center;
 }

 .kudoslightyellow {
     font-size: 1.3em;
     padding: 50px;
     margin: 20px;
     background-color: #E3E4D0;
     text-align: center;
 }


 p.kudos {
     color: papayawhip;
 }


 .booking {
     font-size: 1.3em;
 }

 /* Utility classes */
 .border {
     border: 1px solid black;
     margin: 4px;
 }

 .centerheart {
     margin: auto;
     display: block;

 }

 .center,
 .centeredphoto,
 .centeredphoto2 {
     margin: auto;
     display: block;
     width: 100%;
     text-align: center;
 }
 .centeredphoto3 {
    margin: auto;
    display: block;
}
 .centerp {
     text-align: center;
 }

 .clear_left,
 .clear_right {
     clear: both;
 }

 .inline {
     display: inline-block;
     width: 300px;
     padding: 5px;
 }

 .position-up,
 .position-up2,
 #paypal-button-container {
     margin: 20px auto;
 }

 ul.value {
     text-align: left;
     list-style: disc;
     background-color: #f4f4f4;
     margin: 0px;

 }

 .greyback {
     background-color: #f4f4f4;
     padding: 30px;

 }

 ul.foot li {
     font-size: .87em;
     list-style-type: none;
     display: inline;
     margin: 5px;
 }

 .tour-listing {
     display: flex;
     align-items: center;
     border-radius: 15px;
     background-color: #f0f0f0;
     padding: 20px;
     margin-bottom: 20px;
 }

 .tour-image {
     border-radius: 15px;
     max-width: 350px;
     margin-right: 20px;
 }

 .tour-description p {
     font-family: 'Poppins', sans-serif;
     font-size: 16px;
 }

 .book-now-btn {
     background-color: #781618;
     color: white;
     border: none;
     padding: 10px 20px;
     border-radius: 8px;
     font-family: 'Poppins', sans-serif;
     cursor: pointer;
     margin-top: 20px;
     text-align: right;
     display: block;
     float: right;
 }

 .book-now-btn:hover {
     background-color: #a52a2a;
 }


 #menuList, #bookNowBtn {
    display: block; /* Show menu and button in desktop view */
  }
  
  #hamburger-icon {
    display: none; /* Hide hamburger icon in desktop view */
    cursor: pointer;
    padding: 10px;
    font-size: 30px;
    position: absolute;
    top: 10px;
    left: 10px;
  }

 #menu ul li {
     display: inline-block;
     /* Display menu items inline for desktop */
     margin: 0 10px;
     /* Adjust spacing around menu items */
 }

 /* Styles for mobile views, ensuring menu visibility and styling */
 @media (max-width: 767px)
 {
    #menuList {
        display: none; /* Hide menu in mobile view */
      }
    
      #hamburger-icon {
        display: block; /* Show hamburger icon in mobile view */
        cursor: pointer; /* Make it look clickable */
      }

    /* Ensure list items are styled appropriately for mobile */
    #menu ul li {
        display: block;
        margin: 5px 0 0 60px;
        text-align: left;
    }
}
     #menu ul li a {
         display: block;
         /* Ensure the entire area of the list item is clickable */
         text-decoration: underline;
     }

     .text-with-image {
         flex-direction: column;
         align-items: flex-start;
         /* Align items to the start of the flex container */
     }

     .text-with-image img {
         width: 100%;
         /* Adjust width as necessary for your design */
         margin-bottom: 10px;
         /* Space between image and text */
     }

     .text-with-image p {
         margin-left: 0;
         /* Reset margin since the image is no longer to the left */
         text-align: left;
         /* Ensure text is aligned to the left */
     }
 

 /* Optional: Enhance readability for larger screens */
 @media screen and (min-width: 1024px) {
     p {
         font-size: 20px;
         /* Slightly larger font for larger displays */
         line-height: 1.75;
         margin: 0 20px 24px 20px;
         /* Increase bottom margin for better visual separation */
     }
 }