.header{
    background: linear-gradient(to top, #3b709f97, #3b709f97), url("https://static.igem.wiki/teams/5311/assets/human-practices/cinta.png") no-repeat center/cover;
  }


.image-right{
    float:right;
    height:200px;
    padding-left:10px;
}
.image-left{
    float:left;
    height:200px;
    padding-right:10px;
}
.image-center{
    height:300px;
    padding-right:10px;
    text-align: center;
}

.image-right img, .image-left img, .image-center img{
    object-fit: contain;
    width: 100%;
    height: 100%;
}
.image-center-big-footer {
    text-align: center;
    font-size: 0.9em; /* Smaller font for footer */
    color: #555; /* Grey color for footer */
    margin-top: 8px;
    font-style:italic;
  }


@media (max-width: 768px) {
    .image-right {
        float: none; /* Remove float to make the image stack below the text */
        height: 150px; /* Allow height to adjust based on image content */
        width: 100%; /* Ensure the image takes full width */
        margin: 20px 0; /* Add margin above and below the image */
    }
    .image-left{
        float: none; /* Remove float to make the image stack below the text */
        height: 150px; /* Allow height to adjust based on image content */
        width: 100%; /* Ensure the image takes full width */
        margin: 20px 0; /* Add margin above and below the image */
    }
    .image-center-big-footer{
        font-size: 0.6em;
    }
}

.quote {
    font-style: italic;
    font-size: 1.2em;
    line-height: 1.6;
    color: #333;
    padding: 15px 20px;
    margin: 20px 0;
    background-color: #f7f9fa;
    border-left: 5px solid #3b719f;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    position: relative;
    text-align: center;
}

.quote:before {
    content: "“";
    font-size: 3em;
    position: absolute;
    top: -10px;
    left: 10px;
    color: #3b719f;
    font-weight: bold;
    opacity: 0.5;
}

.quote:after {
    content: "”";
    font-size: 3em;
    position: absolute;
    bottom: -10px;
    right: 10px;
    color: #3b719f;
    font-weight: bold;
    opacity: 0.5;
}

.quote cite {
    display: block;
    text-align: right;
    font-style: normal;
    margin-top: 10px;
    color: #555;
    font-size: 0.9em;
    font-weight: bold;
}

.quote cite:before {
    content: "— ";
}

@media (max-width: 480px) {
    .quote {
        font-size: 1em;  /* Smaller font for mobile */
        padding: 10px 15px; /* Adjust padding */
    }

    .quote:before, .quote:after {
        font-size: 2em;  /* Adjust quotation marks size for mobile */
    }

    .quote cite {
        font-size: 0.8em; /* Smaller citation font for mobile */
    }
}

/*puzzle*/
.content-grid-puzzle-right {
    display: grid;
    grid-template-columns: 1fr 150px; /* Adjust the second column width */
    align-items: center;
}
.text-puzzle{
    text-align: center;
}
.image-right-puzzle img {
    object-fit: contain;
    width: 100%;
    height: 100%;
    transform: rotate(10deg); /* Tilt the image slightly */
    transition: transform 0.3s;
}

.image-right-puzzle img:hover {
    transform: rotate(0deg); /* Remove tilt on hover */
}
.content-grid-puzzle-left {
    display: grid;
    grid-template-columns: 150px 1fr; /* Image column first */
    align-items: center;
}

.image-left-puzzle img {
    object-fit: contain;
    width: 100%;
    height: 100%;
    transform: rotate(-10deg); /* Tilt the image slightly to the left */
    transition: transform 0.3s;
}

.image-left-puzzle img:hover {
    transform: rotate(0deg); /* Remove tilt on hover */
}

.arrow ul {
    list-style-type: '\2192';
    padding: 20px;
    justify-content: center;
    margin: 0;
}

.arrow li {
    margin-bottom: 15px;
    padding-left: 10px;
}
@media (max-width: 768px) {
    .content-grid-puzzle-right,
    .content-grid-puzzle-left {
        display: flex; /* Use flexbox for layout */
        flex-direction: row; /* Keep elements in a row */
        align-items: center; /* Align items vertically center */
        gap: 20px; /* Maintain some space between text and image */
    }
    .image-right-puzzle img {
        width: 100%;
        height: auto;
        margin: 0 ;
        transform: rotate(0deg); /* Remove tilt for smaller screens */
    }
    .image-left-puzzle img {
        width: 100%;
        height: auto;
        margin: 0;
        transform: rotate(0deg); /* Remove tilt for smaller screens */
    }
}

/*background pieces*/
.background-puzzle {
    position: absolute; /* Position the cycle element absolutely */
    right: 0; /* Align it to the right */
    transform: translate(50%, -50%); /* Center it vertically */
    width: 20%; /* Adjust width as needed */
    overflow: hidden; /* Ensure the clipped part of the image is not visible */
    transition:top 1s;
    z-index: -1;
}
.background-puzzle .image-wrapper {
    position: relative;
    width:50%;
    height: auto; 
}
.background-puzzle-double {
    position: absolute; /* Position the cycle element absolutely */
    right: 0; /* Align it to the right */
    transform: translate(0%, -75%); /* Center it vertically */
    width: 20%; /* Adjust width as needed */
    overflow: hidden; /* Ensure the clipped part of the image is not visible */
    transition:top 1s;
    z-index: -1;
}
.background-puzzle-double .image-wrapper-double {
    position: relative;
    width:100%;
    height: auto; 
}
.background-puzzle-double-vertical {
    position: absolute; /* Position the cycle element absolutely */
    right: 0; /* Align it to the right */
    transform: translate(25%, -25%); /* Center it vertically */
    width: 20%; /* Adjust width as needed */
    overflow: hidden; /* Ensure the clipped part of the image is not visible */
    transition:top 1s;
    z-index: -1;
}
.background-puzzle-double-vertical .image-wrapper-double-vertical {
    position: relative;
    width:100%;
    height: auto; 
}

.background-puzzle .image-wrapper img {
    width: 100%;
    height: auto; /* Maintains aspect ratio */
    display: block;
}

.background-puzzle-double .image-wrapper-double img {
    width: 100%;
    height: auto; /* Maintains aspect ratio */
    display: block;
}
.background-puzzle-double-vertical .image-wrapper-double-vertical img {
    width: 100%;
    height: auto; /* Maintains aspect ratio */
    display: block;
}

/*Vertical box*/
.vertical-box {
    display: flex;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
    width: 100%;
    padding: 20px;
    margin-bottom: 20px;
    justify-content: center;
    align-items: center;
  }
  
.vertical-title {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 2px;
    color: white;
    padding: 10px;
    text-align: center;
    text-transform: uppercase;
    border-radius: 8px 0 0 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 200px; /* Minimum height to ensure visibility */
    max-width: 80px; /* Maximum width to prevent oversized titles */
    word-break: break-word; /* Allow words to break if necessary */
  }
  
.box-logo {
    background-color: #f5fafa;
  }
  
.title-logo {
    background-color: #345ca2;
  }
.title-public {
    background-color: #e8aa61;
  }
.title-scientific {
    background-color: #76a7c5;
  }
.title-stakeholders {
    background-color: #f6d6a3;
  }
.title-truck-stakeholder {
    background: linear-gradient(270deg, #a6c1ee 0%, #f6d6a3 100%);
  }
.title-scientific-balance{
    background: linear-gradient(270deg, #6783cc 0%, #76a7c5 100%);
}
.title-scientific-truck{
    background: linear-gradient(270deg, #6783cc 0%, #a6c1ee 100%);
}
.title-truck {
    background-color: #a6c1ee;
  }
.title-balance {
    background-color: #6783cc;
  }
.title-logo-public{
    background: linear-gradient(270deg, #345ca2 0%, #e8aa61 100%);
}
  
.box-content {
    flex: 1; /* Allow content to expand and fill available space */
    padding: 10px;
    font-size: 16px;
    line-height: 1.6;
    overflow-wrap: break-word; /* Ensure long words don't overflow */
  }
  
.box-content p {
    margin: 0;
  }
  
  /* Media query for smaller screens */
@media (max-width: 768px) {
    .vertical-box {
      flex-direction: column;
      padding: 10px;
    }
  
    .vertical-title {
      writing-mode: horizontal-tb;
      transform: none;
      width: 100%;
      max-width: none;
      min-height: auto;
      margin-right: 0;
      margin-bottom: 10px;
      border-radius: 8px 8px 0 0;
    }
  }

  /*puzzle*/
.progress-container-puzzle {
    width: 10px; /* Adjust the width as needed */
    height: 100%;
    background:none;
    position: absolute; /* Make it fixed to stay in place while scrolling */
    right: 5.25vw;
    z-index: -2;

}

.progress-bar-puzzle {
    width: 100%;
    background: rgb(175, 179, 178);
    height: 0%;
    opacity: 0.5;
}

#progress-bar-1{
    background: #345ca2;
}
#progress-bar-2{
    background: linear-gradient(180deg, #345ca2 0%, #f6d6a3 100%);
}
#progress-bar-3{
    background: linear-gradient(180deg, #f6d6a3 0%, #a6c1ee 100%);
}
#progress-bar-4{
    background: linear-gradient(180deg, #a6c1ee 0%, #f6d6a3 100%);
}
#progress-bar-5{
    background: linear-gradient(180deg, #f6d6a3 0%, #76a7c5 100%);
}
#progress-bar-6{
    background:#76a7c5;
}
#progress-bar-7{
    background: linear-gradient(180deg, #76a7c5 0%, #345ca2 100%);
}
#progress-bar-8{
    background: linear-gradient(180deg, #345ca2 0%, #f6d6a3 100%);
}
#progress-bar-9{
    background: linear-gradient(180deg, #f6d6a3 0%, #e8aa61 100%);
}
#progress-bar-10{
    background: linear-gradient(180deg, #e8aa61 0%, #76a7c5 100%);
}
#progress-bar-11{
    background: linear-gradient(180deg, #a6c1ee 0%, #e8aa61 100%);
}


/*arrow*/

.arrow ul {
    list-style-type: '\2192';
    padding: 20px;
    justify-content: center;
    margin: 0;
}

.arrow li {
    margin-bottom: 15px;
    padding-left: 10px;
}

.space-ordered-list ol{
    padding: 20px;
    justify-content: center;
    margin: 0;
}

.space-ordered-list li {
    margin-bottom: 15px;
    padding-left: 10px;
}













