/* General Font Style, Page Margin Reset, and Background Color */
body {
    font-family: 'Roboto', sans-serif; /* Apply Roboto font throughout */
    margin: 0; /* Remove default margin */
    background-color: #c0c0c0; /* Set background color */
}

.foto-cap {
    font-size: 10px; /* Set the font size to ? pixels */
}


/* Logo */
.gts-logo {
    text-align: center; /* Center the logo horizontally */
    padding: 10px 0; /* Add some space above and below the logo */
}

.gts-logo img {
    max-width: 100px; /* Set a maximum width for the logo */
    height: auto; /* Maintain the aspect ratio */
}

/* Page title */
.page-title {
    text-align: center; /* Center the title */
    font-size: 1.5em; /* Adjust the font size */
    margin: 5px 0 5px; /* Margin above and below the title */
    font-weight: bold; /* Make the text bold */
}

/* Main flexbox container */
.container {
    display: flex;
    justify-content: space-around; /* Center the divs */
    flex-wrap: wrap; /* Allow boxes to wrap on smaller screens */
    padding: 10px; /* Padding around the container */
    background-color: #c0c0c0;
    }

/* Child boxes - common to all */
.box {
    flex: 0 0 550px; /* Flex-grow: 0, Flex-shrink: 0, Flex-basis: 200px */
    margin: 10px; /* Margin between boxes */
    background-color: white; /* White background */
    border: 3px solid #25aadd; /* Border color and width */
    border-radius: 10px; /* Rounded corners */
    padding: 0; /* Remove padding */
    box-sizing: border-box; /* Include padding and border in the width */
    overflow: hidden; /* Prevent overflow */
}



/* Tablet (768px - 1024px) */
@media (max-width: 1024px) {
    .box {
        flex: 0 0 350px; /* Reduce the width of boxes */
    }
}

/* Mobile (max-width 767px) */
@media (max-width: 767px) {
    .container {
        justify-content: center; /* Center the content */
    }
    .box {
        flex: 0 0 100%; /* Boxes take full width */
        margin: 10px 0; /* Margin adjusted for full-width boxes */
    }
}



/* Child boxes H2 - common to all */
.box h2 {
    margin: 0; /* Remove all margins */
    font-size: 1em; /* Smaller font size */
    text-align: center; /* Center the title */
    background-color: #25aadd; /* Title background color */
    color: white; /* White text color */
    line-height: 1.2; /* Reduce line height */
    padding: 5px 0; /* Padding for the title */
    border-top-left-radius: 6px; /* Rounded corners for the top */
    border-top-right-radius: 6px; /* Rounded corners for the top */
}

/* Link Box Styles */
.box.link .image-wrapper {
    padding: 50px 50px 10px 50px; /* Space around the image - Top - Right - Bottom - Left */
    margin: 50px 50px 10px 50px; /* Space between the image and the content around it */
}

.box.link  .image-wrapper img {
    width: 100%; /* Full width of the wrapper */
    height: auto; /* Maintain aspect ratio */
    display: block; /* Remove extra space below the image */
    
}

.box.link  .text-wrapper {
    padding: 20px; /* Padding around the text */
    border-radius: 5px; /* Rounded corners for the wrapper */
    text-align: center; /* Center-align the text */
}

.box.link  .text-wrapper p {
    margin: 0; /* Remove default margin from paragraph */

}

/* Topo Box Styles */
.box.topo .image-wrapper {
    padding: px; /* Space around the image */
    margin: 10px; /* Space between the image and the content around it */
}

.box.topo .image-wrapper img {
    width: 100%; /* Full width of the wrapper */
    height: auto; /* Maintain aspect ratio */
    display: block; /* Remove extra space below the image */
}

.box.topo .text-wrapper {
    padding: 20px; /* Padding around the text */
    border-radius: 5px; /* Rounded corners for the wrapper */
}

.box.topo .text-wrapper p {
    margin: 5; /* Remove default margin from paragraph */
    font-weight: 600; /* Slightly bolder text */
    font-size: 14px; /* Change the font size (adjust as needed) */
}

.box.topo .buy-button-wrapper p {
    margin: 0; /* Remove default margin from paragraph */
    text-align: center; /* Center the button */
}

.box.topo .buy-button-wrapper p {
    margin: 0; /* Remove default margin from paragraph */
    text-align: center; /* Center the button */
}

.box.topo .buy-button {
    display: inline-block; /* Make the link behave like a button */
    background-color: #25aadd; /* Button background color */
    color: white; /* Text color */
    padding: 5px; /* Padding inside the button */
    border: none; /* Remove default border */
    border-radius: 5px; /* Rounded corners */
    font-size: 14px; /* Font size */
    font-weight: bold; /* Make the text bold */
    cursor: pointer; /* Change cursor to pointer on hover */
    text-decoration: none; /* Remove underline from link */
    transition: background-color 0.3s ease; /* Smooth background color transition */
    margin-bottom: 10px; /* Add space below the button */
}


.box.topo .buy-button:hover {
    background-color: #c0c0c0; /* Darker background on hover */
}



/* Traverses Box Styles */
.box.traverses .image-wrapper {
    padding: 10px; /* Space around the image */
    margin: 20px; /* Space between the image and the content around it */
}

.box.traverses .image-wrapper img {
    width: 100%; /* Full width of the wrapper */
    height: auto; /* Maintain aspect ratio */
    display: block; /* Remove extra space below the image */
}

.box.traverses .text-wrapper {
    padding: 20px; /* Padding around the text */
    border-radius: 5px; /* Rounded corners for the wrapper */
}

.box.traverses .text-wrapper p {
    margin: 0; /* Remove default margin from paragraph */
}

/* Entradas Box Styles */
.box.entradas .image-wrapper {
    padding: px; /* Space around the image */
    margin: 10px; /* Space between the image and the content around it */
}

.box.entradas .image-wrapper img {
    width: 100%; /* Full width of the wrapper */
    height: auto; /* Maintain aspect ratio */
    display: block; /* Remove extra space below the image */
}

.box.entradas .text-wrapper {
    padding: 20px; /* Padding around the text */
    border-radius: 5px; /* Rounded corners for the wrapper */
}

.box.entradas .text-wrapper p {
    margin: 0; /* Remove default margin from paragraph */
}

/* Indicaciones Box Styles */
.box.indicaciones .image-wrapper {
    padding: 10px; /* Space around the image */
    margin: 20px; /* Space between the image and the content around it */
}

.box.indicaciones .image-wrapper img {
    width: 100%; /* Full width of the wrapper */
    height: auto; /* Maintain aspect ratio */
    display: block; /* Remove extra space below the image */
}

.slideshow-container {
    width: 100%; /* Full width of the parent container */
    max-width: 100%; /* Ensure it doesn't exceed the parent width */
    margin: 0 auto; /* Center the slideshow container */
    position: relative; /* Position relative to contain absolute elements */
    height: 100%; /* Full height of the parent container */
}

.slides {
    display: none; /* Hide all slides by default */
}

.slides:first-child {
    display: block; /* Ensure the first slide is visible */
}

.slides img {
    width: 100%; /* Ensure images take up the full width of the slideshow container */
    height: auto; /* Maintain aspect ratio */
    display: block; /* Ensure no inline spacing issues */
}

.prev, .next {
    cursor: pointer;
    position: absolute;
    top: 50%;
    width: auto;
    padding: 16px;
    margin-top: -22px;
    color: white;
    font-weight: bold;
    font-size: 18px;
    transition: 0.6s ease;
    border-radius: 0 3px 3px 0;
    user-select: none;
}

.prev {
    left: 0; /* Align the left arrow to the left edge */
    border-radius: 3px 0 0 3px; /* Adjust border radius for the left arrow */
}

.next {
    right: 0; /* Align the right arrow to the right edge */
    border-radius: 0 3px 3px 0; /* Adjust border radius for the right arrow */
}

.prev:hover, .next:hover {
    background-color: rgba(0, 0, 0, 0.8); /* Darken background on hover */
}

/* Fotos Box Styles */
        .box.fotos .image-wrapper {
            padding: px; /* Space around the image */
            margin: 10px; /* Space between the image and the content around it */
}

.box.fotos .image-wrapper img {
    width: 100%; /* Full width of the wrapper */
    height: auto; /* Maintain aspect ratio */
    display: block; /* Remove extra space below the image */
}

.slideshow-container {
    width: 100%; /* Full width of the parent container */
    max-width: 100%; /* Ensure it doesn't exceed the parent width */
    margin: 0 auto; /* Center the slideshow container */
    position: relative; /* Position relative to contain absolute elements */
    height: 100%; /* Full height of the parent container */
}

.slides {
    display: none; /* Hide all slides by default */
}

.slides:first-child {
    display: block; /* Ensure the first slide is visible */
}

.slides img {
    width: 100%; /* Ensure images take up the full width of the slideshow container */
    height: auto; /* Maintain aspect ratio */
    display: block; /* Ensure no inline spacing issues */
}

.prev, .next {
    cursor: pointer;
    position: absolute;
    top: 50%;
    width: auto;
    padding: 16px;
    margin-top: -22px;
    color: white;
    font-weight: bold;
    font-size: 18px;
    transition: 0.6s ease;
    border-radius: 0 3px 3px 0;
    user-select: none;
}

.prev {
    left: 0; /* Align the left arrow to the left edge */
    border-radius: 3px 0 0 3px; /* Adjust border radius for the left arrow */
}

.next {
    right: 0; /* Align the right arrow to the right edge */
    border-radius: 0 3px 3px 0; /* Adjust border radius for the right arrow */
}

.prev:hover, .next:hover {
    background-color: rgba(0, 0, 0, 0.8); /* Darken background on hover */
}


/* Croquis Box Styles */
.box.croquis .image-wrapper {
    padding: px; /* Space around the image */
    margin: 10px; /* Space between the image and the content around it */
}

.box.croquis .image-wrapper img {
    width: 100%; /* Full width of the wrapper */
    height: auto; /* Maintain aspect ratio */
    display: block; /* Remove extra space below the image */
}

.box.croquis .text-wrapper {
    padding: 20px; /* Padding around the text */
    border-radius: 5px; /* Rounded corners for the wrapper */
}

.box.croquis .text-wrapper p {
    margin: 0; /* Remove default margin from paragraph */
}

/* Scroll Box Styles */

/* Additional styles for content inside the scrollable area THIS IS THE OLD STYLE */






.box.scroll {
    max-height: 650px;  /*Set a fixed height for the scrollable area */
    overflow-y: auto; /* Enable vertical scrolling */
    overflow-x: hidden; /* Prevent horizontal scrolling */
}

.box.scroll .image-wrapper {
    padding: 5px; /* Space around the image */
    margin: 5px; /* Space between the image and the content around it */
}

.box.scroll .image-wrapper img {
    width: 100%; /* Full width of the wrapper */
    height: auto; /* Maintain aspect ratio */
    display: block; /* Remove extra space below the image */
}


/* Additional styles for content inside the scrollable area THIS IS THE OLD STYLE */














    /* PDF Box Styles */
/* Styles for the .box.pdf container */
.box.pdf .image-wrapper {
    padding: 0px; /* Space around the image */
    margin: 0px; /* Space between the image and the content around it */
}

.box.pdf .image-wrapper img {
    width: 100%; /* Full width of the wrapper */
    height: auto; /* Maintain aspect ratio */
    display: block; /* Remove extra space below the image */
}

/* Styling for the PDF canvas */
.box.pdf #pdf-canvas {
    border: 1px solid black;
    width: 100%; /* Full width of the container */
    display: block; /* Ensure the canvas is a block-level element */
    margin: 0px 0px 0px 0px; /* Optional: Add some margin around the canvas */
}

/* Styling for the PDF controls container */
.box.pdf #pdf-controls {
    text-align: center;
    margin: 5px 0; /* Vertical margin for space around the controls */
}

/* Styling for the buttons inside PDF controls */
.box.pdf #pdf-prev, 
.box.pdf #pdf-next {
    cursor: pointer;
    margin: 5px; /* Margin around the buttons */
    padding: 5px 10px; /* Padding inside the buttons */
    background-color: #25aadd; /* Button background color */
    color: white; /* Button text color */
    border: none; /* Remove default border */
    border-radius: 5px; /* Rounded corners for buttons */
    font-size: 14px; /* Font size */
    text-align: center; /* Center text */
    text-decoration: none; /* Remove underline from text */
    display: inline-block; /* Display buttons inline-block */
    transition: background-color 0.3s ease; /* Smooth transition for hover effect */
}

/* Hover effect for the PDF control buttons */
.box.pdf #pdf-prev:hover, 
.box.pdf #pdf-next:hover {
    background-color: #1e8cb5; /* Darker background color on hover */
}

/* * Video Box Styles */
.box.video .image-wrapper {
    padding: 0px; /* Space around the image */
    margin: 50px 10px 10px 10px; /* Space between the image and the content around it */
}

.box.video .image-wrapper img {
    width: 100%; /* Full width of the wrapper */
    height: auto; /* Maintain aspect ratio */
    display: block; /* Remove extra space below the image */
}



/* #####################  Start of Box styling for Contact Form   ######################*/

.box.contacto {
    text-align: center; /* Center-align the contents */
}

.box.contacto .image-wrapper {
    padding: 20px; /* Space around the image */
    margin: 40px auto; /* Center the image wrapper within the box */
    display: inline-block; /* Align the image wrapper in the center */
    max-width: 100%; /* Ensure the wrapper doesn’t exceed the container width */
    box-sizing: border-box; /* Ensure padding is included in the width */
}

.box.contacto .image-wrapper img {
    width: 100%; /* Full width of the wrapper */
    height: auto; /* Maintain aspect ratio */
    display: block; /* Remove extra space below the image */
}

/* Styling for the contact form */
.contact-form {
    width: 100%; /* Form occupies 80% of the box width */
    max-width: 100%; /* Maximum width for larger screens */
    margin: 0 auto; /* Center the form within the box */
    display: flex;
    flex-direction: column;
    gap: 10px; /* Add space between form elements */
}

/* Label styling */
.contact-label {
    font-weight: bold;
    margin-bottom: 5px;
    color: #333;
}

/* Input and textarea styling */
.contact-input,
.contact-textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    box-sizing: border-box;
    font-size: 16px;
    background-color: #f0f0f0; /* Set background color to light grey */
    color: #333; /* Text color for better readability */
}

/* Specific styling for the textarea */
.contact-textarea {
    resize: vertical; /* Allow vertical resizing */
}

/* Submit button styling */
.contact-submit {
    background-color: #25aadd;
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

/* Hover effect for the submit button */
.contact-submit:hover {
    background-color: #1e8cb5;
}


/* Return Box Styles */
.box.returno  .text-wrapper {
    padding: 20px; /* Padding around the text */
    border-radius: 5px; /* Rounded corners for the wrapper */
    text-align: center; /* Center-align the text */
}

.box.returno  .text-wrapper p {
    margin: 0; /* Remove default margin from paragraph */

}



/* 2 boxes across for tablets and pads */
@media screen and (max-width: 992px) {
    .box {
        width: calc(50% - 20px); /* 2 boxes across with minimal gaps */
        margin-right: 20px; /* Horizontal gap between boxes */
        margin-bottom: 30px; /* Vertical gap between boxes */
    }

    .box:nth-child(2n) {
        margin-right: 0; /* No margin on the last box in each row */
    }
}

/* 1 box across for mobile phones */
@media screen and (max-width: 576px) {
    .box {
        width: 100%; /* Full width for a single box layout */
        margin: 10px 0 30px 0; /* Vertical spacing between boxes */
        margin-right: 0; /* No horizontal margin */
    }
    .box img, .box video, .box iframe {
        max-width: 100%; /* Ensure media elements are responsive */
        height: auto; /* Maintain aspect ratio */
    }
    .content {
        padding: 10px; /* Adjust padding for smaller screens */
        word-wrap: break-word; /* Ensure long text wraps */
    }
}
