@import url(https://fonts.googleapis.com/css2?family=Rubik:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&display=swap);#aside{border-right:1px solid #454360;color:var(--color-white);display:flex;flex-direction:column;height:100vh;justify-content:space-between;padding:50px 40px 40px;width:var(--nav-size-large);z-index:1000}#aside .aside-top .logo-full{display:block;margin-bottom:var(--microspacing)}#aside .aside-top .logo-small{display:none;margin-bottom:var(--microspacing)}#aside{position:relative}#aside .aside-top .navigation .hamburger{background:#27263e;border:1px solid #43415e;border-radius:5px;display:none;padding:12px}#aside .aside-top .navigation .menu{display:block}@media (max-width:calc(1199.98px + 100px)){#aside{justify-content:flex-start;padding:50px 15px;width:var(--nav-size-medium)}#aside .aside-top .logo-full{display:none}#aside .aside-top .logo-small{display:block}#aside .aside-top .navigation .hamburger{display:none}#aside .aside-top .navigation .menu{display:block}#aside .aside-bottom{display:none}}@media (max-width:calc(991.98px + 100px)){#aside{width:var(--nav-size-medium)}}@media (max-width:calc(767.98px + 0px)){#aside{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:rgba(var(--color-primary),.9);border-bottom:1px solid #454360;border-right:0;height:70px;padding:10px 15px;position:fixed;top:0;width:100%}#aside .aside-top{align-items:space-between;display:flex;flex-direction:row;justify-content:space-between}#aside .aside-top .logo-full{display:block}#aside .aside-top .logo-small{display:none}#aside .aside-top .navigation .hamburger{display:block}#aside .aside-top .navigation .menu{display:none;height:0;top:30px;transition:all .3s}#aside .aside-top .navigation .menu.-active{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:rgba(var(--color-primary),1);display:block;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;left:0;position:absolute;right:0;top:70px}}.aside-bottom small{align-items:center;color:hsla(0,0%,100%,.5);display:flex;font-size:10px;gap:6px;justify-content:center;text-align:center}.admin-trigger{align-items:center;color:hsla(0,0%,100%,.4);cursor:pointer;display:flex;font-size:12px;transition:var(--transition)}.admin-trigger:hover{color:hsla(0,0%,100%,.8);-webkit-transform:scale(1.1);transform:scale(1.1)}.menu a{align-items:center;color:#999;display:flex;flex-direction:row;margin-bottom:20px}.menu .nav-text p,.menu a{transition:var(--transition)}.menu .nav-text p{font-size:1.1rem;font-weight:700;margin-bottom:0;margin-left:20px}.menu .nav-icon{margin-bottom:-7px}.menu .nav-icon svg{height:24px;transition:var(--transition);width:24px}.menu a:hover .nav-icon,.menu a:hover .nav-text p{color:#fff}.menu a.active .nav-icon,.menu a.active .nav-text p{color:var(--color-accent)}@media (max-width:calc(1199.98px + 100px)){.menu .nav-text{display:none}.menu li{display:flex;justify-content:center}}@media (max-width:calc(767.98px + 0px)){.menu{padding:20px}.menu li{display:flex;justify-content:flex-start}.menu .nav-text{display:block}.menu .nav-icon svg{height:22px;width:22px}}.language-selector{align-items:center;display:flex;gap:8px;margin-top:20px}.language-selector button{background:none;border:none;border-radius:var(--border-radius-small);cursor:pointer;font-size:1.5rem;opacity:.5;padding:8px;-webkit-transform:scale(1);transform:scale(1);transition:var(--transition)}.language-selector button:hover{opacity:.8;-webkit-transform:scale(1.1);transform:scale(1.1)}.language-selector button.active{opacity:1;-webkit-transform:scale(1.2);transform:scale(1.2)}@media (max-width:calc(var(--breakpoint-sm) + 0px)){.language-selector{justify-content:center;margin-top:15px}.language-selector button{font-size:1.3rem;padding:6px}}#content{height:100vh;overflow-y:scroll;scroll-behavior:smooth;-ms-scroll-snap-type:both mandatory;scroll-snap-type:both mandatory;width:calc(100% - var(--nav-size-large))}#content .content_section{padding-top:var(--macrospacing)}#content .content_section#contact{padding-bottom:var(--macrospacing)}#content .content_section:last-child{padding-top:25px}#content .content_section_inner{margin:auto;max-width:1050px;padding:0 15px}@media (max-width:calc(1199.98px + 100px)){#content{width:calc(100vw - var(--nav-size-medium))}}@media (max-width:calc(991.98px + 100px)){#content{width:calc(100vw - var(--nav-size-medium))}}@media (max-width:calc(767.98px + 0px)){#content{overflow-y:visible;width:100vw}}@media (max-width:calc(575.98px + 0px)){#content{width:100vw}}#header{background:rgba(var(--color-primary),1) repeat url(/static/media/tile-portfolio.748303a9da5ba3142eed.png);color:#fff;height:100vh;justify-content:space-between;padding:40px 15px}#header,#header .header-center{align-items:center;display:flex;flex-direction:column}#header .header-center .avatar{margin-bottom:var(--microspacing)}#header .header-center .subtitle{margin-bottom:40px}#header .header-center .social{margin-bottom:var(--microspacing)}#header .header-center .social .social-item{padding:0 8px}#header .header-center .social .social-item:hover img{-webkit-filter:invert(46%) sepia(33%) saturate(6793%) hue-rotate(324deg) brightness(93%) contrast(103%);filter:invert(46%) sepia(33%) saturate(6793%) hue-rotate(324deg) brightness(93%) contrast(103%)}#header .header-center .calltoaction{background:var(--color-accent);border-radius:var(--border-radius-large);color:#fff;font-weight:700;line-height:48px;padding:0 24px;transition:var(--transition)}#header .header-center .calltoaction:hover{background:var(--color-white);color:var(--color-text)}@media (max-width:calc(767.98px + 0px)){#header{height:100vh}}#footer{background:rgba(var(--color-primary),1) repeat url(/static/media/tile-portfolio.748303a9da5ba3142eed.png);color:#fff;height:100px;padding:25px 0}#footer .content_section_inner{align-items:center;display:flex;flex-direction:row;justify-content:space-between}#footer .social .social-item{padding:0 8px}@media (max-width:calc(575.98px + 0px)){#footer{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}#footer .content_section_inner{align-items:center;flex-direction:column;justify-content:space-between;padding:20px}#footer .content_section_inner .social{margin-bottom:20px}}.double,.simple{color:var(--color-text-light)}.realisation-grid{grid-gap:var(--col-gap);display:grid;gap:var(--col-gap);grid-template-columns:repeat(3,1fr);margin-left:auto;margin-right:auto;margin-top:var(--microspacing);max-width:1200px;position:relative}@media (max-width:768px){.realisation-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:575px){.realisation-grid{grid-template-columns:1fr}}.realisation-card{grid-column:span 1;position:relative}.realisation-item{cursor:pointer;display:flex;flex-direction:column;overflow:hidden;transition:var(--transition)}.realisation-item:hover{box-shadow:6px 12px 30px rgba(30,30,30,.08);-webkit-transform:translateY(-5px);transform:translateY(-5px)}.realisation-image{display:block;height:100%;left:0;object-fit:cover;position:absolute;top:0;z-index:1}.realisation-overlay{background:linear-gradient(180deg,transparent,rgba(53,51,83,.95) 50%);bottom:0;color:#fff;display:flex;flex-direction:column;justify-content:space-between;left:0;padding:20px;right:0;top:0;transition:var(--transition);z-index:2}.overlay-top h4{color:#fff;font-family:var(--font-primary);font-size:var(--font-rem-h5);font-weight:600;margin:0 0 10px}.overlay-top p{color:hsla(0,0%,100%,.9);font-size:.9rem;line-height:var(--line-height);margin:0}.overlay-middle{display:flex;gap:15px;justify-content:center;margin:20px 0}.overlay-middle a,.overlay-middle button{align-items:center;background:var(--color-accent);border:none;border-radius:var(--border-radius-small);box-shadow:var(--box-shadow);color:#fff;cursor:pointer;display:flex;font-size:1.1rem;height:40px;justify-content:center;text-decoration:none;transition:var(--transition);width:40px}.overlay-middle a:hover,.overlay-middle button:hover{background:var(--color-text);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.overlay-bottom{align-items:center;display:flex;font-size:.85rem;justify-content:space-between}.overlay-bottom p{align-items:center;color:hsla(0,0%,100%,.8);display:flex;gap:5px;margin:0}.realisations-filter{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin:var(--microspacing) 0}.realisations-filter button{background:var(--color-white);border:none;border-radius:var(--border-radius-large);box-shadow:var(--box-shadow);color:var(--color-text);font-family:var(--font-primary);font-size:.9rem;font-weight:500;padding:8px 16px}.realisations-filter button.active,.realisations-filter button:hover{-webkit-transform:translateY(-2px);transform:translateY(-2px)}.realisation-error{background:var(--color-white);box-shadow:var(--box-shadow);color:var(--color-text-light);font-size:var(--font-rem-p);margin:var(--macrospacing) 0;padding:var(--microspacing);text-align:center}.expanded-details{grid-column:1/-1;margin:20px 0;position:relative;width:100%}.expanded-content{background:var(--color-white);border:2px solid var(--color-accent);border-radius:var(--border-radius-small);box-shadow:6px 12px 40px rgba(30,30,30,.15);box-sizing:border-box;padding:30px;position:relative;width:100%}.close-expanded{align-items:center;background:var(--color-accent);border:none;border-radius:var(--border-radius-small);box-shadow:var(--box-shadow);color:#fff;cursor:pointer;display:flex;font-size:1.2rem;height:36px;justify-content:center;position:absolute;right:15px;top:15px;transition:var(--transition);width:36px;z-index:10}.close-expanded:hover{background:var(--color-text);-webkit-transform:scale(1.1);transform:scale(1.1)}.expanded-grid{grid-gap:var(--microspacing);display:grid;gap:var(--microspacing);grid-template-columns:1fr 1fr;margin-top:20px}.expanded-left{display:flex;flex-direction:column;gap:20px}.main-image img{border-radius:var(--border-radius-small);box-shadow:var(--box-shadow);height:250px;object-fit:cover;width:100%}.gallery-grid h4{color:var(--color-text);font-family:var(--font-primary);font-size:var(--font-rem-h5);font-weight:600;margin-bottom:15px}.gallery-images{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(60px,1fr))}.gallery-thumb{border-radius:var(--border-radius-small);box-shadow:var(--box-shadow);cursor:pointer;height:60px;object-fit:cover;transition:var(--transition);width:100%}.gallery-thumb:hover{-webkit-transform:scale(1.05);transform:scale(1.05)}.expanded-right{display:flex;flex-direction:column;gap:20px}.project-header h3{color:var(--color-text);font-family:var(--font-primary);font-size:var(--font-rem-h3);font-weight:600;margin:0 0 10px}.client-name{color:var(--color-text-light);font-size:.9rem;margin:0}.project-meta{display:flex;flex-wrap:wrap;gap:20px}.meta-item{align-items:center;color:var(--color-text-light);display:flex;font-size:.9rem;gap:8px}.meta-item svg{color:var(--color-accent)}.project-description h4,.project-technologies h4{color:var(--color-text);font-family:var(--font-primary);font-size:var(--font-rem-h5);font-weight:600;margin:0 0 10px}.project-description p{color:var(--color-text-light);font-size:var(--font-rem-p);line-height:var(--line-height);margin:0}.tech-tags{gap:8px}.tech-tag{border-radius:var(--border-radius-large);font-size:.8rem;padding:6px 12px}.project-actions{margin-top:auto}.project-link-btn{align-items:center;background:var(--color-accent);border-radius:var(--border-radius-small);box-shadow:var(--box-shadow);color:#fff;display:inline-flex;font-family:var(--font-primary);font-size:.9rem;font-weight:600;gap:8px;padding:12px 20px;text-decoration:none;transition:var(--transition)}.project-link-btn:hover{background:var(--color-text);-webkit-transform:translateY(-2px);transform:translateY(-2px)}@media (max-width:768px){.realisations-filter{gap:10px;margin:30px 0}.realisations-filter button{font-size:.85rem;padding:6px 12px}.expanded-content{padding:20px}.expanded-grid{gap:20px;grid-template-columns:1fr}.project-header h3{font-size:var(--font-rem-h4)}.main-image img{height:200px}}@media (max-width:575px){.overlay-bottom{align-items:flex-start;flex-direction:column;gap:5px}.close-expanded{font-size:1rem;height:32px;right:10px;top:10px;width:32px}.project-link-btn{font-size:.85rem;padding:10px 16px}.expanded-content{padding:15px}.realisation-item{min-height:220px}}.login-container{align-items:center;background:var(--color-bg);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{background:var(--color-bg-variant);border:1px solid var(--color-bg-variant);border-radius:2rem;box-shadow:0 0 2rem rgba(0,0,0,.1);max-width:400px;padding:2rem;width:100%}.login-card h2{color:var(--color-white);margin-bottom:2rem;text-align:center}.login-form{gap:1.5rem}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{color:var(--color-light);font-weight:500}.form-group input{background:var(--color-bg);border:1px solid var(--color-primary-variant);border-radius:.4rem;color:var(--color-white);font-size:1rem;padding:.75rem}.form-group input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(77,181,255,.3);outline:none}.form-group input:disabled{cursor:not-allowed;opacity:.6}.error-message{background:#ff4757;border-radius:.4rem;color:#fff;font-size:.9rem;padding:.75rem;text-align:center}.login-button{background:var(--color-primary);border:none;border-radius:.4rem;color:var(--color-bg);cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:background .3s ease}.login-button:hover:not(:disabled){background:var(--color-primary-variant)}.login-button:disabled{cursor:not-allowed;opacity:.6}.image-upload-container{margin-bottom:20px}.image-upload-label{color:var(--color-text);display:block;font-family:var(--font-primary);font-size:.9rem;font-weight:600;margin-bottom:8px}.upload-area{align-items:center;background:var(--color-background);border:2px dashed rgba(var(--color-primary),.3);border-radius:var(--border-radius-small);cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:120px;padding:40px 20px;text-align:center;transition:var(--transition)}.upload-area.dragging,.upload-area:hover{background:rgba(var(--color-accent),.05);border-color:var(--color-accent);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.upload-icon{color:var(--color-accent);font-size:2rem;margin-bottom:10px}.upload-area p{color:var(--color-text);font-family:var(--font-primary);font-weight:500;margin:0 0 5px}.upload-area span{color:var(--color-text-light);font-size:.8rem}.image-preview-container{border-radius:var(--border-radius-small);box-shadow:var(--box-shadow);overflow:hidden;position:relative}.image-preview{display:block;height:200px;object-fit:cover;width:100%}.image-overlay{align-items:center;background:rgba(var(--color-primary),.8);bottom:0;display:flex;gap:15px;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:var(--transition)}.image-preview-container:hover .image-overlay{opacity:1}.change-image-btn,.delete-image-btn{align-items:center;background:var(--color-white);border:none;border-radius:50%;box-shadow:var(--box-shadow);cursor:pointer;display:flex;font-size:1.2rem;height:45px;justify-content:center;transition:var(--transition);width:45px}.change-image-btn{color:var(--color-accent)}.change-image-btn:hover{background:var(--color-accent);color:#fff;-webkit-transform:scale(1.1);transform:scale(1.1)}.delete-image-btn{color:#ff4757}.delete-image-btn:hover{background:#ff4757;color:#fff;-webkit-transform:scale(1.1);transform:scale(1.1)}@media screen and (max-width:calc(var(--breakpoint-sm) + 0px)){.upload-area{min-height:100px;padding:30px 15px}.upload-icon{font-size:1.5rem}.image-preview{height:150px}.change-image-btn,.delete-image-btn{font-size:1rem;height:40px;width:40px}}.portfolio-form-container{align-items:center;background:rgba(var(--color-primary),.8);bottom:0;display:flex;justify-content:center;left:0;padding:var(--col-gap);position:fixed;right:0;top:0;z-index:1000}.portfolio-form{border-radius:var(--border-radius-small);box-shadow:6px 12px 40px rgba(var(--color-primary),.3);display:grid;grid-template-columns:1fr;max-height:90vh;max-width:900px;overflow-y:auto;width:100%}.form-header,.portfolio-form{background:var(--color-white)}.form-header{align-items:center;border-bottom:1px solid rgba(var(--color-primary),.1);display:flex;grid-column:1/-1;justify-content:space-between;padding:var(--col-gap)}.form-header h3{color:var(--color-text);font-family:var(--font-primary);font-size:var(--font-rem-h4);font-weight:600;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:var(--border-radius-small);color:var(--color-text-light);cursor:pointer;display:flex;font-size:1.5rem;height:30px;justify-content:center;padding:0;transition:var(--transition);width:30px}.close-button:hover{background:rgba(var(--color-primary),.1);color:var(--color-text)}.portfolio-form form{grid-gap:var(--col-gap);display:grid;gap:var(--col-gap);grid-template-columns:1fr 1fr;padding:var(--col-gap)}.form-group{margin-bottom:20px}.form-group label{color:var(--color-text);display:block;font-family:var(--font-primary);font-size:.9rem;font-weight:600;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{background:#fff;border:none;border-radius:var(--border-radius-small);box-shadow:var(--box-shadow);box-sizing:border-box;color:var(--color-text);font-family:var(--font-primary);font-size:.9rem;padding:10px 16px;transition:var(--transition);width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{box-shadow:6px 8px 20px rgba(var(--color-primary),.15);outline:none;-webkit-transform:translateY(-1px);transform:translateY(-1px)}.form-group textarea{line-height:var(--line-height);min-height:80px;resize:vertical}.form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.array-item{align-items:center;display:flex;gap:10px;margin-bottom:10px}.array-item input{flex:1 1}.remove-btn{align-items:center;background:var(--color-accent);border:none;border-radius:var(--border-radius-small);box-shadow:var(--box-shadow);color:#fff;cursor:pointer;display:flex;font-size:1rem;height:32px;justify-content:center;transition:var(--transition);width:32px}.remove-btn:hover:not(:disabled){background:var(--color-text);-webkit-transform:scale(1.05);transform:scale(1.05)}.remove-btn:disabled{background:var(--color-text-light);cursor:not-allowed;opacity:.5}.add-btn{background:var(--color-accent);border:none;border-radius:var(--border-radius-small);box-shadow:var(--box-shadow);color:#fff;cursor:pointer;font-family:var(--font-primary);font-size:.9rem;font-weight:600;margin-top:8px;padding:8px 16px;transition:var(--transition);width:100%}.add-btn:hover{background:var(--color-text);-webkit-transform:translateY(-1px);transform:translateY(-1px)}.image-preview{background:var(--color-background);box-shadow:var(--box-shadow);margin-top:10px;padding:10px;text-align:center}.image-preview,.image-preview img{border-radius:var(--border-radius-small)}.image-preview img{max-height:80px;max-width:120px;object-fit:cover}.form-actions{border-top:1px solid rgba(var(--color-primary),.1);display:flex;gap:10px;grid-column:1/-1;justify-content:flex-end;margin-top:20px;padding-top:20px}.cancel-button{background:var(--color-text-light);border:none;border-radius:var(--border-radius-small);box-shadow:var(--box-shadow);color:#fff;cursor:pointer;font-family:var(--font-primary);font-size:.9rem;font-weight:500;padding:10px 20px;transition:var(--transition)}.cancel-button:hover{background:var(--color-text);-webkit-transform:translateY(-1px);transform:translateY(-1px)}.save-button{background:var(--color-accent);border:none;border-radius:var(--border-radius-small);box-shadow:var(--box-shadow);color:#fff;cursor:pointer;font-family:var(--font-primary);font-size:.9rem;font-weight:600;padding:10px 20px;transition:var(--transition)}.save-button:hover{background:var(--color-text);-webkit-transform:translateY(-1px);transform:translateY(-1px)}.form-group-full{grid-column:1/-1}.gallery-uploads{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:10px}.gallery-item{border:1px solid rgba(var(--color-primary),.1);border-radius:var(--border-radius-small);padding:15px}.add-gallery-btn{background:var(--color-accent);border:none;border-radius:var(--border-radius-small);box-shadow:var(--box-shadow);color:#fff;cursor:pointer;font-family:var(--font-primary);font-size:.9rem;font-weight:600;grid-column:1/-1;margin-top:10px;padding:12px 20px;transition:var(--transition)}.add-gallery-btn:hover{background:var(--color-text);-webkit-transform:translateY(-1px);transform:translateY(-1px)}@media screen and (max-width:calc(var(--breakpoint-md) + 100px)){.portfolio-form-container{padding:15px}.form-row,.portfolio-form form{grid-template-columns:1fr}.portfolio-form form{padding:20px}.array-item,.form-actions{flex-direction:column}.array-item{align-items:stretch}.remove-btn{align-self:flex-end;margin-top:8px}.gallery-uploads{grid-template-columns:1fr}}@media screen and (max-width:calc(var(--breakpoint-sm) + 0px)){.portfolio-form-container{padding:10px}.form-header{padding:20px}.portfolio-form form{padding:15px}.form-header h3{font-size:var(--font-rem-h5)}}.portfolio-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.portfolio-item{flex-direction:column;gap:15px}.portfolio-image{height:150px;width:100%}.portfolio-info{display:flex;flex-direction:column;gap:10px}.portfolio-description,.portfolio-info h3{margin:0}.portfolio-technologies{margin-top:5px}.portfolio-actions{margin-top:auto}.delete-button,.edit-button{flex:1 1;padding:8px 12px}@media screen and (max-width:calc(var(--breakpoint-md) + 100px)){.portfolio-list{gap:15px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.portfolio-header{flex-direction:column;gap:15px;text-align:center}}@media screen and (max-width:calc(var(--breakpoint-sm) + 0px)){.portfolio-list{grid-template-columns:1fr;padding:20px}.portfolio-actions{flex-direction:column}}.dashboard-container{background:var(--color-background);color:var(--color-text);display:flex;flex-direction:column;font-family:var(--font-primary);min-height:100vh}.dashboard-header{align-items:center;background:rgba(var(--color-primary),1);border-bottom:1px solid rgba(var(--color-primary),.3);box-shadow:var(--box-shadow);color:#fff;display:flex;justify-content:space-between;padding:var(--microspacing) var(--macrospacing)}.dashboard-header h1{color:#fff;font-family:var(--font-primary);font-size:var(--font-rem-h2);font-weight:600;margin:0}.dashboard-nav{align-items:center;display:flex;gap:15px}.dashboard-nav button{background:hsla(0,0%,100%,.1);border:none;border-radius:var(--border-radius-small);color:hsla(0,0%,100%,.9);cursor:pointer;font-family:var(--font-primary);font-size:.9rem;font-weight:500;padding:8px 16px;transition:var(--transition)}.dashboard-nav button.active,.dashboard-nav button:hover{background:hsla(0,0%,100%,.2);color:#fff;-webkit-transform:translateY(-1px);transform:translateY(-1px)}.logout-button{background:var(--color-accent)!important;color:#fff!important}.logout-button:hover{background:var(--color-text)!important;-webkit-transform:translateY(-1px)!important;transform:translateY(-1px)!important}.dashboard-content{flex:1 1;margin:0 auto;max-width:var(--width);padding:var(--microspacing);width:100%}.portfolio-manager{background:var(--color-white);border-radius:var(--border-radius-small);box-shadow:var(--box-shadow);margin-bottom:var(--microspacing);overflow:hidden}.portfolio-header{align-items:center;background:var(--color-white);border-bottom:1px solid rgba(var(--color-primary),.1);display:flex;justify-content:space-between;padding:var(--col-gap)}.portfolio-header h2{color:var(--color-text);font-size:var(--font-rem-h3);margin:0}.add-portfolio-button,.portfolio-header h2{font-family:var(--font-primary);font-weight:600}.add-portfolio-button{background:var(--color-accent);border:none;border-radius:var(--border-radius-small);box-shadow:var(--box-shadow);color:#fff;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:var(--transition)}.add-portfolio-button:hover{background:var(--color-text);-webkit-transform:translateY(-1px);transform:translateY(-1px)}.portfolio-item,.portfolio-list{padding:var(--col-gap)}.portfolio-item{align-items:flex-start;background:var(--color-white);border-radius:var(--border-radius-small);box-shadow:var(--box-shadow);display:flex;gap:20px;margin-bottom:20px;transition:var(--transition)}.portfolio-item:hover{box-shadow:6px 12px 30px rgba(30,30,30,.08);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.portfolio-image{background:var(--color-background);border-radius:var(--border-radius-small);flex-shrink:0;height:60px;object-fit:cover;width:80px}.portfolio-info{flex:1 1;min-width:0}.portfolio-info h3{color:var(--color-text);font-family:var(--font-primary);font-size:var(--font-rem-h5);font-weight:600;margin:0 0 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portfolio-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--color-text-light);display:-webkit-box;font-size:var(--font-rem-p);line-height:var(--line-height);margin:0 0 10px;overflow:hidden}.portfolio-meta{color:var(--color-text-light);display:flex;font-size:.85rem;gap:15px;margin-bottom:10px}.category{background:rgba(var(--color-primary),.1);border-radius:var(--border-radius-small);font-size:.8rem;font-weight:500;padding:4px 8px}.date,.portfolio-client{color:var(--color-text-light)}.portfolio-client{font-size:.9rem;margin:5px 0}.portfolio-technologies{margin:10px 0 0}.portfolio-technologies strong{color:var(--color-text);display:block;font-family:var(--font-primary);font-size:.85rem;margin-bottom:5px}.tech-tags{display:flex;flex-wrap:wrap;gap:5px}.tech-tag{background:rgba(var(--color-primary),.1);border-radius:var(--border-radius-small);color:var(--color-text);font-size:.75rem;font-weight:500;padding:2px 6px}.portfolio-actions{display:flex;flex-direction:column;flex-shrink:0;gap:8px}.edit-button{background:var(--color-secondary);border:none;border-radius:var(--border-radius-small);color:#fff;cursor:pointer;font-family:var(--font-primary);font-size:.8rem;font-weight:500;padding:6px 12px;transition:var(--transition)}.edit-button:hover{background:var(--color-text);-webkit-transform:translateY(-1px);transform:translateY(-1px)}.delete-button{background:var(--color-accent);border:none;border-radius:var(--border-radius-small);color:#fff;cursor:pointer;font-family:var(--font-primary);font-size:.8rem;font-weight:500;padding:6px 12px;transition:var(--transition)}.delete-button:hover{background:var(--color-text);-webkit-transform:translateY(-1px);transform:translateY(-1px)}.empty-state{color:var(--color-text-light);padding:var(--macrospacing) var(--col-gap);text-align:center}.empty-state h3{color:var(--color-text);font-family:var(--font-primary);margin-bottom:10px}@media screen and (max-width:calc(var(--breakpoint-md) + 100px)){.dashboard-header{align-items:stretch;flex-direction:column;gap:20px;text-align:center}.dashboard-nav{justify-content:center}.dashboard-content{padding:20px}.portfolio-item{flex-direction:column}.portfolio-actions{flex-direction:row;justify-content:flex-end}.portfolio-meta{flex-direction:column;gap:5px}}@media screen and (max-width:calc(var(--breakpoint-sm) + 0px)){.dashboard-header{padding:20px}.dashboard-header h1{font-size:var(--font-rem-h3)}.portfolio-header{flex-direction:column;gap:15px;text-align:center}.portfolio-list{padding:20px}}:where(:not(iframe,canvas,img,svg,video):not(svg *,symbol *)){all:unset;display:revert}*,:after,:before{box-sizing:border-box}a,button{cursor:revert}menu,ol,ul{list-style:none}img{max-width:100%}table{border-collapse:collapse}textarea{white-space:revert}meter{-webkit-appearance:revert;appearance:revert}::-webkit-input-placeholder{all:unset}:-ms-input-placeholder{all:unset}::placeholder{all:unset}:where([hidden]){display:none}:where([contenteditable]){-moz-user-modify:read-write;-webkit-user-modify:read-write;-webkit-line-break:after-white-space;overflow-wrap:break-word}:where([draggable=true]){-webkit-user-drag:element}:root{--color-primary:53,51,83;--color-secondary:#c72bd4;--color-text:#454360;--color-accent:#e11a3f;--color-white:#fff;--color-black:#000;--color-background:#f9f9ff;--color-text-light:#a19fbd;--width:1050px;--macrospacing:80px;--microspacing:40px;--col-gap:30px;--row-gap:40px;--line-height:1.6;--font-primary:"Rubik",sans-serif;--font-secondary:"Rubik",sans-serif;--font-rem-root:16px;--font-rem-h1:3.5rem;--font-rem-h2:2.074rem;--font-rem-h3:1.728rem;--font-rem-h4:1.44rem;--font-rem-h5:1.2rem;--font-rem-h6:1rem;--font-rem-p:1rem;--font-rem-a:1rem;--font-rem-li:1rem;--border-radius-small:5px;--border-radius-medium:10px;--border-radius-large:40px;--box-shadow:6px 8px 20px rgba(30,30,30,.04);--transition:0.3s all;--nav-size-small:0px;--nav-size-medium:100px;--nav-size-large:300px;--breakpoint-xs:575.98px;--breakpoint-sm:767.98px;--breakpoint-md:991.98px;--breakpoint-lg:1199.98px;--breakpoint-xl:1399.98px}@media (max-width:calc(1399.98px + 300px)){:root{--macrospacing:70px;--microspacing:30px;--col-gap:25px;--row-gap:25px}}@media (max-width:calc(1199.98px + 100px)){:root{--macrospacing:60px;--microspacing:25px;--col-gap:20px;--row-gap:20px}}@media (max-width:calc(991.98px + 100px)){:root{--macrospacing:40px;--microspacing:20px;--col-gap:15px;--row-gap:15px}}@media (max-width:calc(767.98px + 0px)){:root{--macrospacing:30px;--microspacing:15px;--col-gap:15px;--row-gap:15px}}@media (max-width:calc(575.98px + 0px)){:root{--macrospacing:20px;--microspacing:12px;--col-gap:12px;--row-gap:12px}}.primary{background-color:rgba(var(--color-primary),1)}.secondary{background-color:var(--color-secondary)}.text{background-color:var(--color-text)}.accent{background-color:var(--color-accent)}.white{background-color:var(--color-white)}.black{background-color:var(--color-black)}.background{background-color:var(--color-background)}h1{font-size:var(--font-rem-h1);font-weight:300;letter-spacing:2px}h2{font-size:var(--font-rem-h2)}h2,h3{font-weight:700}h3{font-size:var(--font-rem-h3)}h4{font-size:var(--font-rem-h4)}h4,h5{font-weight:500}h5{font-size:var(--font-rem-h5)}h6{font-size:var(--font-rem-h6);font-weight:500}p{font-size:var(--font-rem-p);margin-bottom:1rem}li{font-size:var(--font-rem-li)}@media (max-width:calc(1199.98px + 100px)){h1{font-size:calc(var(--font-rem-h1)*.9)}h2{font-size:calc(var(--font-rem-h2)*.9)}h3{font-size:calc(var(--font-rem-h3)*.9)}h4{font-size:calc(var(--font-rem-h4)*.9)}h5{font-size:calc(var(--font-rem-h5)*.9)}h6{font-size:calc(var(--font-rem-h6)*.9)}p{font-size:calc(var(--font-rem-p)*.9)}a{font-size:calc(var(--font-rem-a)*.8)}li{font-size:calc(var(--font-rem-li)*.9)}}@media (max-width:calc(991.98px + 100px)){h1{font-size:calc(var(--font-rem-h1)*.8)}h2{font-size:calc(var(--font-rem-h2)*.8)}h3{font-size:calc(var(--font-rem-h3)*.8)}h4{font-size:calc(var(--font-rem-h4)*.8)}h5{font-size:calc(var(--font-rem-h5)*.8)}h6{font-size:calc(var(--font-rem-h6)*.8)}p{font-size:calc(var(--font-rem-p)*.8)}a{font-size:calc(var(--font-rem-a)*.8)}li{font-size:calc(var(--font-rem-li)*.8)}}@media (max-width:calc(767.98px + 0px)){h1{font-size:calc(var(--font-rem-h1)*.75)}h2{font-size:calc(var(--font-rem-h2)*.75)}h3{font-size:calc(var(--font-rem-h3)*.75)}h4{font-size:calc(var(--font-rem-h4)*.75)}h5{font-size:calc(var(--font-rem-h5)*.75)}h6{font-size:calc(var(--font-rem-h6)*.75)}p{font-size:calc(var(--font-rem-p)*.75)}a{font-size:calc(var(--font-rem-a)*.75)}li{font-size:calc(var(--font-rem-li)*.75)}}@media (max-width:calc(575.98px + 0px)){h1{font-size:calc(var(--font-rem-h1)*.7)}h2{font-size:calc(var(--font-rem-h2)*.7)}h3{font-size:calc(var(--font-rem-h3)*.7)}h4{font-size:calc(var(--font-rem-h4)*.7)}h5{font-size:calc(var(--font-rem-h5)*.7)}h6{font-size:calc(var(--font-rem-h6)*.7)}p{font-size:calc(var(--font-rem-p)*.7)}a{font-size:calc(var(--font-rem-a)*.7)}li{font-size:calc(var(--font-rem-li)*.7)}}.container{grid-column-gap:var(--col-gap);grid-row-gap:var(--row-gap);grid-template-columns:repeat(6,1fr);margin-top:var(--microspacing)}.container,.container-form-grid{-webkit-column-gap:var(--col-gap);column-gap:var(--col-gap);display:grid;row-gap:var(--row-gap)}.container-form-grid{grid-gap:18px;grid-column-gap:var(--col-gap);grid-row-gap:var(--row-gap);grid-column: col 2;grid-template-columns:1fr 1fr}.container .col p:last-child{margin-bottom:0}.container .col-1-6{grid-column:span 1}.container .col-1-3,.container .col-2-6{grid-column:span 2}.container .col-2-3{grid-column:span 4}.container .col-1-2{grid-column:span 3}.container .col-1,.container .col-full{grid-column:span 2}@media (max-width:calc(1199.98px + 100px)){.container .col-1,.container .col-1-3{grid-column:span 2}.container .col-2-3{grid-column:span 4}}@media (max-width:calc(846px + 100px)){.container .col-1-6{grid-column:span 2}.container .col-2-6{grid-column:span 4}.container .col-1{grid-column:span 2}.container .col-1-3{grid-column:span 3}.contact-infos.col-1-3{grid-column:span 2}.container .col-2-3{grid-column:span 3}.contact-form.col-2-3{grid-column:span 4}.container-form-grid .col{grid-column:span 1}.container-form-grid .col-full{grid-column:span 2}}@media (max-width:calc(991.98px + 100px)){.container .col-1{grid-column:span 2}.container .col .about-avatar{background:var(--color-white);border-radius:var(--border-radius-medium);box-shadow:var(--box-shadow);padding:14px;width:100%}.container-form-grid .col{grid-column:span 1}.container-form-grid .col-full{grid-column:span 2}}@media (max-width:calc(767.98px + 0px)){.container-form-grid .col{grid-column:span 1}.container .col-1-3,.container .col-2-3{grid-column-end:7;grid-column-start:1}.container .col-1{grid-column:span 2}}@media (max-width:calc(575.98px + 0px)){.container-form-grid .col{grid-column:span 2}.container .col-1-6{grid-column:span 3}.container .col-1,.container .col-1-2,.container .col-2-6{grid-column:span 7}}#main{display:flex;flex-direction:row}input,textarea{background:#fff;border-radius:var(--border-radius-small);box-shadow:var(--box-shadow);color:var(--color-text-light);display:block;font-size:.9rem;font-style:italic;padding:10px 16px;width:100%}input[type=submit]{background-color:var(--color-accent);transition:var(--transition)}input[type=submit],input[type=submit]:hover{color:#fff;font-style:normal;font-weight:700;text-align:center}input[type=submit]:hover{background-color:var(--color-text)}@media (max-width:calc(767.98px + 0px)){#main{flex-direction:column}}@media (max-width:calc(575.98px + 0px)){#main{flex-direction:column}}button.cta{background-color:var(--color-accent);border-radius:var(--border-radius-small);color:#fff;display:inline-block;font-weight:700;margin-top:var(--microspacing);padding:8px 12px;text-align:center;transition:var(--transition)}button.cta:hover{background-color:var(--color-text)}.count-item{background:var(--color-white);display:flex;padding:var(--col-gap)}.count-item,.count-item img{border-radius:var(--border-radius-small);box-shadow:var(--box-shadow)}.count-item img{margin-right:15px;padding:14px}.count-item p{color:var(--color-text-light)}.service-item{align-items:center;background:var(--color-white);border-radius:var(--border-radius-small);box-shadow:var(--box-shadow);display:flex;flex-direction:column;padding:40px 20px}.service-item img{height:80px;width:80px}.service-item h4{margin-bottom:0;margin-top:20px}.service-item p{color:var(--color-text-light);text-align:center}.experience-items-wrapper{align-items:flex-start;background:var(--color-white);border-radius:var(--border-radius-small);box-shadow:var(--box-shadow);display:flex;flex-direction:row;padding:40px 20px;position:relative}.experience-items-wrapper .experience-items-line{background-color:var(--color-accent);bottom:40px;display:block;left:40px;position:absolute;top:40px;width:1px}.experience-items-wrapper .experience-items-inner-wrapper{margin-left:60px}.experience-items-inner-wrapper .experience-item{position:relative}.experience-items-inner-wrapper .experience-item:after{background:#fff url(/static/media/experience-field.731bea0dd11bc3f21b4e.svg) no-repeat 50%;content:"";height:40px;left:-60px;position:absolute;top:0;width:40px}.experience-items-inner-wrapper .experience-item{margin-bottom:40px}.experience-items-inner-wrapper .experience-item.training:after{background:#fff url(/static/media/experience-training.f92df355df2d65461982.svg) no-repeat 50%}.experience-items-inner-wrapper .experience-item p{color:var(--color-text-light);margin-bottom:0}.experience-items-inner-wrapper .experience-item .date{font-size:.8rem}.competence-item .double,.competence-item .simple{list-style-type:circle;padding-left:1.2rem}.competence-item .double{-webkit-column-count:2;column-count:2;-webkit-column-gap:var(--col-gap);column-gap:var(--col-gap)}.realisations-filter{margin-bottom:40px;margin-top:20px}.realisations-filter button{background:transparent;border-radius:var(--border-radius-small);cursor:pointer;margin-right:20px;padding:3px 10px;transition:var(--transition)}.realisations-filter button.active,.realisations-filter button:hover{background:var(--color-accent);color:#fff}.realisation-error{background-color:#f1ccd3;border:1px solid #d7acb4;color:#af6f7b;padding:20px}.realisation-error,.realisation-item{border-radius:var(--border-radius-small)}.realisation-item{background:var(--color-white);box-shadow:var(--box-shadow);min-height:280px;padding:calc(var(--col-gap)/1.8);position:relative}.realisation-image{margin-bottom:-7px;min-height:calc(280px - var(--col-gap)/1.8);width:100%}.realisation-overlay{background-color:rgba(var(--color-primary),.1);border-radius:var(--border-radius-small);bottom:calc(var(--col-gap)/1.8);left:calc(var(--col-gap)/1.8);opacity:0;position:absolute;right:calc(var(--col-gap)/1.8);top:calc(var(--col-gap)/1.8);transition:background .3s}.realisation-item .realisation-overlay .overlay-top{align-items:center;color:#fff;display:flex;flex-direction:column;left:0;position:absolute;right:0;top:0;transition:var(--transition)}.realisation-item .realisation-overlay .overlay-middle{border-bottom:1px solid #fff;bottom:20%;left:30px;right:30px}.realisation-item .realisation-overlay .overlay-bottom,.realisation-item .realisation-overlay .overlay-middle{color:#fff;display:flex;flex-direction:row;justify-content:center;position:absolute;transition:var(--transition)}.realisation-item .realisation-overlay .overlay-bottom{align-items:center;bottom:0;left:0;right:0}.realisation-item .realisation-overlay .overlay-top p{font-size:.8rem;margin:5px 20px 0;text-align:center}.realisation-item .realisation-overlay .overlay-middle a,.realisation-item .realisation-overlay .overlay-middle button{align-items:center;background-color:var(--color-accent);border-radius:var(--border-radius-large);color:var(--color-white);cursor:pointer;display:block;display:flex;height:32px;justify-content:center;margin-bottom:-17px;margin-left:15px;margin-right:15px;transition:var(--transition);width:32px}.realisation-item .realisation-overlay .overlay-middle a:hover,.realisation-item .realisation-overlay .overlay-middle button:hover{background-color:var(--color-white);color:var(--color-text)}.realisation-item .realisation-overlay .overlay-bottom p{font-size:.9rem;margin:0 15px}.realisation-item .realisation-overlay .overlay-bottom svg{margin-bottom:-2px;margin-right:5px}.realisation-item:hover .realisation-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:rgba(var(--color-primary),.6);opacity:1}.realisation-item:hover .realisation-overlay .overlay-top{top:20px}.realisation-item:hover .realisation-overlay .overlay-middle{bottom:33%;left:50px;right:50px}.realisation-item:hover .realisation-overlay .overlay-bottom{bottom:20px}.realisation-tabs-items button{margin-right:30px}.ReactModal__Overlay.ReactModal__Overlay--after-open{background-color:rgba(0,0,0,.82)!important}.modal-wrapper{background-color:#fff;border-radius:var(--border-radius-medium);box-shadow:0 0 40px rgba(0,0,0,.5),0 0 20px rgba(0,0,0,.7);left:calc(300px + 6%);overflow:hidden;position:absolute;top:19%;width:70%}.close-modal{color:var(--color-accent);font-size:24px;position:absolute;right:15px;top:15px}.contact-links{margin-top:var(--microspacing)}.contact-links .contact-links-item{display:flex;flex-direction:row;margin-bottom:var(--row-gap)}.contact-links .contact-links-item .icon{align-items:center;background:#fff;border-radius:var(--border-radius-small);display:flex;height:48px;justify-content:center;margin-right:15px;width:48px}.contact-links .contact-links-item .icon svg{height:24px;width:24px}.contact-links .contact-links-item p{color:var(--color-text-light);line-height:1.5}.contact-links .contact-links-item p a{color:var(--color-accent);display:block;font-size:1rem;font-weight:700}@media (max-width:calc(1199.98px + 100px)){.modal-wrapper{left:calc(100px + 6%);top:19%;width:80%}}@media (max-width:calc(767.98px + 0px)){.realisation-items-wrapper .container .col-1-3{grid-column:span 3}.modal-wrapper{left:6%;top:19%;width:89%}}@media (max-width:calc(575.98px + 0px)){.realisation-items-wrapper .container .col-1-3{grid-column:span 7}}html{scroll-behavior:smooth;scroll-padding:50px}::-webkit-scrollbar{display:none}body{background-color:var(--color-background);color:var(--color-text);font-family:var(--font-secondary);font-size:var(--font-rem-root);font-weight:400;line-height:var(--line-height)}
/*# sourceMappingURL=main.9a66d1f6.css.map*/