/* Common */

* {
    font-family: Trebuchet MS;
}

body {
    margin: 0;
}

h1 {
    color: #5f5f5f;
}

h2 {
    color: #2596be;
    font-size: 1.8em;
    margin: 20px auto;
    width: fit-content;
}

.header {
    padding: 15px 20px 15px 20px;
    border-bottom: 1px solid #2596be;
}

.header img {
    height: 5em;
    float: left;
}

.header h1 {
    float: left;
    margin-left: 20px;
    font-size: 2em;
}

html,
body {
    height: 100%
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100%
}

.content {
    margin-bottom: 20px;
    flex-grow: 1;
}

.content h1 {
    margin: 0px 80px 50px 80px;
}

.title {
    margin: auto;
    width: fit-content;
}

.centered_box {
    margin: auto;
    padding: 0 5%;
}

@media (max-width: 600px) {
    .header {
        padding: 15px 15px 15px 10px;
    }

    .header img {
        height: 2.6em;
        float: left;
    }
    
    .header h1 {
        float: left;
        font-size: 1.4em;
        margin: 10px 0 10px 0px;
    }

    h2 {
        font-size: 1.4em;
    }
    
}

/* Information */

.info_section {
    background: #2596be;
    padding: 3% 0;
    margin-bottom: 50px;
}

.info_section h2 {
    padding-bottom: 20px;
    color: #fff;
    font-size: 1.6em;
    text-align: center;
}

.info_section p {
    font-size: 1.4em;
    color: #fff;
}

.divider {
    height: 3px;
    background-color: #fff;
    /* A light gray color */
    width: 30%;
    /* Makes it span the full width of its container */
    margin: 20px auto;
    /* Adds spacing above and below */
}

.grid-list-container {
    /* You can add spacing between items here */
    display: flex;
    flex-direction: column;
    gap: 0px;
    margin: 0 auto;
    width: fit-content;
}

.grid-item {
    display: grid;
    /* Defines a narrow column for the icon and a fluid one for the text */
    grid-template-columns: min-content 1fr;
    /* Aligns items vertically in the center */
    align-items: center;
    gap: 15px;
    /* Adds space between the icon and the text */
}

.icon-wrapper {
    /* General styles for all icons */
    font-size: 1.4em;
}

.icon-wrapper img {
    width: 1.4em;
}

.line-1 {
    font-weight: bold;
}

@media (max-width: 600px) {
    .info_section h2 {
        padding-bottom: 20px;
        color: #fff;
        font-size: 1.3em;
        text-align: center;
    }
    .info_section p {
        font-size: 1.2em;
        color: #fff;
    }

    .icon-wrapper img {
        width: 1.2em;
    }
}

/* Equipe */

.grid-dentistes {
    /* You can add spacing between items here */
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    row-gap: 25px;
    column-gap: 100px;
    margin: 50px auto;
    width: fit-content;
    justify-content: center;
    text-align: center;
}

.grid-dentistes-item {
    width: 30%;
}

.grid-dentistes h3 {
    margin-bottom: 5px;
    font-size: 1.5em;
    color: #5f5f5f;
    font-weight: bold;
    text-align: center;
}

.grid-dentistes h4 {
    margin-top: 0px;
    margin-bottom: 5px;
    font-size: 1.5em;
    color: #2596be
}

.grid-dentistes p {
    margin-top: 0px;
    font-size: 1.4em;
    color: #5f5f5f;
}

.grid-dentistes img {
    width: 100%;
}

/* Styles for screens 600px or smaller */
@media (max-width: 600px) {
    .grid-dentistes-item {
        width: 90%;
    }
    .grid-dentistes {
        row-gap: 0px;
        margin: 25px auto 50px auto;
    }
    .grid-dentistes h3 {
        font-size: 1.2em;
    }
    
    .grid-dentistes h4 {
        font-size: 1.2em;
    }

    .grid-dentistes p {
        font-size: 1.1em;
    }
  }

/* Soins */

.grid-soins {
    row-gap: 25px;
    column-gap:10%;
    justify-content: center;
}

.grid-soins-item {
    width: 25%;
}

.grid-soins h3 {
    font-size: 1.4em;
}

/* Styles for screens 600px or smaller */
@media (max-width: 600px) {
    .grid-soins-item {
      width: 40%; /* Change the width to 100% on smaller screens */
    }
    .grid-soins h3 {
        font-size: 1.2em;
    }
  }

/* Cabinet */

.slider-container {
    width: 100%;
    height: 0; /* Necessary for the padding-based height to work */
    padding-bottom: 56.25%; /* For a 16:9 aspect ratio */
    position: relative;
    overflow: hidden;
    background-color: white;
    margin: 5% auto;
  }
  
  .image-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    transition: transform 0.5s ease-in-out;
  }
  
  .slider-container img {
    width: 100%;
    height: 100%;
    object-fit: contain; /* The image will fit inside the new fluid container */
    flex-shrink: 0;
  }

.prev-btn,
.next-btn {
    position: absolute;
    /* Positions the buttons over the content */
    top: 50%;
    /* Pushes the button down to the vertical center */
    transform: translateY(-50%);
    /* Adjusts the button up by half its height for perfect centering */
    background: #2596be;
    color: white;
    border: none;
    cursor: pointer;
    padding: 10px;
    z-index: 10;
    /* Ensures the buttons are on top of the images */
}

.prev-btn {
    left: 10px;
    /* Positions the button 10px from the left edge */
    font-size: 1.5em;
    font-weight: 900;
}

.next-btn {
    right: 10px;
    /* Positions the button 10px from the right edge */
    font-size: 1.5em;
    font-weight: 900;
}


/* Localisation */

#localisation{
    margin:0%;
}

iframe {
    width: 100%;
    margin-top: 25px;
    margin-bottom: 50px;
}

/* Footer */

.footer {
    padding: 25px 20px 25px 20px;
    border-top: 1px solid #ccc;
    /*overflow: hidden;*/
}

.footer span {
    font-weight: bold;
    color: #2596be;
    display: inline-block;
    width: fit-content;
    line-height: 60px;
    vertical-align: middle;
}

.footer .logo {
    overflow: hidden;
    float: right;
}

.footer .logo img {
    display: block;
    margin: 0 15px;
    height: 40px;
    float: left;
}