@import "https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap";:root{--header-height:3.5rem;--first-color:#3b57e3;--title-color:#0a1343;--text-color:#0a1343;--body-color:#f5f7ff;--header-color:#f5f7ffa6;--container-color:#f0f2ff;--border-color:#bfc4d9;--animation-color1:#f4f7f4;--animation-color2:#b9f8f8;--bluecode-color:#097a73;--body-font:"Roboto", sans-serif;--h2-font-size:1.25rem;--normal-font-size:.938rem;--bigger-normal-font-size:1.3rem;--font-regular:400;--font-medium:500;--font-semi-bold:600;--z-fixed:100;--z-modal:1000;transition:--title-color .3s,--body-color .3s}@media screen and (width>=1023px){:root{--h2-font-size:1.5rem;--normal-font-size:1rem}}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body,input,button,textarea{font-family:var(--body-font);font-size:var(--normal-font-size)}body{background-color:var(--body-color);color:var(--text-color);padding-bottom:env(safe-area-inset-bottom);transition:background-color .3s,color .3s}input,button{border:none;outline:none}ul{list-style:none}a{color:inherit;text-decoration:none}#introduction_text a:visited,a:hover,a:active{color:var(--first-color);text-decoration:none}#introduction_text a:hover{text-decoration:underline;text-decoration-thickness:2px}img{max-width:100%;height:auto;display:block}.container{max-width:1000px;margin-inline:1.5rem}main,footer{position:relative}h4{font-size:35px}header{background-color:var(--header-color);width:100%;z-index:var(--z-fixed);transition:background-color .3s;position:fixed;top:0;left:0;box-shadow:0 2px 10px #143bff73}nav{height:var(--header-height);justify-content:space-between;align-items:center;display:flex}.nav-logo{color:var(--title-color);font-size:var(--bigger-normal-font-size);font-weight:var(--font-semi-bold);letter-spacing:1px;align-items:center;transition:color .2s;display:flex}.nav-logo img{width:50px;margin:10px}.nav-actions{align-items:center;column-gap:1rem;display:flex}.nav-language,.nav-darkmode,.nav-toggle,.nav-close{color:var(--title-color);cursor:pointer;padding:5px;font-size:1.25rem;transition:color .2s}:is(.nav-logo,.nav-language,.nav-darkmode,.nav-toggle,.nav-link):hover{color:var(--first-color)}.nav-language{cursor:pointer;-webkit-user-select:none;user-select:none;width:35px}.language-options{background-color:var(--body-color);opacity:0;visibility:hidden;text-align:center;border-bottom-right-radius:5px;border-bottom-left-radius:5px;padding-top:103px;font-size:1.25rem;transition:transform .3s,opacity .3s;position:absolute;overflow:hidden;transform:translateY(-100%)}.language-options.show{opacity:1;visibility:visible;transform:translateY(0)}.language-option{cursor:pointer;padding:5px;transition:all .1s}.language-option:last-child{border-bottom:none}.language-option:hover{color:var(--first-color);transition:all .2s}.bg{background-image:linear-gradient(-60deg, var(--animation-color1) 50%, var(--animation-color2) 50%);opacity:.5;z-index:-1;animation:30s ease-in-out infinite alternate slide;position:fixed;inset:0 -50%}.bg2{animation-duration:40s;animation-direction:alternate-reverse}.bg3{animation-duration:50s}#container_introduction{min-height:calc(100vh - var(--header-height));flex-direction:column;justify-content:center;padding-left:1%;display:flex;position:relative}#introduction_text{width:100%}#introduction_text h3{color:var(--first-color);font-size:50px}#introduction_text p{color:var(--text-color);margin-top:20px;font-size:25px}@media screen and (width<=480px){#introduction_text h3{font-size:36px}#introduction_text p{font-size:18px}}.link_introduction{color:var(--first-color)}#introduction_image{aspect-ratio:1;width:80%;margin:0 auto;display:none;position:relative}#introduction_image img{min-width:170px;max-width:100%;min-height:170px;max-height:100%;position:absolute;top:50%;left:65%;transform:translate(-50%,-50%)}#container_arrow_projects{position:absolute;bottom:-35px;left:50%;transform:translate(-50%)}#container_arrow_projects p{text-align:center;font-size:18px;font-weight:700;display:block}#container_arrow_projects i{text-align:center;margin-top:2px;font-size:26px;animation:1.5s infinite arrowAnimation;display:block}@keyframes slide{0%{transform:translate(-25%)}to{transform:translate(25%)}}@keyframes arrowAnimation{0%{transform:translateY(0)}50%{transform:translateY(5px)}to{transform:translateY(0)}}#container_projects{margin-top:60px;margin-bottom:100px}#projects_header{flex-wrap:wrap;justify-content:space-between;align-items:center;row-gap:.5rem;margin-top:30px;margin-bottom:30px;padding-left:1%;padding-right:2%;display:flex}#all_projects_link{text-align:right;flex-shrink:0;font-size:clamp(.9rem,3vw,1.25rem)}#all_projects_link a{border:2px solid var(--text-color);white-space:nowrap;border-radius:12px;align-items:center;padding:.75rem 1rem;font-weight:700;transition:all .2s ease-in-out;display:inline-flex}#all_projects_link a:hover{border:2px solid var(--first-color);color:#3b57e3;border-radius:12px;padding:.75rem 1rem}#projects{text-align:center;grid-template-columns:auto auto;gap:2rem;display:grid}.project{border:2px solid var(--text-color);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}#project_title{color:var(--first-color);font-weight:700;font-size:var(--bigger-normal-font-size);cursor:pointer;background-color:var(--header-color);padding:.75rem 1rem}#project_title:hover{text-decoration:underline;text-decoration-thickness:2px}#project_image{aspect-ratio:1917/1025;border-top:2px solid var(--text-color);display:block;position:relative;overflow:hidden;background-color:#0000!important}.project_image_change{object-fit:cover;width:100%;height:100%}.project_image_hover{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .3s;position:absolute;inset:0}#project_image:hover .project_image_hover{opacity:1}#project_company{background-color:var(--header-color);color:var(--first-color);padding:.5rem 1rem .25rem;font-size:.85rem;font-weight:700}#project_technologies{border-top:2px solid var(--text-color);border-bottom:2px solid var(--text-color);background-color:var(--header-color);flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}#project_technologies img{object-fit:contain;cursor:default;width:26px;height:26px}.tech_icon{display:inline-flex;position:relative}.tech_tooltip{background-color:var(--text-color);color:var(--body-color);white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;z-index:10;border-radius:6px;padding:.25rem .5rem;font-size:.7rem;font-weight:700;transition:opacity .15s;position:absolute;bottom:130%;left:50%;transform:translate(-50%)}.tech_icon:hover .tech_tooltip{opacity:1;visibility:visible}#project_down{background-color:var(--header-color);flex-direction:column;flex:1;display:flex}#project_description{flex:1;justify-content:center;align-items:center;padding:.75rem 1rem;display:flex}#project_links{border-bottom-right-radius:12px;border-bottom-left-radius:12px}#project_links_list{display:inline-block}#project_links_list li{float:left}#project_links_list li a{float:left;border:2px solid var(--text-color);border-radius:12px;width:90px;margin:.2rem;padding:.3rem .2rem;font-size:.85rem}#project_links_list li a:hover{border:2px solid var(--first-color);transition:all .2s}#skills_header{margin-bottom:50px;padding-left:1%}#skills_boxes{grid-template-columns:repeat(2,1fr);justify-content:center;align-items:start;gap:2rem;width:100%;margin:0 auto;display:grid}.box{border:3px solid var(--text-color);text-align:center;background-color:#f5f7ff2d;border-radius:12px;justify-self:center;width:100%;height:440px;padding:1rem}.box h5{margin-bottom:20px;font-size:20px}.skills_box_container{grid-template-columns:repeat(4,1fr);align-content:start;row-gap:10px;width:100%;height:100%;margin:0 auto;display:grid}.skill{margin-bottom:15px;font-size:20px}.skill img{object-fit:contain;width:50px;height:50px;margin:0 auto}.skill h6{width:80px;margin:8px auto 0}@media screen and (width<=750px){#skills_boxes{grid-template-columns:1fr;justify-content:center;align-items:center;gap:2rem;width:100%;margin:0 auto}.skills_box_container{grid-template-columns:repeat(4,1fr)}}@media screen and (width<=420px){.skills_box_container{grid-template-columns:repeat(3,1fr)}}#container_contactme{justify-content:center;align-items:center;width:100%;margin:0 auto;padding-block:7rem;padding-inline:1.5rem;scroll-margin-top:25px;display:flex;position:relative;overflow:hidden}.form{background-color:var(--body-color);border:3px solid var(--text-color);border-radius:12px;grid-template-columns:repeat(2,1fr);width:100%;max-width:1000px;display:grid;overflow:hidden}.contact_form{background-color:var(--text-color);position:relative}.contact_form:before{content:"";background-color:var(--text-color);width:26px;height:26px;position:absolute;top:50px;left:-13px;transform:rotate(45deg)}form{z-index:10;padding:2.3rem 2.2rem;position:relative;overflow:hidden}.contact_title{color:var(--body-color);margin-bottom:.7rem;font-size:1.5rem;font-weight:500;line-height:1}.container_input{margin:1rem 0;position:relative}.input{border:2px solid var(--body-color);width:100%;color:var(--body-color);letter-spacing:.5px;background:0 0;border-radius:24px;outline:none;padding:.6rem 1.2rem;font-size:.95rem;font-weight:500;transition:all .3s}textarea.input{resize:none;-ms-overflow-style:none;scrollbar-width:none;border-radius:24px;min-height:150px;padding:.8rem 1.2rem;overflow-y:auto}textarea.input::-webkit-scrollbar{display:none}.container_input label{color:var(--body-color);font-size:.9rem;font-weight:400px;pointer-events:none;z-index:var(--z-modal);padding:0 .4rem;transition:all .3s;position:absolute;top:50%;left:15px;transform:translateY(-50%)}.container_input.textarea label{top:1rem;transform:translateY(0)}.btn{color:var(--text-color);background-color:var(--body-color);border:2px solid var(--body-color);cursor:pointer;border-radius:25px;outline:none;padding:.6rem 1.3rem;font-weight:500;line-height:1;transition:all .2s}.btn:hover{color:var(--body-color);background-color:#0000}.btn:disabled{opacity:.6;cursor:default}.form_status{margin-top:1rem;font-size:.9rem;font-weight:700}.form_status_success{color:#4caf50}.form_status_error{color:#e05555}.container_input span{color:#0000;pointer-events:none;z-index:500;padding:0 .4rem;font-size:.8rem;position:absolute;top:0;left:25px;transform:translateY(-50%)}.container_input span:before,.container_input span:after{content:"";opacity:0;background-color:var(--text-color);width:10%;height:5px;transition:all .2s;position:absolute;top:50%;transform:translateY(-50%)}.container_input span:before{left:50%}.container_input span:after{right:50%}.container_input.focus label{font-size:.8rem;top:0;left:25px;transform:translateY(-50%)}.container_input.focus span:before,.container_input.focus span:after{opacity:1;width:50%}.contact_info{padding:2.3rem 2.2rem;position:relative}.contact_info .title{color:var(--first-color);margin-bottom:1rem;font-size:1.5rem}.info_container{margin-top:40px}.information_item{align-items:center;margin:.7rem 0;font-size:.95rem;display:flex}.info_icon{color:var(--first-color);margin-right:.7rem;font-size:28px}.copy_icon{color:var(--text-color);cursor:pointer;border-radius:5px;margin-left:2px;padding:2px;font-size:18px}.copy_icon:hover{color:var(--first-color);transition:all .1s}.copy_click{color:var(--first-color)}@media screen and (width<=780px){.form{grid-template-columns:1fr}#container_contactme{padding-block:10%;padding-inline:1.5rem}}footer{text-align:center}footer a{width:60px;margin:0 auto;display:inline-block}#footer_links_list{margin-top:30px;margin-bottom:10px;display:inline-block}#footer_links_list li{float:left}#footer_links_list li a{float:left;border:2px solid var(--text-color);border-radius:12px;width:120px;margin:.2rem .8rem;padding:.5rem 1rem;font-size:1rem}#footer_links_list li a:hover{border:2px solid var(--first-color);transition:all .2s}.footer-logo{width:60px}@media screen and (width<=1023px){:root{--bigger-normal-font-size:1.1rem}.menu{background-color:var(--body-color);width:100%;padding-block:4.5rem 4rem;transition:top .2s;position:fixed;top:-100%;left:0;box-shadow:0 8px 16px #02040d26}.nav-logo img{width:40px;margin:10px}#skills_header{margin-top:-50px}}@media screen and (width<=700px){#projects{grid-template-columns:auto}}.nav-list{text-align:center;flex-direction:column;row-gap:2.5rem;display:flex}.nav-link{color:var(--title-color);font-weight:var(--font-semi-bold);transition:color .2s}.nav-close{position:absolute;top:1.15rem;right:1.5rem}.show-menu{top:0}@media screen and (width>=1023px){nav{height:calc(var(--header-height) + 2rem);column-gap:3rem}.nav-toggle,.nav-close{display:none}#nav-menu{margin-left:auto}.nav-list{flex-direction:row;column-gap:3rem}#container_introduction{flex-direction:row;justify-content:space-between;align-items:center}#introduction_text{width:60%}#introduction_image{width:32%;display:block}#projects_header{padding-right:2%}}@media screen and (width>=1050px){.container{margin-inline:auto}}#projects_page_header{margin-top:120px;margin-bottom:20px;display:block}#projects_page_header h4{font-size:50px}#projects_page_container{margin-bottom:20px}#projects_page_grid{text-align:center;grid-template-columns:auto auto;gap:2rem;display:grid}@media screen and (width>=1023px){#projects_page_grid{grid-template-columns:50% 50%}}@media screen and (width<=1023px){#projects_page_header{margin-top:90px}}@media screen and (width<=700px){#projects_page_grid{grid-template-columns:auto}}#container_aboutme a{color:var(--first-color);font-weight:700}#container_aboutme a:hover{text-decoration:underline;text-decoration-thickness:2px}#container_cv{text-align:center;width:100px;margin:45px auto 0}#container_cv .cv_link{color:var(--text-color);border:2px solid var(--text-color);border-radius:12px;width:120px;padding:.5rem 1rem;font-size:1rem;font-weight:700}#container_cv .cv_link:hover{color:var(--first-color);border:2px solid var(--first-color);text-decoration:none;transition:all .2s}#container_aboutme{min-height:calc(100vh - var(--header-height));flex-direction:column;justify-content:center;margin-bottom:10px;padding-top:100px;display:flex}#aboutme_header h4{margin-bottom:20px;font-size:50px}#aboutme_text{font-size:20px}#aboutme_text p{margin-bottom:10px}#container_skills{margin-top:100px}@media screen and (width<=1023px){#container_skills{margin-top:80px}}#container_article{margin-top:135px}#article_header h1{font-size:35px}#article_header .company{color:var(--first-color);margin-top:5px;font-weight:700}#article_body{margin-top:30px}#article_body p{text-indent:20px;margin:10px auto;font-size:18px}#article_body h2{margin-top:20px}#article_source_link{text-align:center;border:2px solid var(--text-color);border-radius:12px;width:90px;margin:40px auto;padding:.3rem .2rem;font-size:.85rem;display:block}#article_source_link:hover{border:2px solid var(--first-color);transition:all .2s}pre{background-color:var(--header-color);border:3px solid var(--text-color);-ms-overflow-style:none;scrollbar-width:none;border-radius:12px;margin:25px auto;padding:25px 35px;font-weight:600;overflow-x:auto}.red_code{color:#dd171a;font-weight:700}.green_code{color:#639900;font-weight:700}.orange_code{color:#cb4b16;font-weight:700}.blue_code{color:var(--bluecode-color);font-weight:700}.yellow_code{color:#b58915;font-weight:700}.pink_code{color:#d33682;font-weight:700}#code_model{width:560px}#code_inheritance{width:400px}#code_auth{width:670px}#code_request{width:530px}#code_crud_model{width:525px}#code_crud_serializer{width:550px}#code_crud_viewset{width:470px}#code_swagger{width:650px}#code_json{width:600px}#code_main{width:340px}#code_tkinter{width:430px}#code_save_to_csv{width:810px}#code_send_email{width:910px}#code_calendar{width:650px}#code_logic1{width:630px}#code_logic2{width:930px}#code_logic3{width:610px}#code_auth1{width:790px}#code_auth2{width:980px}@media screen and (width<=1023px){pre{width:100%!important}#container_article{margin-top:90px}}
