/* 1. Styles globaux */
    
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
    
.progress-top,
.progress-right,
.progress-bottom,
.progress-left {
  position: fixed;
  z-index: 9999;
  background-color:   rgb(255, 111, 0);
}

.top{
  position:fixed;
  top: 0; left: 0;
  background-color: #fff;
  height: 20px;
  width: 100%;
  z-index: 9;
}

body {
  font-family: "protipo", sans-serif;
font-weight: 400;
font-style: normal; 
  color: #434A53;
  background-color: #fff;
  margin:0;
  padding:0;
}

/* 2. Styles par défaut (écrans larges) */


.progress-top,
.progress-bottom {
  height: 20px;
}

.progress-right,
.progress-left {
  width: 20px;
}

.progress-top,
.progress-right {
  top: 0px;
}

.progress-top,
.progress-left {
  left: 0;
}

.progress-bottom,
.progress-left {
  bottom: 0;
}

.progress-bottom,
.progress-right {
  right: 0;
}



.header {
  width: calc(100% - 40px);
  margin: 0px 20px 0 20px;
  padding: 20px 20px 0px 20px;
  position: sticky;
  top: 20px;
  z-index: 11;
  background-color: #fff;
  min-height: 180px;
  display: flex;
  column-gap: 40px;
  flex-direction: row;
}

.sticky-after {
  z-index: 999;
  position: sticky;
  margin: 0px 20px ;

  top:180px; 
  height: 40px; 
  background: linear-gradient(to bottom, white, transparent); /* Dégradé de blanc à transparent */
  }

  .container {
    display: flex;
    gap: 40px;
    padding: 0px 40px 40px 40px;
}

.main, .nom {
    flex: 0 0 65%;
}

.sidebar {
    flex: 1;
    border-left: #c5c5c5 1px solid;
    padding-left: 20px;
    font-size: 0.8em;
   
}
.sidebar .localisation{
  font-size: 1em;
}
.localisation p.social{
  margin-left: 35px;
}


h1{
  font-size: 3em;
  font-weight: 700;
  color: rgb(255, 111, 0);
  margin: 0;
  line-height: 1em;
  text-transform: uppercase;
}
h2{
  font-size: 1.5em;
  font-weight: 900;
  margin: 0;
  line-height: 1.5em;
}
h3{
  font-size: 1.2em;
  font-weight: 600;
  margin: 30px 0 10px 0;
  padding-bottom: 5px;
  text-transform: uppercase;
  color: rgb(255, 111, 0);
  border-bottom: 2px solid rgb(255, 111, 0);
}
main h3:first-of-type{
  margin-top: 0;
}

p{
  margin: 0;
  line-height: 1.3em;
}
main p{
  margin-bottom: 20px;
}
/* container */
.two-columns {
    display:flex;
    column-gap: 10px;
}
p.fonction{
  font-weight: 500;
  margin: 30px 0 10px 0;
  padding: 0;
}



p.fonction b{
  font-weight: 900;
}
p.fonction i::before {
  content: " | ";
  font-style: normal;
  font-weight: 100;
  color: #c5c5c5;
}
.two-columns div.date{
  font-size: 0.8em;
  color: #888888;
  min-width: 120px;
  padding-right: 10px;
  border-right: 1px solid #c5c5c5;

}
.two-columns div.liste {
  padding-left: 30px;
}

.two-columns ul, main ul, .sidebar ul{
  margin: 0;
  list-style: none;
  list-style-position: outside;
}

.sidebar ul, main ul{
  padding-left: 20px ;
}

.two-columns ul li, main ul li, .sidebar ul li{
margin-bottom: 10px;
line-height: 1.3em;
}


li:before {
	content: "\25CF\  "; /* caractère ISO 10646 */
  float: left;
  position: relative;
  top: -0.1em;
  margin-left: -1em;
}


span.mbr {
  display: table;
}

span.mbr::after {
  content: " ";
}
.localisation {
  font-size: 0.8em;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    position: sticky;
    top: 40px;
    z-index: 1000;
    padding: 5px;
background-color: #eeeeee;
border-radius: 5px; /* Ajout du bord arrondi */

}
.localisation p{
  display: flex;
  align-items: center;
  margin-bottom: 3px;
}
.localisation p span{
  margin-right: 10px;
}

/* 3. Media query pour les écrans de moins de 768px */
@media (max-width: 768px) {
  .container,   .two-columns {
      flex-direction: column;
      gap: 10px;
        padding: 0px 20px 40px 20px;
  
    
      /* Change la direction du flex en colonne et réduit l'espace entre les éléments */
  }

.localisation {
position: static;
flex-direction: row;
column-gap: 20px;
}

.top{
  height: 10px;
}

.header {
  margin: 10px;
  padding: 10px 10px 0px 10px;
  min-height: auto;
  top: 10px;
  flex-direction: column;
  width: calc(100% - 20px);
}

.sticky-after {
  top: 150px;
  height: 30px;
  margin: 0px 10px;
}
  .two-columns{
    padding: 0;
  }
  .two-columns div.date{
    border-right: none;
  
  }
  
  .sidebar {
    order: -1;
border: none;
padding: 0;
  }

  .sidebar ul{
    padding-left: 12px;
  }
  .two-columns div.liste {
    padding-left: 16px;
  }
  .competence{
position: relative;
  }
.main {
    flex: 0 0 100%;
}
.two-columns ul li, main ul li, .sidebar ul li{
  margin-bottom: 5px;
  }
.progress-top,
.progress-bottom {
  height: 10px;
}

.progress-right,
.progress-left {
  width: 10px;
}
span.mbr {
  display: initial
}

span.mbr::after {
  content: " > ";
}
p.fonction {
  margin-bottom: 3px;
}
}

@media (max-width: 480px) {
  .localisation{

    flex-direction:row
  }
}