/* GENERAL */

body
{
    font-family: sans-serif;

}

h1,h2,h3,h4,h5,h6
{
    font-weight: bold;
}

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

section
{
padding: 65px 0px 80px 0px;

}

section .heading
{
text-align: center;
    
}

.divider
{
width: 100px;
height: 2px;
background-color:  #d82c2e;
margin: 0 auto 20px;

}

.divider.white
{
    background-color: #fff;

}
/* NAVBAR */
.navbar
{
background-color:  #d82c2e;
letter-spacing: 2px;
font-weight: bold;
border-bottom: 1px solid white;
}

.navbar-nav
{
margin: 0 auto;
}

.nav-link
{
color: white !important;
margin: 0 6px;
}

.nav-link.active,.nav-link:hover
{
background-color: white;
color: #d82c2e !important;

}

/* ABOUT */

#about
{
    background-color: #d82c2e;

}

.profile-picture
{
    text-align: center;
    margin: 0 auto 30px;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* PROFILE PHOTO LARGE - uniform display for index.php */
.profile-picture .profile-photo {
    width: 240px;
    height: 240px;
    object-fit: cover;
    border-radius: 50%;
    display: block;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.4), 
                0 5px 15px rgba(0, 0, 0, 0.25),
                inset 0 1px 0 rgba(255, 255, 255, 0.6);
    border: 8px solid white;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    flex-shrink: 0;
}

.profile-picture .profile-photo:hover {
    transform: scale(1.05) translateY(-5px);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5), 
                0 8px 20px rgba(0, 0, 0, 0.3),
                inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

@media (max-width: 992px) {
    .profile-picture .profile-photo {
        width: 200px;
        height: 200px;
        border-width: 7px;
    }
}

@media (max-width: 768px) {
    .profile-picture .profile-photo {
        width: 160px;
        height: 160px;
        border-width: 6px;
    }
}

@media (max-width: 576px) {
    .profile-picture .profile-photo {
        width: 130px;
        height: 130px;
        border-width: 5px;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35), 
                    0 3px 10px rgba(0, 0, 0, 0.2),
                    inset 0 1px 0 rgba(255, 255, 255, 0.6);
    }
}

#about .heading h1
{
color: #fff;
margin-bottom: 20px;

}

#about .heading h3
{
    color: #fff;
    font-weight: 400;
    margin-top: 6px;
    opacity: 0.95;
}

.bouton1
{
font-weight: bold;
color: #fff;
text-transform: uppercase;
border: 1px solid white;
padding: 18px 50px;
margin-top: 20px;
display: inline-block;
border-radius: 3px;
text-decoration: none;
transition: all 0.3s ease-in 0s;
background: transparent;

}

.bouton1:hover
{
background:#fff;
color:#d82c2e ;
}

/* SKILLS */

#skills .heading h2
{
color:#d82c2e ;
}
#skills .progress
{
height: 45px;
margin: 30px 20px;

}
#skills .progress:last-child
{
    margin-bottom: 0px;
}

#skills .progress-bar
{
    background-color: #d82c2e;
}

#skills .progress-bar h5
{
    text-shadow: 1px 1px 1px black;
    margin-bottom: 3px;
}

/* EXPERIENCE */
#experience
{
    background-color: #d82c2e;
}

#experience .heading h2
{
    color: #fff;
}

ul
{
    list-style: none;
}

.timeline
{
padding: 30px 10px;
position: relative;

}
.timeline:before
{
    content: " ";
    top: 0;
    bottom: 0;
    position: absolute;
    width: 5px;
    background-color: #333;
    left: 50%;
    margin-left: -2.5px;
}

.timeline > li
{
    margin-bottom: 20px;
    position: relative;
}

.timeline > li:before,
.timeline > li:after
{
    content: " ";
    display: table;
}

.timeline > li:after
{
    clear: both;
}

.timeline li .timeline-badge
{
color: #d82c2e;
width: 50px;
line-height: 50px;
font-size: 20px;
text-align: center;
position: absolute;
top: 16px;
left: 50%;
margin-left: -25px;
background-color: #ddd;
border-radius: 50%;

}

.timeline-panel-container
{
width: 50%;
float: left;
}

.timeline-panel-container-inverted
{
width: 50%;
float: right;

}

.timeline-panel
{
    width: 90%;
    float: right;
    margin-right: 40px;
    border: 1px solid #d4d4d4;
    border-radius: 7px;
    padding: 20px 25px;
    position: relative;
    box-shadow: 0 1px 6px rgba(0,0,0,0.175);
    background: #fff;
}

.timeline-panel-container-inverted .timeline-panel
{

float: left;
margin-left: 40px;
}

.timeline-panel:after
{
position: absolute;
top: 27px;
right: -14px;
display: inline-block;
border-top: 14px solid transparent;
border-left: 14px solid #fff;
border-right:0 solid #fff;
border-bottom:14px solid transparent;
content: " ";
}

.timeline-panel-container-inverted .timeline-panel:after
{
border-left-width: 0;
border-right-width: 14px;
left: -14px;
right: auto;

}
.timeline-heading h3
{
margin-top: 5px;
font-size: 20px;
}

.timeline-heading h4
{
color: #d82c2e;
}

/* EDUCATION */

#education .heading h2
{
color:#d82c2e ;
margin: 15px 0;
}


.education-block
{
width: 90%;
margin: 0 auto;
text-align: center;
padding: 30px;
background: #e9ecef;
border-radius: 5px;
border: 1px solid #ccc;
margin-bottom: 20px;
}

.education-block h5
{
    color: #888;
    font-size: 15px;
    margin-bottom: 15px;

}

.education-block span
{
    font-size: 35px;
}

.education-block h3
{
color: #d82c2e;
margin: 15px 0px;
}

.education-block h4
{
margin-bottom: 20px;
font-weight: normal;
}

/* PORTFOLIO */
#portfolio
{
background-color: #d82c2e;


}

#portfolio .heading h2
{
    color: #fff;
}

#portfolio img
{
width: 100%;
height: 100%;
filter: grayscale(100%);
-webkit-filter:grayscale(100%)

}

#portfolio img:hover
{
    filter: none;
    -webkit-filter: none;

}

#portfolio .col-md-3
{
margin-bottom: 20px;
}

/* RECOMMENDATIONS */



#recommendations .heading h2
{
color:#d82c2e ;
}

#mycarousel .carousel-item
{
padding: 40px 40px 90px;
text-align: center;

}

#mycarousel .carousel-item h3
{
color:#d82c2e ;
font-style: italic;

}

footer
{
background-color: #333;
padding: 20px 0 40px;
}


footer span
{
color:#fff;;
font-size: 25px;
line-height: 45px;

}

/* --- AVATAR / AGENT LIST STYLES (shared global) --- */
/* Table photo column fixed size and centered */
table#agentsTable th:first-child,
table#agentsTable td:first-child {
    width: 80px;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
}

/* Avatar container - keeps aspect ratio and hides overflow */
.avatar-container {
    display: inline-block;
    width: 56px;
    height: 56px;
    border-radius: 50%; /* rounded avatars */
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.12);
    transition: transform 0.18s ease, box-shadow 0.18s ease;
    background: #f1f3f5;
}

.avatar-container:hover {
    transform: translateY(-2px) scale(1.02);
    box-shadow: 0 6px 18px rgba(0,0,0,0.16);
}

/* image inside avatar: cover behavior */
.avatar-container img.profile-photo,
img.profile-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 50%; /* ensure the image follows circular container */
}

/* small modifier used in markup */
.avatar-container-sm { width: 48px; height: 48px; }

/* Placeholder when no photo available */
.profile-photo-placeholder {
    width: 100%;
    height: 100%;
    display: flex !important;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 700;
    letter-spacing: 0.6px;
    background: linear-gradient(135deg,#6c757d,#495057);
    font-size: 14px;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    table#agentsTable th:first-child,
    table#agentsTable td:first-child { width: 64px; }
    .avatar-container { width: 44px; height: 44px; }
    .avatar-container-sm { width: 36px; height: 36px; }
}

/* Larger avatar variant for profile / edit pages */
.profile-photo-large-container {
    width: 96px;
    height: 96px;
    border-radius: 50%; /* larger circular avatar for profile/edit */
}

@media (max-width: 768px) {
    .profile-photo-large-container { width: 72px; height: 72px; }
}

/* Badge styles for agent status (centralized) */
.badge-status-actif {
    background-color: #28a745;
    color: #fff;
}
.badge-status-inactif {
    background-color: #dc3545;
    color: #fff;
}

/* Modal image styling */
.photo-modal-img {
    width: 100%;
    max-width: 540px;
    height: auto;
    display: block;
    margin: 0 auto;
}

footer span:hover
{
color:#d82c2e ;
font-size: 27px;

}

footer h5
{
color:#fff;
font-weight: normal;
text-transform: uppercase;

}

/* CONTACT */

#contact{
    background: #d82c2e;
}

#contact .heading h2{
    color: #fff;
}

#contact label{
    color: #fff;
    font-size: 20px;
    
}

#contact-form{
    font-size: 20px;
    
    
}
.blue{
    color: #fff;
}

.form-control{
    height: 50px;
    font-size: 18px;
}

.comments{
    font-style: italic;
    font-size: 18px;
    color: #fff;
    height: 25px;
    padding-bottom: 50px;
}
#contact-form input[type=submit]{
    margin: 40px auto 0px;
    display: block;
}

.thank-you{
    text-align: center;
    margin-top: 15px;
    font-weight: bold;
    font-size: 22px;
    color: greenyellow;
}

.dowload2

{
font-weight: bold !important;
color: #d82c2e !important;
text-transform: uppercase;
border: 1px solid white;

margin-top: 20px;
display: inline-block;
border-radius: 3px;
text-decoration: none;
transition: all 0.3s ease-in 0s;
background: transparent;
        
}
        
.dowload2:hover
{
        background:#d82c2e;
        color: #fff !important;
}

/* Photos de profil uniformes et logos d'entreprise */
.avatar-container, .logo-container {
    display: inline-block;
    width: 48px;
    height: 48px;
    overflow: hidden;
    border-radius: 50%;
    background: #f0f0f0;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 6px rgba(0,0,0,0.12);
}

.avatar-container-sm {
    width: 40px;
    height: 40px;
}

.avatar-container.large, .profile-photo-large-container {
    width: 150px;
    height: 150px;
    border-radius: 12px;
}

.profile-photo {
    width: 100%;
    height: 100%;
    object-fit: cover; /* garde le recadrage propre */
    display: block;
    transition: transform 220ms ease, box-shadow 220ms ease, filter 220ms ease;
}

.company-logo-container {
    width: 80px;
    height: 80px;
    border-radius: 8px;
    overflow: hidden;
    background: white;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}

.company-logo {
    width: 100%;
    height: 100%;
    object-fit: contain; /* laisse le logo entier visible */
    display: block;
    padding: 6px;
    transition: transform 220ms ease, opacity 220ms ease;
}

/* Petite variation pour vignettes portfolio */
.portfolio-thumb {
    width: 64px;
    height: 40px;
    object-fit: cover;
    border-radius: 6px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}

/* Animations et apparitions */
.fade-in {
    animation: fadeInUp .45s ease both;
}

@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(6px); }
    to   { opacity: 1; transform: translateY(0); }
}

.profile-photo:hover, .company-logo:hover, .portfolio-thumb:hover {
    transform: scale(1.06);
}

.profile-photo-placeholder {
    color: #fff;
    font-weight: 600;
}








