@media print {
    :root {
        --color-gray-light-1: #f8f8f8;
        --color-gray-light-2: #e9e9e9;
        --color-gray-light-3: #dedede;
        --color-gray-dark-1: #545454;
        --color-gray-dark-2: #737373;
        --color-gray-dark-3: #9a9a9a;
        --color-blue-dark-1: #00387f;
        --color-green-light-1: #01796b;
        --color-tiffany: #00a6a6;
        --profile-theme: #01796b; // 026055
        --timeline-circle-theme: #14253e;

        --pgbar-length: 100%;

        --MATH-PI: 3.1415px;
        --percent: 100;
    }

    body { /* Modifications : la couleur de fond de page - la police - l'unitÃ© utilisÃ©e pour la taille de la police  */
        background-color:#fff;
        font-family:system-ui, sans-serif;
        font-size:11pt;
    }

    @page { /* Modifications : suppression de la bordure - marges */
        margin-top:0;
        margin-bottom:0;
        margin-left:0;
        margin-right:0;
        border:none;
        padding: 0;
    }

    .detail-section {
        padding: 0;
    }

    #banner, #menuright, #footer { /* Les Ã©lÃ©ments qui ne seront pas affichÃ©s  */
        display:none;
    }

    h1#top { /* Affichage du titre */
        margin:0;
        padding:0;
        text-indent:0;
        line-height:25pt;
        font-size:25pt;
    }

    h2, h3, #contenu h3, #contenu a, a { /* Modification de la couleur des titres et liens */
        color:#000;
    }

    h2 { /* Modifications : marges - police - couleur du soulignÃ© */
        padding-bottom:2pt;
        padding-left:0;
        font:bold 20pt Serif;
        border-bottom:1pt solid #000;
    }

    a { /* EmpÃ¨che le soulignÃ© par dÃ©faut du titre h1 */
        text-decoration:none;
    }

    a:hover { /* Suppression du soulignÃ© */
        text-decoration:none;
    }

    p { /* Modifications : alignement du texte - marges - unitÃ© des marges, police et taille de la police */
      text-align:justify;
      margin: 0.3rem;
      font-size:12pt;
      color:#000;
    }

    #contenu { /* Modifications : suppression du float - adaptation de la largeur*/
      float:none;
      width:100%;
      margin:0;
      padding:0;
      text-align:left;
    }

    #contenu h3 { /* Modifications : marges - unitÃ© des marges, police et taille de la police */
      font-size:15pt;
        font-weight:bold;
        margin: 10pt 0 5pt 0;
    }

    #contenu a { /* Modifications : suppression du gras et du soulignÃ© */
      font-weight:normal;
      text-decoration:none;
    }

    img { /* Modifications : couleur de la bordure - unitÃ©s et marges */
      width: 70% !important;
      margin: 0 auto !important;
      background:#fff;
      border:1pt solid #000;
    }

    img.droite {
      float:right;
    }


    html {
        font-size: 100%;
        font-family: 'PT Sans', sans-serif;
    }

    * {
        box-sizing: border-box;
    }

    body, html {
        margin: 0;
        min-height: 100%;
        height: 29,1cm !important; 
        width: 21cm !important; 
        margin-top: -1px;
    }

    .wrapper {
        height: 29.7cm;
        background-color:  var(--color-gray-light-3);
        display: flex;
    }

    .intro {
        flex: 0 0 25%;
        z-index: 5;
    }
    .profile {
        position: relative;
        width: 265px;
        background-color: var(--profile-theme);
        padding-top: 1rem;
        padding-bottom: 1rem;
        margin-bottom: 30px;
        text-align: center;
        user-select: none;
    }
    .profile::after {
        content: " ";
        position: absolute;
        left: 0;
        bottom: -13px;
        width: 265px;
        height: 30px;
        background-color: var(--profile-theme);
        transform: skewY(-5deg);
    }
    .photo img {
        width: 100%;
        border-radius: 50%;
        border: 0;
	box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
    }
    .bio .name {
        font-size: 1.5rem;
        text-align: center;
        color: var(--color-gray-light-1);
        margin: 0;
        margin-top: .4rem;
    }
    .bio .profession {
        font-size: 1rem;
        text-align: center;
        color: var(--color-gray-light-1);
        margin: 0;
    }

    .intro-section {
        width: 100% !important;
        padding-top: 0;
        padding-bottom: 0;
        padding-left: 1rem;
        padding-right:  1rem;
        color: var(--color-gray-dark-1);
    }
    .intro-section .title {
        font-size: .92rem;
        font-weight: bold;
        text-transform: uppercase;
        letter-spacing: 1px;
        margin-right: 1rem;
    }
    .about .paragraph {
        text-align: justify;
    }
    .info-section span {
        position: relative;
    }
    .info-section i {
        color: var(--profile-theme);
        height: 20px;
    }

    .link a {
        text-decoration: none;
        color: inherit;
    }

    .link span::after {
        position: absolute;
        content: '';
        left: 50%;
        bottom: -3px;
        width: 0;
        height: 2px;
        background-color: var(--profile-theme);
        transform: translate(-50%, 0);
    }


    /* Detail section overall setting*/
    .detail {
        flex: 1 0 0;
        background-color: white;
        padding: .5rem;
    }
    .detail-title {
        display: flex;
        align-items: center;
    }
    .detail-title > .text-uppercase {
    
        color: var(--profile-theme);
    }
    .detail-section > .detail-content {
        padding-right: .5rem;
        padding-bottom: .5rem;
        padding-top: .5rem;
        user-select: none;
    }
    .detail-section.edu > .detail-content {
        // padding-left: calc(1.5rem + 10px);
    }
    .title-icon + span {
        font-size: 1.2rem;            
    }
    .title-icon {
        display: inline-flex;
        justify-content: center;
        align-items: center;
        padding: 1rem;
        margin-right: 1rem;
        width: 2rem;
        height: 1.5rem;
        background-color: var(--profile-theme);
        border-radius: 50%;
    }
    .title-icon i {
        color: white;
        line-height: 1rem;
        font-size: .8rem;
        text-align: center;
    }

    /* time line block in education section */
    .timeline-block {
        position: relative;
        padding-left: 10px;
    }
    .timeline-block h1 {
        font-size: 1rem;
        margin: 0;
    }
    .timeline-block p {
        font-size: 0.8rem;
        margin: 5px 0;
    }
    .timeline-block time {
        font-size: 0.8rem;
        color: var(--color-gray-dark-2);
    }

    /* Programming skills section */
    .pg-list, .tool-list, .favor-list {
        padding: 0;
        list-style: none;
    }
    .pg-list > li {	
        margin: 1rem 0;
        display: flex;
        align-items: center;
    }
    .sb-skeleton {
        position: relative;
        flex: 1 0 auto;
        height: 2px;
        background-color: var(--color-gray-dark-3);
    }
    .pg-list > li > span {
        flex: 0 0 100px;
    }
    .sb-skeleton > .skillbar {
        position: absolute;
        left: 0;
        top: -1px;
        width: var(--pgbar-length);
        height: 4px;
        background-color: var(--profile-theme);
    }
    .tool-list {
        list-style: none;
        display: flex;
        justify-content: space-between;
    }
    .tool-list > li {
        position: relative;
        text-align: center;
        flex: 0 0 25%;
    }
    .tool-list > li > svg {
        position: relative;
        fill: transparent;
        width: 95%;
        transform: rotate(-90deg);
    }
    .tool-list > li > svg > circle {
        stroke-width: 1px;
        stroke: #cdcdcd;
    }
    .tool-list > li > svg > circle.cbar {
        stroke-width: 3px;
        stroke: var(--profile-theme);
        stroke-linecap: round;
        stroke-dashoffset: 0;
        stroke-dasharray: calc(var(--MATH-PI) * 45 * 2);
    }
    .tool-list > li > .tl-name,
    .tool-list > li > .tl-exp {
        position: absolute;
        left: 50%;
        color: var(--color-gray-dark-1);
    }
    .tool-list > li > .tl-name {
        top: 50%;
        font-size: 1.2rem;
        transform: translate(-50%, -50%);
    }
    .tool-list > li > .tl-exp {	
        top: calc(50% + 1.4rem);
        font-size: 1rem;
        transform: translate(-50%, -50%);
    }
    .favor-list {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        align-content: center;
    }
    .favor-list > li > span {
        letter-spacing: 1px;
    }

    .text-center {
        text-align: center;
    }

    .text-uppercase {
        text-transform: uppercase;
    }

    .row {
        display: flex;
        width: 100%;
    }
    .w-80 {
        width: 70%;
    }
    .w-20 {
        width: 30%;
    }
    .text-right {
        text-align-last: right;
    }

    .small-size {
        margin: 0;
        font-size: .8rem
    }

    table {
        border: 0;
    }

    table tr td i {
        color: var(--profile-theme);
        width: 20px;
    }

    .text-profile-theme {
        color: var(--profile-theme);
    }
    .m-0 {
        margin: 0 !important;
    }
    a time {
        color: var(--profile-theme) !important;
    }

    .timeline-block {
        margin-top: 4pt;
        margin-bottom: 4pt;
    }
    
    .text-left p {
        text-align: left !important;
    }
    
    .text-dev {
        color: #dc3545;
    }
    
    .text-management {
        color: #ffc107;
    }
    
    .text-freelance {
        color: #17a2b8;
    }
    .no-print {
        display: none;
    }
}