.MediaList{list-style:none;list-style-image:none;padding-left:0;margin-top:0;line-height:1.5}.MediaItem{color:var(--gray-lightest);background:#181818;margin:0 0 calc(8px + var(--spacing-md));padding-left:10px;position:relative;overflow:hidden;text-align:left;transition:padding .3s}.MediaItem .s-vflex-outer{padding:var(--spacing-md);position:relative;z-index:5;background:radial-gradient(circle at left,rgba(0,0,0,.6),#000 25%)}.MediaItem:first-child{margin-top:0}.MediaItem a{text-decoration:none;transition:color .2s}.MediaItem .thumbnail-wrap{overflow:hidden;height:100%;position:absolute;top:0;left:0}.MediaItem .thumbnail img{height:100%;opacity:.5;width:auto}.MediaItem .Instructor{overflow:hidden}.MediaItem .Instructor a{float:left}.MediaItem .corner-flag{background:var(--fem-yellow);color:var(--gray-darker);font-weight:700;font-size:var(--font-xs);padding:var(--spacing-xs) 0;position:absolute;right:0;text-align:center;top:90px;transform:rotate(45deg);transform-origin:bottom right;width:170px;z-index:5}.MediaItem .title{font-weight:400;margin:0 0 var(--spacing-xs)}.MediaItem .meta{color:var(--gray-mid);font-size:var(--font-sm);margin:var(--spacing-sm) 0}.MediaItem .meta.top{font-weight:600;margin:0}.MediaItem .cta{margin-top:var(--spacing-md)}.MediaItem .description{font-size:var(--font-sm);margin:var(--spacing-sm) 0}.MediaItem .description a{color:var(--gray-light);text-decoration:underline}.MediaItem .captioned{background:var(--gray-mid);border-radius:8px;color:var(--gray-darker);display:inline-block;margin-left:var(--spacing-xs);padding:0 4px}.MediaItem .progress{position:absolute;bottom:0;left:0;background:var(--gray-dark);height:6px;width:100%;z-index:6}.MediaItem .highlight{background:var(--fem-red);height:8px}.MediaItem .drag-handle{display:none}.MediaItem:hover .thumbnail img{opacity:1}.MediaItem.to-be-announced .s-vflex-outer{background:radial-gradient(circle at left,rgba(48,48,48,.75),#303030 25%)}.MediaItem.to-be-announced .meta.top{padding-right:80px}.MediaItem.to-be-announced h2.title{padding-right:40px}@media only screen and (min-width:568px){.MediaItem{padding-left:100px}}@media only screen and (min-width:768px){.MediaItem .s-vflex-outer{min-height:325px}.MediaItem{padding-left:200px}.MediaListAsBlocks{display:flex;flex-wrap:wrap;justify-content:space-between}.MediaListAsBlocks .MediaItem{padding-left:100px;width:48.5%}.MediaListAsBlocks .MediaItem .thumbnail{height:100%}.MediaListAsBlocks .MediaItem .Button{display:block}.MediaListAsBlocks .MediaItem .Button+.Button{margin:var(--spacing-sm) 0 0 0}.MediaListAsBlocks .MediaItem:nth-child(2){margin-top:0}}@media only screen and (min-width:1024px){.MediaItem{padding-left:325px}.MediaListAsBlocks .MediaItem .Button{display:inline-block}.MediaListAsBlocks .MediaItem .Button+.Button{margin:0 0 0 var(--spacing-xs)}}.MediaItem-Complete{background:#c63528 0;color:#ccc;position:relative;overflow:visible;min-height:150px;margin-top:calc(8px + var(--spacing-md));padding-left:100px}.MediaItem-Complete .checkmark-circle{display:none}@media only screen and (min-width:768px){.MediaItem-Complete .checkmark-circle{display:block}}.MediaItem-Complete .bio,.MediaItem-Complete .cta,.MediaItem-Complete .description,.MediaItem-Complete .drag-handle,.MediaItem-Complete .meta,.MediaItem-Complete .porthole,.MediaItem-Complete .progress{display:none}.MediaItem-Complete .s-vflex-outer{padding:var(--spacing-md);position:relative;z-index:4;background:#c63528;overflow:hidden}.MediaItem-Complete .s-vflex-outer .title{margin:0 0 12px}@media only screen and (min-width:768px){.MediaItem-Complete .s-vflex-outer{background:radial-gradient(circle at left,rgba(198,53,40,.5),rgba(198,53,40,.5) 40%,rgba(228,96,37,.5))}}.MediaItem-Complete .thumbnail-wrap{overflow:hidden;height:100%;position:absolute;top:0;left:0}.MediaItem-Complete .thumbnail img{height:100%;opacity:.5;width:auto}.MediaItem-Complete:hover img{opacity:1}.MediaItem-Complete .Instructor .name,.MediaItem-Complete .Instructor .organization{padding:0;margin:0;color:#fff;opacity:.9}.MediaItem-Complete .title a{color:#fff;text-decoration:none;padding:0}.MediaItem-Complete .Instructor{min-height:0;padding:0}@media only screen and (min-width:768px){.MediaItem-Complete,.MediaItem-Complete .s-vflex-outer{min-height:0}.MediaItem-Complete{padding-left:206px}.MediaItem-Complete .s-vflex-outer{padding:40px 40px 40px 0}.MediaItem-Complete .thumbnail{height:180px}}@keyframes checkmark{0%{height:0;width:0;opacity:1}20%{height:0;width:37.5px;opacity:1}40%{height:75px;width:37.5px;opacity:1}to{height:75px;width:37.5px;opacity:1}}@keyframes checkmark-revert{0%{height:0;width:0;opacity:1}20%{height:0;width:37.5px;opacity:1}40%{height:75px;width:37.5px;opacity:1}to{height:75px;width:37.5px;opacity:1}}.checkmark-wrap{position:absolute;top:17%;left:-55px;z-index:5}.checkmark-circle{width:120px;height:120px;position:relative;display:inline-block;vertical-align:top}.checkmark-circle .background{width:110px;height:110px;border-radius:50%;background:#fff;position:absolute}.checkmark-circle .checkmark{border-radius:5px}.checkmark-circle .checkmark.draw:after{animation-delay:.1s;animation-duration:1s;animation-timing-function:ease;animation-name:checkmark;transform:scaleX(-1) rotate(135deg);animation-fill-mode:forwards}.checkmark-circle .checkmark:after{opacity:1;height:75px;width:37.5px;transform-origin:left top;border-right:15px solid #c63528;border-top:15px solid #c63528;border-radius:2.5px!important;content:"";left:15px;top:65px;position:absolute}.Instructor{min-height:80px;position:relative;padding-left:95px}.Instructor .porthole{border-top:2px solid var(--gray-darkest);border-left:2px solid var(--gray-darkest);position:absolute;top:0;left:0;background:var(--gray-darkest);border-radius:40px;height:80px;overflow:hidden;width:80px;z-index:1}.Instructor a{color:#fff;text-decoration:none}.Instructor a:hover .porthole{border-top:2px solid #000;border-left:2px solid #000}.Instructor .name,.Instructor .name a{padding-top:15px;color:var(--gray-lightest);font-size:calc(2px + var(--font-md))}.Instructor .organization,.Instructor .organization a{color:var(--gray-mid);font-size:calc(2px + var(--font-sm))}@keyframes loading-pulse{0%{opacity:1}to{opacity:.25}}.PromoPlayer{border:0;display:block;font-size:0;padding:0;width:100%}.PromoPlayer .vjs-poster img[loading=lazy]{opacity:1}.PromoPlayer.placeholder{container:player/inline-size;aspect-ratio:16/9;background:#000;cursor:pointer;position:relative}.PromoPlayer.placeholder:after{background:var(--fem-red) url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2248%22%20height%3D%2248%22%20fill%3D%22%23fff%22%3E%3Cpath%20d%3D%22M16%2010v28l22-14z%22%2F%3E%3C%2Fsvg%3E") no-repeat 50% 50%;background-size:40px;border-radius:100px;color:#fff;content:"";left:50%;height:60px;opacity:.75;position:absolute;pointer-events:none;text-align:center;top:50%;transition:all .3s;transform:translate(-50%,-50%);width:60px}@container player (min-width: 500px){.PromoPlayer.placeholder:after{background-size:60px;height:96px;width:96px}}.PromoPlayer.placeholder:hover:after{opacity:.9}.PromoPlayer.placeholder.loading:after{animation:loading-pulse .75s linear infinite alternate}.PromoPlayer.placeholder.preview:after{background-color:var(--fm-gray-2);background-position-x:var(--fm-space-12);background-size:48px;content:"Preview";font-size:var(--fm-font-24);font-weight:var(--fm-fw-medium);height:auto;padding:var(--fm-space-16) var(--fm-space-24) var(--fm-space-16) calc(38px + var(--fm-space-24));width:auto}.FM-Form .form-row.otp label{color:light-dark(var(--fm-gray-3),var(--fm-gray-5));margin-bottom:var(--fm-space-6);line-height:1.4}.FM-Form .form-row.otp [data-otp-digits]{display:flex;gap:var(--fm-space-12)}.FM-Form .form-row.otp [data-otp-digits] input[data-otp-digit]{border-radius:var(--fm-radius-medium);border:1px solid light-dark(var(--fm-gray-6),var(--fm-gray-4));background:light-dark(var(--white),var(--fm-gray-3));width:48px;padding:var(--fm-space-6) var(--fm-space-12);font-size:var(--fm-font-36);color:light-dark(var(--black),var(--white))}.FM-Form .form-row.otp [name=otpCode]{display:none}.FM-Form .form-row.resend-otp{display:flex;flex-flow:row nowrap;gap:var(--fm-space-6)}.FM-Form .form-row.resend-otp [data-otp-resend-cooldown]{display:block;opacity:0;transition:opacity .3s}.FM-Form .form-row.resend-otp [data-otp-resend-cooldown].active{opacity:1}.layered-grid{display:grid}.layered-grid [data-layered-grid]{grid-area:1/1;background:var(--fm-gray-2);opacity:1;z-index:2;transition:opacity .5s}.layered-grid [data-layered-grid]:last-child{opacity:0;z-index:1}.layered-grid:has([data-otp-input][required]) [data-layered-grid]{opacity:0}.layered-grid:has([data-otp-input][required]) [data-layered-grid]:last-child{opacity:1;z-index:3}.BootcampCurriculum h2{text-align:center;padding-top:30px}.BootcampCurriculum h3{text-align:left}.BootcampCurriculum table{border-collapse:collapse;margin:0 auto 5em}.BootcampCurriculum td,.BootcampCurriculum th{padding:1em 1em .5em;line-height:100%;vertical-align:middle}.BootcampCurriculum tfoot td,.BootcampCurriculum tfoot th{padding-top:1em;border-top:1px solid #555}.WelcomeEnrollBody{background:#000 url(https://cdn.frontendmasters.com/assets/fm/js/images/header_BG_59dbae17.jpg) no-repeat;background-position:50%;background-size:100% auto;position:relative;height:auto;min-height:550px;overflow:hidden}.WelcomeEnrollBody img{width:25%;height:auto;padding:110px 0 0;min-width:200px;margin:0 auto}.WelcomeEnrollBody h1{width:60%;margin:0 0 0 5%;padding:120px 0 0;line-height:1.3;float:left}.WelcomeEnrollBody p{width:60%;margin-left:5%;float:left}.WelcomeEnrollBody p a{vertical-align:top}.WelcomeEnrollBody header{margin-top:var(--spacing-md)}.WelcomeEnrollBody .block,.WelcomeEnrollBody header{padding:var(--spacing-sm) var(--spacing-md)}.WelcomeEnrollBody .ButtonWelcome{display:block;width:100%}.WelcomeEnrollBody .share-icon{width:60px;height:60px;display:none;background-color:rgba(0,0,0,.3);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2233%22%20height%3D%2233%22%20fill%3D%22none%22%20viewBox%3D%220%200%2033%2033%22%3E%3Cmask%20id%3D%22a%22%20width%3D%2233%22%20height%3D%2233%22%20x%3D%220%22%20y%3D%220%22%20maskUnits%3D%22userSpaceOnUse%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M33%200H0v33h33z%22%2F%3E%3C%2Fmask%3E%3Cg%20mask%3D%22url(%23a)%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M24.722%204.5h4.23l-9.24%2010.56%2010.87%2014.371H22.07l-6.666-8.715-7.627%208.715H3.545l9.883-11.295L3%204.5h8.727l6.026%207.967zm-1.484%2022.4h2.343L10.454%206.899H7.939z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");background-position:50%;background-repeat:no-repeat;background-size:33px 33px;border-radius:50%;margin-left:10px}.WelcomeEnrollBody .share-icon:focus-visible,.WelcomeEnrollBody .share-icon:hover{background-color:rgba(0,0,0,.2)}@media only screen and (min-width:1024px){.WelcomeEnrollBody .share-icon{display:inline-block}.WelcomeEnrollBlocks{display:flex;flex-wrap:wrap;justify-content:space-between}.WelcomeEnrollBlocks .WelcomeTrialEnroll{width:58.5%}.WelcomeEnrollBlocks .WelcomeTrialFeatures{width:38.5%}}.diagonal-one,.diagonal-two{width:100%;height:60px;bottom:0;left:0;right:0;position:absolute;fill:rgba(0,0,0,.4)}.WelcomeTrialFeatures{position:relative;color:#fff;padding:20px;margin-top:20px;max-width:100%}.WelcomeTrialFeatures li,.WelcomeTrialFeatures p{font-size:calc(1px + var(--font-md));line-height:180%}.WelcomeTrialFeatures h2{color:#fff;font-size:250%;line-height:100%;text-transform:uppercase;margin-bottom:var(--spacing-md)}.WelcomeTrialFeatures .block{background:none;min-height:88%;line-height:166%}.WelcomeTrialFeatures li{margin-bottom:var(--spacing-sm);padding-right:var(--spacing-sm)}.LearnAbout{position:relative;min-height:380px;padding-bottom:50px}.LearnAbout .background{z-index:1;opacity:.5;background-size:cover;background-position:50%}.LearnAbout .background,.LearnAbout .grid{position:absolute;top:0;right:0;bottom:0;left:0}.LearnAbout .grid{z-index:2;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAQAAAAD+Fb1AAAAEklEQVR42mNg+M8AAhASDUClAEXeA/1LlYqzAAAAAElFTkSuQmCC");opacity:.75}.LearnAbout .diagonal-one,.LearnAbout .diagonal-two{width:100%;height:60px;bottom:0;position:absolute;fill:rgba(0,0,0,.4)}.LearnAbout .s-wrap{z-index:3;position:relative;margin:20px auto 0;max-width:1000px}.LearnAbout .header-meta{align-self:center;text-align:center}.LearnAbout .header-meta h1{font-size:var(--font-xxl);line-height:115%;margin:0}.LearnAbout .header-meta h2{font-size:calc(1px + var(--font-md));line-height:130%;font-weight:400}.LearnAbout .header-progress{width:300px;position:relative;margin:0 auto}.LearnAbout .header-progress svg{width:300px}.LearnAbout .header-progress .icon{top:50px;left:28%;right:20%;width:128px;height:192px;position:absolute;fill:#000;opacity:.2;z-index:2}.LearnAbout .header-progress .icon-background{position:absolute;top:0;right:0;left:0;bottom:0;z-index:1}.LearnAbout .header-progress .icon-node-js{width:75%;left:14%;top:55px;width:220px;height:220px}.LearnAbout .header-progress .icon-javascript{width:190px;height:190px}.LearnAbout .header-progress .icon-vue{height:240px}.LearnAbout .header-progress .icon-sprout{top:32px;left:40px;width:230px;height:230px}.header-progress-completed{width:82%;height:82%;position:absolute;top:9%;left:9%;z-index:2;background:linear-gradient(#e46025,#c63528);opacity:0;border-radius:50%;transition-property:opacity;transition-delay:1s;transition-duration:1s}.header-progress-show{opacity:.6}.learn-course-list h3{font-size:calc(10px + var(--font-xxl));text-align:center;padding:0;margin:0}.learn-course-list h4{font-size:var(--font-lg);text-align:center;margin:-5px 0 0;padding:0 0 10px;font-weight:400}#learn-course-list-core{padding-top:50px}#learn-course-list-core header{text-align:center}#learn-course-list-core header svg{width:100px}#learn-course-list-electives header{text-align:center}#learn-course-list-electives header svg{width:130px}#learn-course-list-electives .MediaList{margin:var(--spacing-lg) 0}@media only screen and (min-width:1024px){.WelcomeEnrollBody img{float:left;margin-left:5%}.LearnAbout .s-wrap{display:flex}.LearnAbout .header-meta{margin-left:40px;text-align:left}}.LearningPathCore{margin:var(--spacing-lg) 0;padding-left:60px;position:relative;padding-bottom:15px}.LearningPathCore .MediaItem{margin:0}.LearningPathCore .s-vflex{margin-bottom:25px}.LearningPathProgress{position:absolute;top:40px;left:15px;bottom:40px;background:var(--gray-dark);width:10px}.LearningPathProgress:after,.LearningPathProgress:before{position:absolute;top:-40px;left:-15px;background:var(--gray-dark);border:10px solid var(--gray-dark);content:"";height:40px;width:40px}.LearningPathProgress:after{border-radius:50%;bottom:-40px;top:auto}.LearningPathProgress .progress{position:absolute;top:0;left:0;background:#c63528;height:0;transition:height 5s;width:100%}.LearningPathProgress.completed:after,.LearningPathProgress.started:before{border-color:#c63528}@media only screen and (min-width:768px){.LearningPathCore{padding-left:100px;padding-top:15px;padding-bottom:12px}.LearningPathProgress{top:60px;left:40px;bottom:60px}.LearningPathProgress:after,.LearningPathProgress:before{top:-60px;left:-25px;height:60px;width:60px}.LearningPathProgress:after{bottom:-60px;top:auto}}.EditorsNote.s-vflex{position:relative;background:#3a3a3a;height:0;margin:0}.EditorsNote.s-vflex h2{padding:0;margin:0;font-size:calc(-2px + var(--font-lg))}.EditorsNote.s-vflex .content,.EditorsNote.s-vflex h2{opacity:0;transition-property:opacity,height;transition-duration:2s}.EditorsNote.s-vflex .icon{position:absolute;left:-65px;top:-24px;font-size:var(--font-xl);padding:2px 15px;font-weight:700;border-radius:50%;background:#3a3a3a;color:#fff;cursor:pointer}@media only screen and (min-width:768px){.EditorsNote.s-vflex .icon{left:-77px}}.EditorsNote.s-vflex .icon:hover{background:#bbb;color:#3a3a3a}.EditorsNote.note-open{padding:20px 40px;border-radius:15px;height:auto;margin-bottom:25px}.EditorsNote.note-open .content,.EditorsNote.note-open h2{opacity:1}.EditorsNote.note-open .icon{top:25%;background:#ccc;color:#000}.WelcomePitch1{background-image:radial-gradient(circle 646px at 76.4% 20.4%,rgba(173,191,185,.3),#222 90%);height:auto}.textPitch{width:40%;float:left;margin:100px 5% 20px}.SaleVideo{width:50%;float:left;margin:80px 0 40px}.featurePitch{width:50%;float:left;padding:50px 0 60px}.featurePitch_alt{display:none}hr{margin:60px auto 0;width:80%;clear:left}.WelcomePitch2{background-image:radial-gradient(circle 554px at 50.2% .8%,#151515,#222 91.3%)}.pitchColumns{width:80%;margin:60px 10% 40px;float:left}.columnFeature{width:25%;padding:3%;float:left;text-align:center;line-height:1.4}.columnFeature h3{text-transform:uppercase}.WelcomeTrialEnroll{background-color:#343434;margin-top:20px;margin-bottom:40px;padding:var(--fm-space-24);width:50%;float:right}.TrialEnrollText{float:left;padding:150px 5% 0;width:50%}.TrialEnrollText_alt{background:#000;background:radial-gradient(circle at top,rgba(0,0,0,.5),rgba(235,22,2,0) 74%);width:100%;padding:200px 25% 140px;text-align:center}.WelcomeQA{width:75%;margin:50px auto 90px}.WelcomeQA h1,h3{text-align:center}.WelcomeQA_Content{display:block}.WelcomeQA_Content_Answer,.WelcomeQA_Content_Question{display:none}.WelcomeQA_Content_Answer a:-moz-any-link,.WelcomeQA_Content_Question a:-moz-any-link{color:#d14540}.WelcomeQA_Content_Answer a:any-link,.WelcomeQA_Content_Question a:any-link{color:#d14540}.WelcomeQA_Content_Question:checked~.WelcomeQA_Content_Question_Text{background-color:#891814;color:#fff;padding:10px 15px;font-size:18px;font-weight:900;border-color:#58100d;border-style:solid;border-width:0 0 1px;margin:0}.WelcomeQA_Content_Question:checked~.WelcomeQA_Content_Answer{display:block;padding:15px 25px 25px 35px;color:#313131;background-color:#fff;border-bottom:1px solid #a7a7a7;margin:0}.WelcomeQA_Content_Question_Text{display:block;background-color:#d3d3d3;margin:0;color:#000;font-size:18px;font-weight:900;cursor:pointer;padding:5px 15px;border-bottom:1px solid #a7a7a7;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media only screen and (max-width:calc(1024px - 1px)){.WelcomeEnrollBody{background-size:auto 100%;padding-bottom:30px;min-height:650px}.heroWrap{padding:0;width:100%;text-align:center}.heroWrap img{width:26%;display:block;padding-top:50px}.heroWrap h1{clear:left;width:90%;padding:10px 5%}.heroWrap p{clear:left;width:100%;padding:0 2%}.heroWrap a{margin-right:auto;margin-left:auto;float:none;display:flex;width:250px;text-align:center}.heroWrap .WelcomePitch1{background-image:radial-gradient(circle 446px at 76.4% 20.4%,#442a22,#222 90%)}.textPitch{width:80%;margin:30px 10% 20px;text-align:center}.SaleVideo{width:90%;margin:10px 5% 40px}.featurePitch{display:none}.featurePitch_alt{width:80%;margin:15px 10%;display:block}.pitchColumns{width:80%;margin:60px 5% 30px;float:left}.columnFeature{width:50%}.WelcomeTrialEnroll{padding:15px 40px;width:90%;margin:0 5%;float:left}.TrialEnrollText{float:left;width:90%;margin:0 5%;padding:15px 5% 10px;text-align:center}.TrialEnrollText h1{margin-bottom:0}.ButtonRed.ButtonLarge{margin:0 25%}.SupportButtons{width:100%;margin-bottom:20px}}.UnenrollSection{padding:20px 0;background:#3e3e3e;text-align:center}@media only screen and (max-width:calc(568px - 1px)){.LearningPathProgress{display:none}.LearningPathCore{padding:0}}