*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%;background-color:#dfdddd;height:100%;font:112.5%/1.45em georgia,serif;overflow-y:hidden}@media (max-width:480px){html{font-size:100%}}body{color:#2e353f;overflow-wrap:break-word;font-kerning:normal;font-feature-settings:"kern","liga","clig","calt";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%;margin:0;font-size:1rem}a{color:#005b99}img{border-style:none;max-width:100%}h1,h2,h3{color:inherit;text-rendering:optimizelegibility;margin:0 0 1.45rem;padding:0;font-family:-apple-system,blinkmacsystemfont,Segoe UI,roboto,oxygen,ubuntu,cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-weight:700;line-height:1.1}h1,h2,h3,h4,h5,h6{letter-spacing:-.025em}h1{font-size:2.25rem}h2{font-size:1.6267rem}h3{font-size:1.3832rem}h4{font-size:1rem}h5{font-size:.8503rem}h6{font-size:.7841rem}p,dl,dd,figure,form,blockquote,table,pre,hgroup,address,iframe,noscript{margin:0 0 1.45rem;padding:0}blockquote{margin-inline:1.45rem}ul,ol{margin:0 0 1.45rem 1.45rem;padding:0;list-style-position:outside}li{margin-bottom:.725rem}li>ol,li>ul{margin-block:.725rem}li>p{margin-bottom:.725rem}blockquote :last-child,li :last-child,p :last-child{margin-bottom:0}small{font-size:80%}hr{background:#0003;border:none;height:1px;margin:0 0 calc(1.45rem - 1px);padding:0}abbr[title]{cursor:help;border-bottom:1px dotted #00000080;text-decoration:none}button,input,select,textarea{font:inherit;margin:0}footer{margin-top:2em}table{border-collapse:collapse;width:100%;font-size:1rem;line-height:1.45rem}th,td{text-align:left;font-feature-settings:"tnum";border-bottom:1px solid #0000001f;padding:.725rem .9667rem calc(.725rem - 1px)}th:first-child,td:first-child{padding-left:0}th:last-child,td:last-child{padding-right:0}code,kbd,samp,pre{font-family:sfmono-regular,consolas,Roboto Mono,Droid Sans Mono,Liberation Mono,menlo,courier,monospace}code,kbd,samp{font-size:.85rem;line-height:1.45rem}code{background-color:#f5f2f0;border-radius:3px;padding-block:.2em}code:before,code:after{letter-spacing:-.2em;content:" "}pre{overflow-wrap:normal;background:#0000000a;border-radius:3px;padding:1.45rem;font-size:.85rem;line-height:1.42;overflow:auto}pre code{background:0 0;line-height:1.42}pre code:before,pre code:after{content:""}
#site-container{flex-direction:column;height:100%;display:flex}#site-container #fixed-header{z-index:9999;background-color:#2c77a8;flex:0 0 4.5rem;position:sticky;top:0}#site-container #fixed-header #portfolio-header{justify-content:space-between;place-items:center;column-gap:1em;height:100%;padding:0 3em;display:flex}#site-container #fixed-header #portfolio-header a{color:#000;column-gap:.5em;width:fit-content;text-decoration:none;display:flex}#site-container #fixed-header #portfolio-header svg{width:30px}#site-container #fixed-header #portfolio-header h1{flex:2 2 40%;margin:auto 0 auto 2em;font-size:x-large}@media (700px<=width<=1150px){#site-container #fixed-header #portfolio-header h1{margin:unset;flex:1 2 20%}}@media (max-width:700px){#site-container #fixed-header #portfolio-header h1{flex:1 2 20%;margin-left:.5em}}#site-container #fixed-header #portfolio-header #right-navbar{flex-basis:70%;height:100%;display:flex}#site-container #fixed-header #portfolio-header #right-navbar #url-list{flex-wrap:wrap;flex:50%;height:100%;display:flex}#site-container #fixed-header #portfolio-header #right-navbar #url-list>a{border-radius:2%;flex:1;align-items:center;padding:0 .5em}#site-container #fixed-header #portfolio-header #right-navbar #url-list>a svg{margin-right:.5em}#site-container #fixed-header #portfolio-header #right-navbar #url-list>a.active{background-color:#8bb3cc}#site-container #fixed-header #portfolio-header #right-navbar #url-list>a:hover{background-color:#fff}@media (min-width:950px){#site-container #fixed-header #portfolio-header #right-navbar #url-list>a{justify-content:center}}@media (max-width:700px){#site-container #fixed-header #portfolio-header #right-navbar #url-list>a{column-gap:.2em;padding:0}#site-container #fixed-header #portfolio-header #right-navbar #url-list>a svg{width:1.5em;height:2em}#site-container #fixed-header #portfolio-header #right-navbar #url-list{column-gap:.2em}}#site-container #fixed-header #portfolio-header #right-navbar #switch-language{margin:auto 0}#site-container #fixed-header #portfolio-header #right-navbar #switch-language img{min-width:100%;min-height:2em}@media (min-width:950px){#site-container #fixed-header #portfolio-header #right-navbar{flex:2 60%;column-gap:2.2em}}@media (max-width:700px){#site-container #fixed-header #portfolio-header #right-navbar{flex:2 80%}#site-container #fixed-header #portfolio-header{column-gap:.5em;padding:0 .5em}}#site-container #site-body{flex:1 0 calc(100% - 4.5rem);padding:2em 5em;display:flex;overflow-y:auto}#site-container #site-body #profile-container{flex:0 20%}#site-container #site-body #profile-container #profile-bio{flex-direction:column;gap:1.5em;display:flex}#site-container #site-body #profile-container #profile-bio #avatar-link{width:fit-content;margin:0 auto}#site-container #site-body #profile-container #profile-bio #avatar-link #bio-avatar{border-radius:50%;width:105px;height:100px;margin:0 auto}#site-container #site-body #profile-container #profile-bio #profile{flex-direction:column;row-gap:2em;margin:0 auto;display:flex}#site-container #site-body #profile-container #profile-bio #profile #profile-info{flex-direction:column;justify-content:center;row-gap:.5em;margin-left:.3em;display:flex}#site-container #site-body #profile-container #profile-bio #profile #profile-info>*{display:flex}#site-container #site-body #profile-container #profile-bio #profile #profile-info .profile-icon{margin-right:1rem}@media (max-width:700px){#site-container #site-body #profile-container #profile-bio #profile #profile-info{display:none}}#site-container #site-body #profile-container #profile-bio #profile #social-links{flex-direction:column;gap:1em .5em;font-size:.9rem;display:flex}#site-container #site-body #profile-container #profile-bio #profile #social-links .social-link{color:unset;align-items:center;display:flex}#site-container #site-body #profile-container #profile-bio #profile #social-links .social-link img{border-radius:50%}#site-container #site-body #profile-container #profile-bio #profile #social-links .social-link span{margin-left:1rem}@media (max-width:700px){#site-container #site-body #profile-container #profile-bio #profile #social-links .social-link span{display:none}#site-container #site-body #profile-container #profile-bio #profile #social-links{flex-direction:row;justify-content:center;gap:1em}#site-container #site-body #profile-container #profile-bio #profile{justify-items:center;gap:.5em;display:grid}#site-container #site-body #profile-container{flex-basis:10%}}#site-container #site-body #site-page{flex-direction:column;flex:0 0 80%;justify-content:space-between;padding:0 5%;display:flex}#site-container #site-body #site-page #site-content{flex-direction:column;display:flex}#site-container #site-body #site-page #site-content #page-header{justify-content:space-between;align-items:baseline;display:flex}@media (max-width:700px){#site-container #site-body #site-page #site-content #page-header{margin-top:0}}#site-container #site-body #site-page #site-content #page-description{margin:1em 0 3em}@media (max-width:700px){#site-container #site-body #site-page #site-content #page-description{margin:.5em 0 2em}#site-container #site-body #site-page #site-content{padding:0 1em}#site-container #site-body #site-page{flex-basis:90%;max-width:100%;margin-top:2em;padding:.2em}}#site-container #site-body.blog-view #site-page{max-width:80%}@media (max-width:700px){#site-container #site-body.blog-view #site-page{max-width:100%}#site-container #site-body.blog-view #profile-container{display:none}#site-container #site-body{flex-direction:column;padding:1em 1em 2em}}
#site-links a{color:#000}#blog-title{margin-top:2em}#blog-title a{color:#000}#rss-link-container{align-items:center;column-gap:1em;display:flex}#rss-link-container #rss-feed-icon{color:#fff;background-color:#c45500;border-radius:5px;width:25px;height:25px}.post-list{list-style-type:none}.post-list .post-list-item{margin-top:2rem}.post-list .post-list-item a{color:unset;text-decoration:none}.post-list .post-list-item header{margin-bottom:1rem}.post-list .post-list-item header time{font-size:80%}.post-list .post-list-item .article-preview .blog-thumbnail{border-radius:2%;max-width:300px;max-height:300px}.post-list .post-list-item .article-preview .description{margin-bottom:0}@media not (max-width:700px){.post-list .post-list-item .article-preview .description{max-width:25em}.post-list .post-list-item .article-preview{column-gap:1em;display:flex}}.blog-post ul{list-style:outside}.blog-post ol{list-style:decimal}.blog-post img{margin:.2em auto;display:flex}@media (min-width:950px){.blog-post img{max-width:600px;max-height:500px}}.blog-post figcaption,.blog-post img+em{color:#4b4545;text-align:center;white-space:pre-line;width:100%;margin-top:.2em;font-size:.8rem;display:inline-block}.blog-post figure .article-illustration{margin:1em auto .5em}.blog-post .blog-post-footer{justify-content:space-between;display:flex}.blog-post .blog-post-footer .author-bio{flex-direction:column;row-gap:.8em;display:flex}.blog-post .blog-post-footer .author-bio .author-socials{column-gap:.5em;display:flex}.blog-post .blog-post-footer .author-bio .author-socials img{height:30px}.blog-post .blog-post-footer .share-article-container{flex:0 60%;align-items:baseline;margin-right:1em;display:flex}.blog-post .blog-post-footer .share-article-container #share-buttons{display:flex}.blog-post .blog-post-footer .share-article-container #share-buttons svg{width:37px;height:37px}@media (max-width:600px){.blog-post .blog-post-footer .share-article-container{flex-direction:column}}.blog-post-nav ul{flex-wrap:wrap;justify-content:space-between;padding:0;list-style:none;display:flex}
#cv-page{flex-direction:column;row-gap:2em;display:flex}#cv-page #job-list,#cv-page #formation-list,#cv-page #certifications-list,#cv-page #skills-list,#cv-page #hobbies-list{flex-direction:column;row-gap:.5em;display:flex}#cv-page #job-list #jobs-header{flex-flow:wrap;justify-content:space-between;display:flex}#cv-page #job-list .cv-button{margin:0 auto}#cv-page .detail-block{background-color:#a8c9d4;border:2px solid #1f5099;display:flex}#cv-page .detail-block .block-title{background-color:#96c5d4;border-right:1px solid #1f5099;flex-direction:column;flex-basis:25%;padding:10px;display:flex}#cv-page .detail-block .block-title>*{text-align:center;margin:auto}#cv-page .detail-block .block-title .job-content{flex-direction:column;justify-content:space-between;place-items:center;row-gap:1.5em;width:100%;height:100%;display:flex}#cv-page .detail-block .block-title .job-content .job-period,#cv-page .detail-block .block-title .job-content .job-location{font-size:small;font-weight:700}#cv-page .detail-block .block-title .job-content .job-period{align-items:center;display:flex}@media not (min-width:850px){#cv-page .detail-block .block-title .job-content .job-period{flex-direction:column}}#cv-page .detail-block .block-title .job-content .job-name a{text-decoration:none;display:flex}#cv-page .detail-block .block-title .job-content .job-name img{max-width:160px;max-height:80px}@media not (min-width:850px){#cv-page .detail-block .block-title .job-content{grid-template-columns:1fr 1fr 1fr;column-gap:.4em;display:grid}}@media (max-width:850px){#cv-page .detail-block .block-title{border-bottom:1px solid #1f5099;border-right:none}}#cv-page .detail-block .detail-info{flex-basis:75%;padding:10px}#cv-page .detail-block .detail-info .job-details-content h3{text-align:center}#cv-page .detail-block .detail-info .certifications-logos{flex-flow:wrap;justify-content:space-evenly;column-gap:1em;display:flex}#cv-page .detail-block .detail-info .certifications-logos>*{place-content:center;align-items:center;display:flex}@media (max-width:850px){#cv-page .detail-block{flex-direction:column}}#cv-page #skills-list .detail-block .detail-info{flex-wrap:wrap;gap:1em;display:flex}
#projects-list{flex-flow:wrap;gap:3em;width:100%;display:flex}#projects-list .repository-widget-container{border-radius:1%;flex-direction:column;flex-basis:calc(50% - 1.5em);row-gap:.5em;padding:10px;display:flex;box-shadow:0 0 5px #000}#projects-list .repository-widget-container .repository-widget-title{grid-template-columns:1fr auto;align-items:center;display:grid}#projects-list .repository-widget-container .technical-stack{flex-direction:column;row-gap:1em;margin:.5em 0;display:flex}#projects-list .repository-widget-container .technical-stack .repository-icons{flex-flow:wrap;gap:.2em .8em;display:flex}#projects-list .repository-widget-container .technical-stack .languages-container{border-radius:.5rem;display:flex;overflow:hidden}#projects-list .repository-widget-container .technical-stack .languages-container .language-edge{height:1.5em}@media (max-width:850px){#projects-list .repository-widget-container{flex-basis:100%}}
#contact-form{flex-direction:column;gap:2em;display:flex}#contact-form #contact-informations{justify-content:space-between;column-gap:3em;display:flex}@media (max-width:700px){#contact-form #contact-informations{flex-direction:column;row-gap:1em}}#contact-form .form-field{flex:1}#contact-form .form-field label{margin-bottom:.25rem;display:block}#contact-form .form-field input,#contact-form .form-field textarea{border:1px solid #ccc;border-radius:4px;width:100%;padding:.5rem}#contact-form #submit-button{color:#fff;cursor:pointer;background-color:#005b99;border:none;border-radius:4px;margin:0 auto;padding:.5rem 1.5rem}#contact-form #submit-button:disabled{cursor:not-allowed;background-color:#ccc}
