.highlight .c{color:#998;font-style:italic}.highlight .err{color:#a61717;background-color:#e3d2d2}.highlight .k{font-weight:bold}.highlight .o{font-weight:bold}.highlight .cm{color:#998;font-style:italic}.highlight .cp{color:#999;font-weight:bold}.highlight .c1{color:#998;font-style:italic}.highlight .cs{color:#999;font-weight:bold;font-style:italic}.highlight .gd{color:#000;background-color:#fdd}.highlight .gd .x{color:#000;background-color:#faa}.highlight .ge{font-style:italic}.highlight .gr{color:#a00}.highlight .gh{color:#999}.highlight .gi{color:#000;background-color:#dfd}.highlight .gi .x{color:#000;background-color:#afa}.highlight .go{color:#888}.highlight .gp{color:#555}.highlight .gs{font-weight:bold}.highlight .gu{color:#aaa}.highlight .gt{color:#a00}.highlight .kc{font-weight:bold}.highlight .kd{font-weight:bold}.highlight .kp{font-weight:bold}.highlight .kr{font-weight:bold}.highlight .kt{color:#458;font-weight:bold}.highlight .m{color:#099}.highlight .s{color:#d14}.highlight .na{color:teal}.highlight .nb{color:#0086B3}.highlight .nc{color:#458;font-weight:bold}.highlight .no{color:teal}.highlight .ni{color:purple}.highlight .ne{color:#900;font-weight:bold}.highlight .nf{color:#900;font-weight:bold}.highlight .nn{color:#555}.highlight .nt{color:navy}.highlight .nv{color:teal}.highlight .ow{font-weight:bold}.highlight .w{color:#bbb}.highlight .mf{color:#099}.highlight .mh{color:#099}.highlight .mi{color:#099}.highlight .mo{color:#099}.highlight .sb{color:#d14}.highlight .sc{color:#d14}.highlight .sd{color:#d14}.highlight .s2{color:#d14}.highlight .se{color:#d14}.highlight .sh{color:#d14}.highlight .si{color:#d14}.highlight .sx{color:#d14}.highlight .sr{color:#009926}.highlight .s1{color:#d14}.highlight .ss{color:#990073}.highlight .bp{color:#999}.highlight .vc{color:teal}.highlight .vg{color:teal}.highlight .vi{color:teal}.highlight .il{color:#099}html{font-size:16px}body,h1,h2,h3,h4,h5,h6,p,blockquote,pre,hr,dl,dd,ol,ul,figure{margin:0;padding:0}body{font:400 16px/1.5 -apple-system,system-ui,BlinkMacSystemFont,"Segoe UI","Segoe UI Emoji","Segoe UI Symbol","Apple Color Emoji",Roboto,Helvetica,Arial,sans-serif;color:#111;background-color:#fdfdfd;-webkit-text-size-adjust:100%;-webkit-font-feature-settings:"kern" 1;-moz-font-feature-settings:"kern" 1;-o-font-feature-settings:"kern" 1;font-feature-settings:"kern" 1;font-kerning:normal;display:flex;min-height:100vh;flex-direction:column;overflow-wrap:break-word}h1,h2,h3,h4,h5,h6,p,blockquote,pre,ul,ol,dl,figure,.highlight{margin-bottom:15px}hr{margin-top:30px;margin-bottom:30px}main{display:block}img{max-width:100%;vertical-align:middle}figure>img{display:block}figcaption{font-size:14px}ul,ol{margin-left:30px}li>ul,li>ol{margin-bottom:0}h1,h2,h3,h4,h5,h6{font-weight:400}a{color:#2a7ae2;text-decoration:none}a:visited{color:#1756a9}a:hover{color:#111;text-decoration:underline}.social-media-list a:hover,.pagination a:hover{text-decoration:none}.social-media-list a:hover .username,.pagination a:hover .username{text-decoration:underline}blockquote{color:#828282;border-left:4px solid #e8e8e8;padding-left:15px;font-size:1.125rem;font-style:italic}blockquote>:last-child{margin-bottom:0}blockquote i,blockquote em{font-style:normal}pre,code{font-family:"Menlo","Inconsolata","Consolas","Roboto Mono","Ubuntu Mono","Liberation Mono","Courier New",monospace;font-size:0.9375em;border:1px solid #e8e8e8;border-radius:3px;background-color:#eef}code{padding:1px 5px}pre{padding:8px 12px;overflow-x:auto}pre>code{border:0;padding-right:0;padding-left:0}.highlight{border-radius:3px;background:#eef}.highlighter-rouge .highlight{background:#eef}.wrapper{max-width:calc(1200px - (30px));margin-right:auto;margin-left:auto;padding-right:15px;padding-left:15px}@media screen and (min-width: 800px){.wrapper{max-width:calc(1200px - (30px * 2));padding-right:30px;padding-left:30px}}@media screen and (min-width: 1200px){.wrapper.full{max-width:80%}}.wrapper:after{content:"";display:table;clear:both}.orange{color:#f66a0a}.grey{color:#828282}.svg-icon{width:1.25em;height:1.25em;display:inline-block;fill:currentColor;vertical-align:text-bottom}table{margin-bottom:30px;width:100%;text-align:left;color:#3f3f3f;border-collapse:collapse;border:1px solid #e8e8e8}table tr:nth-child(even){background-color:#f7f7f7}table th,table td{padding:10px 15px}table th{background-color:#f0f0f0;border:1px solid #e0e0e0}table td{border:1px solid #e8e8e8}@media screen and (max-width: 800px){table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}}.site-header{border-top:5px solid #424242;border-bottom:1px solid #e8e8e8;min-height:55.95px;line-height:54px;position:relative}.site-title{font-size:1.625rem;font-weight:300;letter-spacing:-1px;margin-bottom:0;float:left}@media screen and (max-width: 600px){.site-title{padding-right:45px}}.site-title,.site-title:visited{color:#424242}.site-nav{position:absolute;top:9px;right:15px;background-color:#fdfdfd;border:1px solid #e8e8e8;border-radius:5px;text-align:right}.site-nav .nav-trigger{display:none}.site-nav .menu-icon{float:right;width:36px;height:26px;line-height:0;padding-top:10px;text-align:center}.site-nav .menu-icon>svg path{fill:#424242}.site-nav label[for="nav-trigger"]{display:block;float:right;width:36px;height:36px;z-index:2;cursor:pointer}.site-nav input ~ .trigger{clear:both;display:none}.site-nav input:checked ~ .trigger{display:block;padding-bottom:5px}.site-nav .page-link{color:#111;line-height:1.5;display:block;padding:5px 10px;margin-left:20px}.site-nav .page-link:not(:last-child){margin-right:0}@media screen and (min-width: 800px){.site-nav{position:static;float:right;border:none;background-color:inherit}.site-nav label[for="nav-trigger"]{display:none}.site-nav .menu-icon{display:none}.site-nav input ~ .trigger{display:block}.site-nav .page-link{display:inline;padding:0;margin-left:auto}.site-nav .page-link:not(:last-child){margin-right:20px}}.site-footer{border-top:1px solid #e8e8e8;padding:30px 0 7.5px}.footer-heading{font-size:1.125rem;margin-bottom:15px}.feed-subscribe .svg-icon{padding:5px 5px 2px 0}.contact-list,.social-media-list,.pagination{list-style:none;margin-left:0}.footer-col-wrapper,.social-links{font-size:.9375rem;color:#828282}.footer-col{margin-bottom:15px}.footer-col-1,.footer-col-2{width:calc(50% - (30px / 2))}.footer-col-3{width:calc(100% - (30px / 2))}@media screen and (min-width: 800px){.footer-col-1{width:calc(35% - (30px / 2))}.footer-col-2{width:calc(20% - (30px / 2))}.footer-col-3{width:calc(45% - (30px / 2))}}@media screen and (min-width: 600px){.footer-col-wrapper{display:flex}.footer-col{width:calc(100% - (30px / 2));padding:0 15px}.footer-col:first-child{padding-right:15px;padding-left:0}.footer-col:last-child{padding-right:0;padding-left:15px}}.page-content{padding:30px 0;flex:1 0 auto}.page-heading{font-size:2rem}.post-list-heading{font-size:1.75rem}.post-list{margin-left:0;list-style:none}.post-list>li{margin-bottom:30px}.post-meta{font-size:14px;color:#828282}.post-link{display:block;font-size:1.5rem}.post-header{margin-bottom:30px}.post-title,.post-content h1{font-size:2.625rem;letter-spacing:-1px;line-height:1.15}@media screen and (min-width: 800px){.post-title,.post-content h1{font-size:2.625rem}}.post-content{margin-bottom:30px}.post-content h1,.post-content h2,.post-content h3,.post-content h4,.post-content h5,.post-content h6{margin-top:30px}.post-content h2{font-size:1.75rem}@media screen and (min-width: 800px){.post-content h2{font-size:2rem}}.post-content h3{font-size:1.375rem}@media screen and (min-width: 800px){.post-content h3{font-size:1.625rem}}.post-content h4{font-size:1.25rem}.post-content h5{font-size:1.125rem}.post-content h6{font-size:1.0625rem}.social-media-list,.pagination{display:table;margin:0 auto}.social-media-list li,.pagination li{float:left;margin:5px 10px 5px 0}.social-media-list li:last-of-type,.pagination li:last-of-type{margin-right:0}.social-media-list li a,.pagination li a{display:block;padding:10px 12px;border:1px solid #e8e8e8}.social-media-list li a:hover,.pagination li a:hover{border-color:#dbdbdb}.pagination{margin-bottom:30px}.pagination li a,.pagination li div{min-width:41px;text-align:center;box-sizing:border-box}.pagination li div{display:block;padding:7.5px;border:1px solid transparent}.pagination li div.pager-edge{color:#e8e8e8;border:1px dashed}@media screen and (min-width: 800px){.one-half{width:calc(50% - (30px / 2))}}.grid-cols-1{display:grid;grid-template-columns:repeat(1, minmax(0, 1fr))}.col-span-1{grid-column:span 1 / span 1}.grid-cols-2{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr))}.col-span-2{grid-column:span 2 / span 2}.grid-cols-3{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr))}.col-span-3{grid-column:span 3 / span 3}.grid-cols-4{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr))}.col-span-4{grid-column:span 4 / span 4}.grid-cols-5{display:grid;grid-template-columns:repeat(5, minmax(0, 1fr))}.col-span-5{grid-column:span 5 / span 5}.grid-cols-6{display:grid;grid-template-columns:repeat(6, minmax(0, 1fr))}.col-span-6{grid-column:span 6 / span 6}ul li+li,ol li+li{margin-top:0.25em}.required::after{content:"*";color:#d00}.footer-col{text-align:center}.image{display:flex;row-gap:.75em;flex-direction:column;padding:15px;border:2px solid #e8e8e8;border-radius:.75em}.image>.image-caption{text-align:center;padding-top:.25em;padding-bottom:15px;border-top:2px solid #e8e8e8}@media (min-width: 800px){.image{align-items:center;margin:0 30px}.image>.image-caption{width:75%}}.linked-nav{column-gap:1em;display:flex;justify-content:center}.text-primary{color:#60A9FF}.text-secondary{color:#D187FF}.text-danger{color:#d00}.text-black{color:#000}.text-white{color:#FFF}.deliverable_list{display:flex;flex-direction:column;list-style:none;margin:unset;row-gap:1.25em}.deliverable_list .deliverable-item{margin:unset}.deliverable_list .deliverable-item.urgent .date{color:#d00}.deliverable_list .deliverable-item.urgent .deliverable-name::before{color:#d00;content:"‼️";margin-right:0.5em}.deliverable_list .deliverable-item.expired .date{text-decoration:line-through}.deliverable_list .deliverable-item.expired .deliverable-name{text-decoration:line-through}.deliverable_list .deliverable-item.expired .deliverable-composite{display:none}.deliverable_list .deliverable-item-body{border-color:var(--deliverable-border-color);border-style:solid;border-radius:0 1.25em 1.25em 0;border-width:1px;border-left-width:0;display:flex;flex-direction:column;padding:0.25em 0.5em;row-gap:0.5em;width:100%}.deliverable_list .deliverable-item>a{color:inherit;text-decoration:none}.deliverable_list .deliverable-item>a:hover{color:#2a7ae2;--deliverable-border-color: #2a7ae2}.deliverable_list .deliverable-item>a:hover .outer-pill{background-color:#2a7ae2}.deliverable_list .deliverable-item>a:hover .date{color:#2a7ae2;text-decoration:unset}.deliverable_list .deliverable-item>a:hover .deliverable-name{text-decoration:unset}.deliverable_list .deliverable-item>a,.deliverable_list .deliverable-item div{display:flex;--deliverable-border-color: #e8e8e8}.deliverable_list .deliverable-item>a .outer-pill,.deliverable_list .deliverable-item div .outer-pill{background-color:var(--deliverable-pill-color);border-color:var(--deliverable-border-color);border-style:solid;border-radius:1.25em 0 0 1.25em;border-width:1px;border-right-width:0;width:2em}.deliverable_list .deliverable-item>a .outer-pill.future,.deliverable_list .deliverable-item div .outer-pill.future{--deliverable-pill-color: #60A9FF}.deliverable_list .deliverable-item>a .outer-pill.soon,.deliverable_list .deliverable-item div .outer-pill.soon{--deliverable-pill-color: #FFDA6A}.deliverable_list .deliverable-item>a .outer-pill.now,.deliverable_list .deliverable-item div .outer-pill.now{--deliverable-pill-color: #d00}.deliverable_list .deliverable-item>a .outer-pill.past,.deliverable_list .deliverable-item div .outer-pill.past{--deliverable-pill-color: #6c757d}.deliverable_list .deliverable-item>a .badge,.deliverable_list .deliverable-item div .badge{align-items:center;border-color:var(--deliverable-border-color);border-style:solid;border-width:1px;border-left-width:0;display:flex;flex-direction:column;padding:0.25em 0.5em;row-gap:0.25em;text-align:center;width:5em}.deliverable_list .deliverable-item>a .badge .icon,.deliverable_list .deliverable-item div .badge .icon{font-size:1.5em}.deliverable_list .deliverable-item>a .badge .date,.deliverable_list .deliverable-item div .badge .date{font-weight:bold}.deliverable_list .deliverable-composite{column-gap:0.5em;display:flex}@media (min-width: 800px){.deliverable_list .deliverable-item>a,.deliverable_list .deliverable-item div{margin:auto;width:80%}.deliverable_list .deliverable-item>a .badge,.deliverable_list .deliverable-item div .badge{width:10em}.deliverable_list .deliverable-item>a .badge .icon,.deliverable_list .deliverable-item div .badge .icon{font-size:2em}.deliverable_list .deliverable-item>a .badge .date,.deliverable_list .deliverable-item div .badge .date{font-size:1.25em}.deliverable_list .deliverable-name{font-size:1.5em}}.defense-grid>article{--defense-grid-color-primary: #60A9FF;--defense-grid-color-secondary: #D187FF;background-color:rgba(130,130,130,0.1);border-top:0.75em solid var(--defense-grid-color-primary);border-radius:0 0 1em 1em;padding:0.25em 15px}.defense-grid>article.malus{--defense-grid-color-primary: #d00;--defense-grid-color-secondary: #B00020}.defense-grid>article+article{margin-top:30px}.defense-grid>article>header{margin-bottom:0.75em}.defense-grid>article>header h3{border-bottom:2px solid var(--defense-grid-color-primary);margin:0 auto;padding-bottom:0.25em;text-align:center}.defense-grid>article>header .coefficient{background-color:var(--defense-grid-color-primary);border-bottom-left-radius:3em;border-bottom-right-radius:3em;color:#000;font-weight:bold;padding:0 1.25em 0.5em;margin:auto;width:max-content}.defense-grid>article .defense-content>.panel{margin-left:0;margin-right:0}.defense-grid>article .defense-details{margin-bottom:15px}.defense-grid>article .defense-details .grid-detail{border:1px solid var(--defense-grid-color-secondary);border-radius:0 0 1em 1em}.defense-grid>article .defense-details .grid-detail .detail-content .prefix,.defense-grid>article .defense-details .grid-detail .listing:not(ul) .listing-detail .prefix{border-right:1px solid var(--defense-grid-color-secondary);color:var(--defense-grid-color-secondary);flex-shrink:0;font-size:larger;font-weight:bold;padding-top:0.25em;text-align:center;width:3em}.defense-grid>article .defense-details .grid-detail.malus{--defense-grid-color-primary: #d00;--defense-grid-color-secondary: #B00020}.defense-grid>article .defense-details .grid-detail+.grid-detail{margin-top:22.5px}.defense-grid>article .defense-details .grid-detail h4{border-bottom:1px solid var(--defense-grid-color-secondary);margin:0 auto;padding:0.15em 0;text-align:center}.defense-grid>article .defense-details .grid-detail .detail-content{column-gap:0.5em;display:flex}.defense-grid>article .defense-details .grid-detail .detail-content .prefix.badge{user-select:none}.defense-grid>article .defense-details .grid-detail .detail-content .description{padding:0.25em 7.5px 0}.defense-grid>article .defense-details .grid-detail .listing{border-top:1px solid var(--defense-grid-color-secondary);list-style:none;margin-left:0;padding:0.75em 15px 0}.defense-grid>article .defense-details .grid-detail .listing:not(ul){padding-top:0.25em}.defense-grid>article .defense-details .grid-detail .listing:not(ul) .heading{column-gap:0.5em;display:flex;margin-bottom:0.75em}.defense-grid>article .defense-details .grid-detail .listing:not(ul) .heading.warning:before{content:"⚠️";user-select:none}.defense-grid>article .defense-details .grid-detail .listing:not(ul) .heading .heading-content{flex-grow:1;font-style:italic;text-align:center}.defense-grid>article .defense-details .grid-detail .listing:not(ul) .listing-detail{border:1px solid var(--defense-grid-color-secondary);column-gap:0.5em;display:flex;margin:0.25em auto 0.75em}.defense-grid>article .defense-details .grid-detail .listing:not(ul) .listing-detail:first-child{margin-top:0.75em}.defense-grid>article .defense-details .grid-detail .listing:not(ul) .listing-detail .prefix{padding-top:0.15em}.defense-grid>article .defense-details .grid-detail .listing:not(ul) .listing-detail .description{padding-top:0.15em}.defense-grid>article .defense-details .grid-detail .listing>li{column-gap:0.5em;display:flex}.defense-grid>article .defense-details .grid-detail .listing>li:before{content:'-'}.defense-grid>article .defense-details .grid-detail .listing>li+li{margin-top:0.5em}@media (min-width: 600px){.defense-grid>article{padding:0.5em 30px}.defense-grid>article .defense-details{padding:0 15px}.defense-grid>article .defense-details .listing{padding:0.75em 15px 0}.defense-grid>article .defense-details .detail-content .prefix{padding:0.25em 1em 0}.defense-grid>article .defense-details .detail-content .description{padding:0.25em 22.5px 0}}@media (min-width: 800px){.defense-grid>article>header h3{width:75%}.defense-grid>article .defense-details .grid-detail .listing:not(ul) .heading{justify-content:center}.defense-grid>article .defense-details .grid-detail .listing:not(ul) .heading .heading-content{flex-grow:unset}.defense-grid>article .defense-details .grid-detail .listing:not(ul) .listing-detail{width:75%}}.home-projects>main>article>footer{border-top:4px solid #e8e8e8;padding:0.25em 0}.home-projects>main>article>footer>a{display:block;font-size:1.125em;font-weight:700;text-align:center;text-decoration:none}.home-deliverables{margin-top:15px}.introduce{background-color:rgba(130,130,130,0.25);border:2px solid #e8e8e8;margin:0.25em;padding:0.25em 15px}.introduce>p:first-letter{color:#60A9FF;font-size:larger;font-weight:bold}.introduce>p:last-of-type{text-align:right}@media screen and (min-width: 600px){.introduce{margin:0.5em 0;padding:0.5em 30px}}table.planning caption{font-size:1.25em;font-weight:bold;letter-spacing:0.15em;padding:0.5em 0}table.planning thead th{text-align:center}table.planning tbody th{width:40px}table.planning tbody td{vertical-align:top;width:232px}table.planning tbody td .day{font-size:1.2em;text-align:center}table.planning tbody td .day-roadmap{background-color:var(--roadmap-color);border:1px solid #e8e8e8;border-radius:0.75em;color:#fdfdfd;font-weight:bold;padding:0.25em 0.5em;text-decoration:none}table.planning tbody td .day-roadmap:hover{background-color:#fdfdfd;border-color:var(--roadmap-color);color:var(--roadmap-color)}table.planning tbody td .day-roadmap.session{--roadmap-color: #60A9FF}table.planning tbody td .day-roadmap.final{--roadmap-color: #D187FF}table.planning tbody td a.component{text-decoration:none}table.planning tbody td .component{column-gap:0.5em;display:flex;margin-top:0.5em}.final-planning>.jury{display:block}.final-planning>.jury>article{padding-bottom:22.5px;padding-top:7.5px}.final-planning>.jury>article+article{border-top:4px solid #e8e8e8}.final-planning>.jury>article>header{font-size:1.75em;font-weight:700;text-align:center}.final-planning>.jury>article>main .jury-detail{align-items:center;display:flex;flex-direction:column;row-gap:.35em}.final-planning>.planning{margin-top:30px}.final-planning>.planning>article{border:4px solid #e8e8e8;border-radius:0.75em}.final-planning>.planning>article+article{margin-top:30px}.final-planning>.planning>article>header{padding:.15em .25em .35em}.final-planning>.planning>article>header .name{align-items:center;column-gap:0.25em;display:flex;justify-content:center;margin:0}.final-planning>.planning>article>main.with-steps{border-top:4px solid #e8e8e8;margin-top:.25em;padding-top:.25em}.final-planning>.planning>article>main.with-steps .groups{display:block}.final-planning>.planning>article>main.with-steps .groups+.after-group-step{border-top:2px solid #e8e8e8}.final-planning>.planning>article>main.with-steps .groups .group{--background-color-fade: 0.2}.final-planning>.planning>article>main.with-steps .groups .group.group-file-busters{background-color:rgba(255, 207, 201, var(--background-color-fade))}.final-planning>.planning>article>main.with-steps .groups .group.group-gravity-files{background-color:rgba(230, 207, 242, var(--background-color-fade))}.final-planning>.planning>article>main.with-steps .groups .group.group-back-2-back{background-color:rgba(230, 230, 230, var(--background-color-fade))}.final-planning>.planning>article>main.with-steps .groups .group.group-cyberloutres{background-color:rgba(212, 237, 188, var(--background-color-fade))}.final-planning>.planning>article>main.with-steps .groups .group.group-kinder-pingui{background-color:rgba(255, 229, 160, var(--background-color-fade))}.final-planning>.planning>article>main.with-steps .groups .group.group-ctrl-alt-win{background-color:rgba(191, 225, 246, var(--background-color-fade))}.final-planning>.planning>article>main.with-steps .groups .group.group-peaky-blinders{background-color:rgba(255, 200, 170, var(--background-color-fade))}.final-planning>.planning>article>main.with-steps .groups .group.group-smoke-detectors{background-color:rgba(198, 219, 225, var(--background-color-fade))}.final-planning>.planning>article>main.with-steps .groups .group:hover{--background-color-fade: 0.5}.final-planning>.planning>article>main.with-steps .groups .group+.group{border-top:1em solid #e8e8e8}.final-planning>.planning>article>main.with-steps .groups .group>.heading .name{font-size:1.4em;font-weight:700;text-align:center}.final-planning>.planning>article>main.with-steps .groups .group>.heading .room{margin:.25em auto .5em}.final-planning>.planning>article>main.with-steps .groups .group>.heading .jury{display:flex;justify-content:center;column-gap:1rem;margin-bottom:.5em}.final-planning>.planning>article>main.with-steps .groups .group>.heading .jury .jury-detail{padding:.25em .5rem;border-radius:10em;background-color:#fdfdfd}.final-planning>.planning>article>main.with-steps .groups .group>.content{border-top:1px dashed #e8e8e8}.final-planning>.planning>article>main.with-steps .groups .group>.content .step+.step{border-top:1px solid #e8e8e8}.final-planning>.planning>article>main.with-steps .groups .group>.content .step>.heading{padding:.15em .25em .35em}.final-planning>.planning>article>main.with-steps .groups .group>.content .step>.heading .name{font-size:1.25em;font-weight:700;text-align:center}.final-planning>.planning>article>main.with-steps .groups .group>.content .student-steps{border-top:3px solid #e8e8e8}.final-planning>.planning>article>main.with-steps .groups .group>.content .student-steps>.heading .student-name{align-items:center;border-bottom:1px dashed #e8e8e8;display:flex;flex-direction:column;padding:0.5em 0;row-gap:0.25em}.final-planning>.planning>article>main.with-steps .groups .group>.content .student-steps>.heading .student-name .name{font-size:1.25em;font-weight:700;text-align:center}.final-planning>.planning>article>main.with-steps .groups .group>.content .student-steps>.step+.heading{border-top:3px solid #e8e8e8}.final-planning>.planning>article>main.with-steps .groups .group>.content .student-steps>.step+.step{border-top:unset}.final-planning>.planning>article>main.with-steps .groups .group>.content .student-steps>.step+.step .student-step{border-top:1px solid #e8e8e8}.final-planning>.planning>article>main.with-steps .groups .group>.content .student-steps>.step .student-step>.heading{padding:.25em}.final-planning>.planning>article>main.with-steps .groups .group>.content .student-steps>.step .student-step>.heading .name{font-weight:700;text-align:center}.final-planning>.planning>article>main.with-steps .after-group-step>.heading{padding:0.25em 0.25em 0.5em}.final-planning>.planning>article>main.with-steps .after-group-step>.heading .name{align-items:center;column-gap:0.25em;display:flex;justify-content:center}.final-planning>.planning>article>main.with-steps .after-group-step>.heading .name h3{margin:0}.final-planning>.planning header .time-slot,.final-planning>.planning .heading .time-slot{display:flex;justify-content:space-between}.final-planning>.planning header .time-slot .duration>span:before,.final-planning>.planning .heading .time-slot .duration>span:before{content:"["}.final-planning>.planning header .time-slot .duration>span:after,.final-planning>.planning .heading .time-slot .duration>span:after{content:"]"}.final-planning .room,.final-planning .badge{border-radius:1em;font-size:smaller;padding:0.15em 0.5em;width:fit-content}.final-planning .room{border:1px solid #dbdbdb;font-size:initial}.final-planning .badge.dev{color:#000;background-color:#7A86B8}.final-planning .badge.cyber{color:#000;background-color:#B8AC7A}.final-planning .duration-coef-2{min-height:3em}.final-planning .duration-coef-3{min-height:4.5em}.final-planning .duration-coef-4{min-height:6em}.final-planning .duration-coef-5{min-height:7.5em}.final-planning .duration-coef-6{min-height:9em}.final-planning .duration-coef-7{min-height:10.5em}.final-planning .duration-coef-8{min-height:12em}.final-planning .duration-coef-9{min-height:13.5em}.final-planning .duration-coef-10{min-height:15em}.final-planning .duration-coef-11{min-height:16.5em}.final-planning .duration-coef-12{min-height:18em}.final-planning .duration-coef-13{min-height:19.5em}.final-planning .duration-coef-14{min-height:21em}.final-planning .duration-coef-15{min-height:22.5em}.final-planning .duration-coef-16{min-height:24em}.final-planning .duration-coef-17{min-height:25.5em}.final-planning .duration-coef-18{min-height:27em}.final-planning .duration-coef-19{min-height:28.5em}.final-planning .duration-coef-20{min-height:30em}.final-planning .duration-coef-21{min-height:31.5em}.final-planning .duration-coef-22{min-height:33em}.final-planning .duration-coef-23{min-height:34.5em}.final-planning .duration-coef-24{min-height:36em}.final-planning .duration-coef-25{min-height:37.5em}.final-planning .duration-coef-26{min-height:39em}.final-planning .duration-coef-27{min-height:40.5em}.final-planning .duration-coef-28{min-height:42em}.final-planning .duration-coef-29{min-height:43.5em}.final-planning .duration-coef-30{min-height:45em}@media (min-width: 800px){.final-planning>.jury{display:grid}.final-planning>.jury>article+article{border-left:4px solid #e8e8e8;border-top:unset}.final-planning>.planning>article>main.with-steps .groups{display:grid}.final-planning>.planning>article>main.with-steps .groups .group{border-bottom:1px solid #e8e8e8}.final-planning>.planning>article>main.with-steps .groups .group+.group,.final-planning>.planning>article>main.with-steps .groups .group+.empty-group{border-left:4px solid #e8e8e8;border-top:unset}}.deliverable .post-header{border-bottom:2px solid #e8e8e8;margin-bottom:0.5em;padding-bottom:0.5em}.deliverable .post-header .post-title{align-items:center;display:flex;flex-direction:column}@media (min-width: 800px){.deliverable .post-header .post-title{align-items:baseline;column-gap:0.5em;flex-direction:row}.deliverable .post-header .post-title .deliverable-type{border:1px solid #828282;border-radius:0.5em;padding:0.25em 0.5em}}.deliverable .post-sub-header{display:flex;justify-content:space-between}.deliverable .post-sub-header .date{background-color:#e8e8e8;border:1px solid #dbdbdb;border-radius:0.5em;padding:0.25em 0.5em}.deliverable .post-sub-header .date.expired{background-color:#fdfdfd;border-color:#e8e8e8;font-style:italic}.deliverable .post-sub-header .date.urgent{background-color:#fdfdfd;border-color:#e8e8e8;font-weight:bold}.deliverable .post-sub-header .date.urgent::before{color:#d00;content:"‼️";margin-right:0.25em}.deliverable .post-sub-header .module{border:1px solid #e8e8e8;border-radius:0.5em;padding:0.25em 0.5em;text-align:center}.deliverable .post-sub-header .module:last-child{text-align:right}.deliverable .post-sub-header .last-update{font-size:0.8em;font-style:italic;text-align:right}.roadmap{counter-reset:schedule}.roadmap .post-header{border-bottom:2px solid #e8e8e8;margin-bottom:0.5em;padding-bottom:0.5em}.roadmap .post-header .post-title{align-items:center;display:flex;flex-direction:column}@media (min-width: 800px){.roadmap .post-header .post-title{align-items:baseline;column-gap:0.5em;flex-direction:row}.roadmap .post-header .post-title .session-date{border:1px solid #828282;border-radius:0.5em;padding:0.25em 0.5em}}.roadmap .post-sub-header{font-size:0.8em;font-style:italic;text-align:right}.roadmap .summary{counter-reset:summary;display:flex;flex-direction:column;list-style:none;margin:unset;row-gap:0.5em}.roadmap .summary>li>a{border:1px solid #e8e8e8;border-radius:0.25em;color:#828282;counter-increment:summary;display:block;padding:0.5em 1em;text-decoration:none}.roadmap .summary>li>a:hover{border-color:#2a7ae2;color:#2a7ae2}.roadmap .summary>li>a::before{content:counter(summary) ".";margin-right:0.5em}@media (min-width: 600px){.roadmap .summary>li{width:75%}}@media (min-width: 800px){.roadmap .summary>li{width:50%}}@media (min-width: 600px){.roadmap .summary{align-items:center}}.roadmap h2:not(:first-child){counter-increment:schedule}.roadmap h2:not(:first-child)::before{content:counter(schedule) ".";margin-right:0.5em}.roadmap footer nav{display:flex;justify-content:space-between}.roadmap footer nav>div>a{border:2px solid #e8e8e8;border-radius:1em;color:inherit;display:block;padding:0.5rem 1rem}.roadmap footer nav>div>a:hover{border-color:#2a7ae2;color:#2a7ae2;text-decoration:none}@media screen and (min-width: 800px){.roadmap footer nav{margin:0 2rem}}.document-model{border:3px solid #e8e8e8;border-radius:2em;counter-reset:document-model;display:flex;flex-direction:column;padding:1em 0 1em 1em;row-gap:1.5em}.document-model h3,.document-model h4,.document-model h5{border-bottom:1px solid #e8e8e8;color:#828282;margin-top:0;padding-bottom:0.25em}.document-model h3{border-bottom-width:2px;counter-increment:document-model;margin-bottom:0;padding-bottom:0.5em}.document-model h3::before{content:counter(document-model,upper-alpha) ")";margin-right:0.5em}.document-model h4{counter-increment:document-model-section;padding-left:0.5em}.document-model h4::before{content:counter(document-model-section) ".";margin-right:0.5em}.document-model h5{counter-increment:document-model-subsection;padding-left:1em}.document-model h5::before{content:counter(document-model-section) "." counter(document-model-subsection) ".";margin-right:0.5em}.document-model .element-content{counter-reset:document-model-section;padding:0.75em 0}.document-model .element-content p{margin-right:1em}.document-model .element-content>.section-content{counter-reset:document-model-subsection}.document-model .element-content .related-pages{margin-bottom:0.5em;margin-right:1em}.document-model .element-content .panel{margin-left:0}@media screen and (min-width: 800px){.document-model .element-content{border-color:#e8e8e8;border-style:solid;border-width:0 0 2px 2px}.document-model .element-content p{margin-left:1em;margin-right:0}.document-model .element-content .related-pages{margin-right:0}.document-model .element-content .panel{margin-left:1em}}.meeting-notes{border:3px solid #e8e8e8;border-radius:3em;margin:1em 0}.meeting-notes header{text-align:center}.meeting-notes header h1{border-bottom:3px solid #e8e8e8;color:#828282;margin-bottom:0.25em;padding:0.25em 0 0.25em}.meeting-notes header .subtitle{column-gap:2rem;display:flex;justify-content:center}.meeting-notes h1,.meeting-notes h2{margin:0}.meeting-notes .participants{border-color:#e8e8e8;border-style:solid;border-width:2px 0 0 0;margin:1em 0;padding:0 1em}.meeting-notes .participants>ul{list-style:none;margin-left:0}.meeting-notes .participants>ul>li{align-items:center;column-gap:1em;display:flex}.meeting-notes .participants .attendance{border-radius:9999px;height:0.75em;width:0.75em}.meeting-notes .participants .attendance.present{background-color:#090}.meeting-notes .participants .attendance.off{background-color:#900}.meeting-notes .subject{align-items:baseline;column-gap:1em;display:flex;margin:1em 0.5em}.meeting-notes .notes,.meeting-notes .documents{border-top:2px solid #e8e8e8;padding:0.25em 1em 1em}@media screen and (min-width: 600px){.meeting-notes{margin:1em 1.5rem}}@media screen and (min-width: 800px){.meeting-notes{margin:1em 3rem}.meeting-notes .participants{border-left-width:2px;margin-left:2em}.meeting-notes .participants>ul{margin-left:30px}}.sub-footer{background-color:#eef;padding:15px 0}.sub-footer #theme-switch{display:flex;flex-direction:column;align-items:center;row-gap:7.5px}.sub-footer #theme-switch main{display:flex;justify-content:center;column-gap:15px}.sub-footer #theme-switch main button{background-color:#eef;border:2px solid #eef;border-radius:0.5em;color:#828282;cursor:pointer;font-size:1.25em;font-weight:700;padding:0.25em 0.5em;text-align:center;text-decoration:none;transition:background-color 0.3s, color 0.3s}.sub-footer #theme-switch main button.active{border-color:#828282;color:#828282;cursor:default}.sub-footer #theme-switch main button:hover:not(.active),.sub-footer #theme-switch main button:focus:not(.active){border-color:#2a7ae2;color:#2a7ae2}.collection-nav{display:flex;justify-content:space-between}@media screen and (max-width: 600px){.collection-nav{align-items:center;flex-wrap:wrap;row-gap:15px}}.collection-nav>div{flex-basis:0;flex-grow:1}.collection-nav>div.main{text-align:center}.collection-nav>div.main>a{border-radius:0.5em;font-weight:bold}@media screen and (max-width: 600px){.collection-nav>div.main>a{display:block}}@media screen and (max-width: 600px){.collection-nav>div.main{order:2;flex-basis:100%}}.collection-nav>div.next{text-align:right}.collection-nav>div>a{border:2px solid #e8e8e8;border-radius:5em;color:#828282;padding:0.5em 1em;text-decoration:none}.collection-nav>div>a:hover,.collection-nav>div>a:focus{border-color:#2a7ae2;color:#2a7ae2}.dual-projects>main{display:flex;align-items:flex-start;column-gap:15px;margin-bottom:15px}@media screen and (max-width: 800px){.dual-projects>main{display:flex;flex-direction:column;align-items:stretch;row-gap:15px;column-gap:0}}.dual-projects>main>article{flex:1;border:4px solid #e8e8e8;border-radius:1.5em}.dual-projects>main>article>header{border-bottom:4px solid #e8e8e8;font-size:1.5em;padding:0.25em 0;text-align:center}.dual-projects>main>article>header .badge{color:#000;border-radius:1em;padding:0.25em 0.5em;text-align:center;width:5em}.dual-projects>main>article>header .badge.dev{background-color:#7A86B8}.dual-projects>main>article>header .badge.cyber{background-color:#B8AC7A}.dual-projects>main>article>main{padding:0.5em 1em}.listing{display:flex;flex-direction:column;row-gap:22.5px;margin:0}@media (min-width: 800px){.listing{margin:.25em 2em}}.listing>li{list-style:none}.listing>li>.listing-main{border:2px solid #e8e8e8;border-radius:.5em}.listing>li>.listing-main>.listing-heading{display:flex;justify-content:center;column-gap:7.5px;padding:.5em 0}.listing>li>.listing-main>.listing-heading .listing-title{font-size:1.15em;font-weight:bold}.listing>li>.listing-main>.listing-heading .listing-badge{font-size:.85em;background-color:rgba(130,130,130,0.2);padding:.25em .5em;border-radius:1em;border:1px solid #828282}.listing>li>.listing-main>.listing-heading+.listing-content{border-top:2px solid #e8e8e8}.listing>li>.listing-main>.listing-content{padding:.5em 1.5em}.listing>li>.listing-main>.listing-content .sub-listing{margin-top:0;margin-bottom:0}.listing>li>.listing-main>.listing-content .panel{margin-left:0;margin-right:0}.listing>li+li{margin-top:0}ol.listing>li{display:flex}ol.listing>li>.listing-order{align-content:center;padding:0 1em;border:2px solid #e8e8e8;border-top-left-radius:.5em;border-bottom-left-radius:.5em}ol.listing>li>.listing-order+.listing-main{border-left:0}ol.listing>li>.listing-main{flex-basis:100%;border-top-left-radius:0;border-bottom-left-radius:0}.final-content-list{display:flex;gap:15px;flex-wrap:wrap}.final-content-list.simple-list{justify-content:center}.final-content-list.simple-list .final-content{width:100%}.final-content-list.simple-list .final-content>.title{text-align:center}.final-content-list:not(.simple-list){column-gap:30px}.final-content-list .final-content,.final-content-list .content-pages{display:flex;flex-direction:column;row-gap:7.5px}.final-content-list .final-content{border:1px solid #e8e8e8;border-radius:1em;color:#111;padding:0.5em 0.75em;text-decoration:none}.final-content-list .final-content:hover{border-color:#2a7ae2;color:#2a7ae2}.final-content-list .final-content>.title{font-size:1.15em}.final-content-list .main-page{width:100%}.final-content-list .main-page .final-content{display:flex;flex-direction:column;height:100%;padding:unset}.final-content-list .main-page .final-content>.title{padding-top:0.5em;text-align:center}.final-content-list .main-page .final-content>.description{height:100%;padding:0 0.75em}.final-content-list .main-page .final-content>.badge{border-top-width:1px;border-top-style:solid;border-top-color:inherit;display:flex;flex-direction:column;justify-self:end;padding-top:0.5em;row-gap:0.25em;text-align:center}.final-content-list .main-page .final-content>.badge .icon{font-size:1.75em}.final-content-list .main-page .final-content>.badge .date{font-size:1.15em;font-weight:bold}.final-content-list .content-pages{margin:auto;width:90%}@media (min-width: 800px){.final-content-list.simple-list .final-content{width:250px}.final-content-list .main-page{width:250px}.final-content-list .content-pages{width:calc(100% - 250px - 30px)}}.final-steps{align-items:center;display:flex;flex-direction:column;row-gap:22.5px}.final-steps>article>header .name{color:#60A9FF;font-size:1.25em;font-weight:bold;padding-top:0.25em;text-align:center}.final-steps>article>header .name:after{border-top:7.5px solid #60A9FF;border-top-left-radius:2em;border-top-right-radius:2em;content:"";display:block;margin-top:0.15em}.final-steps>article>main{border-color:#e8e8e8;border-style:solid;border-width:0 1px 1px;border-radius:0 0 1em 1em}.final-steps>article>main .sub-header{background-color:#60A9FF;border-bottom-left-radius:3em;border-bottom-right-radius:3em;color:#000;font-weight:bold;padding:0 1.25em 0.5em;margin:0 auto 0.75em;width:max-content}.final-steps>article>main>p{padding-left:15px;padding-right:15px}.final-steps>article>main .step-content{counter-set:step-content-counter;list-style:none;margin-right:30px}.final-steps>article>main .step-content>li{counter-increment:step-content-counter}.final-steps>article>main .step-content>li>.name{border-bottom:2px solid #D187FF;color:#D187FF;margin-bottom:0.5em;padding:0.15em 0 0.25em;text-align:center}.final-steps>article>main .step-content>li>.name:before{content:counter(step-content-counter) ".";margin-right:0.5em}.final-steps>article>main .step-content>li .panel{margin-left:0;margin-right:0}@media (min-width: 800px){.final-steps>article{width:700px}}.related-pages{display:flex;flex-direction:column;list-style:none;margin:1em 0 0;row-gap:1em}.related-pages>li>a{color:#828282;text-decoration:none}.related-pages>li>a:hover{border-color:#2a7ae2;color:#2a7ae2}.related-pages>li>a:hover .related-page-badge{border-color:#2a7ae2}.related-pages>li .related-page-item{border:2px solid #e8e8e8;border-radius:0.5em;display:flex;font-size:1.25em}.related-pages>li .related-page-item .related-page-badge{align-items:center;align-self:stretch;border-right:2px solid #e8e8e8;display:flex;font-size:1.5em;padding:0.25em 0.5em}.related-pages>li .related-page-item .related-page-badge.assessment::before{content:"📝"}.related-pages>li .related-page-item .related-page-badge.calendar::before{content:"📆"}.related-pages>li .related-page-item .related-page-badge.evaluation::before{content:"📊"}.related-pages>li .related-page-item .related-page-badge.external_link::before{content:"🔗"}.related-pages>li .related-page-item .related-page-badge.final::before{content:"🎖️"}.related-pages>li .related-page-item .related-page-badge.html_page::before{content:"📄"}.related-pages>li .related-page-item .related-page-badge.parent-assessment::before{content:"📂"}.related-pages>li .related-page-item .related-page-badge.project_help::before{content:"📚️"}.related-pages>li .related-page-item .related-page-badge.specifications::before{content:"📑"}.related-pages>li .related-page-item .related-page-badge.technical_requests::before{content:"📋️"}.related-pages>li .related-page-item .related-page-title{align-self:center;padding:0.25em 0.5em 0.25em 1em}@media (min-width: 800px){.related-pages>li{width:80%}}@media (min-width: 800px){.related-pages{align-items:center}}li>.related-pages:last-child{margin-bottom:1em}.student-teams{display:flex;flex-direction:row;flex-wrap:wrap;gap:0.5em 1.25em;justify-content:center;list-style:none;margin:1em 0}.student-teams>li{border:1px solid #e8e8e8;border-radius:1em;display:flex;flex-direction:column}.student-teams>li .team-heading{border-bottom:1px solid #e8e8e8;font-size:1.5em;letter-spacing:0.1em;margin-bottom:0.5em;padding:0.25em;text-align:center}.student-teams>li .team-members{counter-reset:student-team-members;flex-grow:1;list-style:none;margin:0 0.75em}.student-teams>li .team-members .team-member{column-gap:0.5em;counter-increment:student-team-members;display:flex}.student-teams>li .team-members .team-member .badge{color:#000;border-radius:1em;text-align:center;width:4em}.student-teams>li .team-members .team-member .badge.dev{background-color:#7A86B8}.student-teams>li .team-members .team-member .badge.cyber{background-color:#B8AC7A}.student-teams>li .team-footer{border-top:1px solid #e8e8e8;column-gap:0.75em;display:flex;justify-content:center;margin-top:0.5em;padding:0.25em}.panel{border-left-style:solid;border-left-width:5px;border-radius:0 0.5em 0.5em 0;column-gap:1em;display:flex;margin:1rem;padding:1rem}.panel-content{text-align:justify}.panel.comment{border-left-color:#0DCAF0;background-color:#0DCAF033}.panel.danger{border-left-color:#d00;background-color:rgba(221,0,0,0.2)}.panel.warning{border-left-color:#FFDA6A;background-color:rgba(255,218,106,0.2)}
