@layer base{body{font-family:var(--fm-font-sans);font-size:var(--fm-font-16);line-height:normal}p{line-height:1.4;margin:var(--fm-space-12) 0}a:-moz-any-link{color:unset;font-weight:var(--fm-fw-regular);text-decoration:none}a:any-link{color:unset;font-weight:var(--fm-fw-regular);text-decoration:none}a:-moz-any-link:hover{color:unset}a:any-link:hover{color:unset}fieldset{border:none;margin:0;padding:0}}.FM-Round-Thumbnail-Item{container:RoundThumbnailItem/inline-size;text-decoration:none;width:100%}.FM-Round-Thumbnail-Item .wrap{align-items:center;display:flex;flex-direction:row;gap:var(--fm-space-12)}.FM-Round-Thumbnail-Item .thumbnail{align-items:center;background:var(--fm-gray-2);border-radius:32px;display:flex;flex-shrink:0;height:64px;justify-content:center;line-height:0;overflow:hidden;width:64px}.FM-Round-Thumbnail-Item .thumbnail img{height:auto;width:100%}.FM-Round-Thumbnail-Item .text{line-height:1.4}.FM-Round-Thumbnail-Item .main,.FM-Round-Thumbnail-Item .main a{color:#fff;font-size:var(--fm-font-18);font-weight:var(--fm-fw-bold);line-height:1.2;margin:0}.FM-Round-Thumbnail-Item .secondary{color:var(--fm-gray-5);font-size:var(--fm-font-16);margin:0}.FM-Media-Carousel{--carousel-width:100%;--carousel-count:1;--carousel-gap:var(--fm-space-24);--carousel-item-bg:var(--fm-gray-2);--carousel-item-bg-hover:linear-gradient(90deg,#222 0.04%,#333);--carousel-controls-bg:var(--fm-gray-1);position:relative}.FM-Media-Carousel .carousel-content{--auto-columns:calc((var(--carousel-width) - var(--carousel-gap)*(var(--carousel-count) - 1))/var(--carousel-count));display:grid;grid-auto-columns:var(--auto-columns);grid-auto-flow:column;grid-column-gap:var(--carousel-gap);overflow-x:scroll;overscroll-behavior-x:contain;position:relative;scrollbar-width:none}.FM-Media-Carousel .carousel-content::-webkit-scrollbar{display:none}.FM-Media-Carousel .carousel-content .carousel-item{background:var(--carousel-item-bg);height:100%}.FM-Media-Carousel .carousel-content .carousel-item:hover{background:var(--carousel-item-bg-hover)}.FM-Media-Carousel .left-arrow,.FM-Media-Carousel .right-arrow{display:flex;flex-flow:column nowrap;height:50px;justify-content:center;opacity:0;position:absolute;top:50%;transition:transform .3s,opacity .2s}.FM-Media-Carousel .left-arrow>button,.FM-Media-Carousel .right-arrow>button{align-items:center;aspect-ratio:1;background:var(--fm-gray-3);border:none;border-radius:50%;color:var(--fm-gray-4);display:inline-flex;height:100%;justify-content:center;padding:0}.FM-Media-Carousel .left-arrow:hover>button,.FM-Media-Carousel .right-arrow:hover>button{color:var(--white)}.FM-Media-Carousel .left-arrow{left:0;transform:translate(-100%,-50%)}.FM-Media-Carousel .left-arrow.active{opacity:1;transform:translate(calc(-50% + 5px),-50%)}.FM-Media-Carousel .left-arrow button{box-shadow:5px 0 8px 0 var(--fm-gray-1)}.FM-Media-Carousel .right-arrow{right:0;transform:translate(100%,-50%)}.FM-Media-Carousel .right-arrow.active{opacity:1;transform:translate(calc(50% - 5px),-50%)}.FM-Media-Carousel .right-arrow button{box-shadow:-5px 0 8px 0 var(--fm-gray-1)}.FM-Media-Carousel:not(:has(.carousel-item:not([data-state=visible]))) .left-arrow,.FM-Media-Carousel:not(:has(.carousel-item:not([data-state=visible]))) .right-arrow{display:none}.FM-Media-Carousel-Item{align-items:center;display:flex;flex-flow:column nowrap;gap:var(--fm-space-16);height:100%;justify-content:space-between;padding:var(--fm-space-24);position:relative}.FM-Media-Carousel-Item .item-header{text-align:center;text-wrap:balance}.FM-Media-Carousel-Item .item-header .secondary{color:var(--fm-gray-5);font-size:var(--fm-font-14)}.FM-Media-Carousel-Item .item-body{align-items:center;color:var(--fm-gray-5);display:flex;flex-flow:column nowrap;font-size:var(--fm-font-12);gap:var(--fm-space-16);text-align:center}.FM-Media-Carousel-Item .item-body .thumbnail-wrap{height:150px;width:150px}.FM-Media-Carousel-Item .progress{background:var(--fm-gray-3);bottom:-5px;height:5px;left:0;margin-bottom:5px;position:absolute;width:100%}.FM-Media-Carousel-Item .progress .highlight{background:var(--fm-red-1);height:100%}@media screen and (min-width:600px){.FM-Media-Carousel{--carousel-count:2}.left-arrow.active{transform:translate(-50%,-50%)}.right-arrow.active{transform:translate(50%,-50%)}}@media screen and (min-width:950px){.FM-Media-Carousel{--carousel-count:3}}.Instructor{min-height:80px;padding-left:95px;position:relative}.Instructor .porthole{background:var(--gray-darkest);border-left:2px solid var(--gray-darkest);border-radius:40px;border-top:2px solid var(--gray-darkest);height:80px;left:0;overflow:hidden;position:absolute;top:0;width:80px;z-index:1}.Instructor a{color:#fff;text-decoration:none}.Instructor a:hover .porthole{border-left:2px solid #000;border-top:2px solid #000}.Instructor .name,.Instructor .name a{color:var(--gray-lightest);font-size:calc(var(--font-md) + 2px);padding-top:15px}.Instructor .organization,.Instructor .organization a{color:var(--gray-mid);font-size:calc(var(--font-sm) + 2px)}@keyframes loading-pulse{0%{opacity:1}to{opacity:.25}}.TutorialPlayer .vjs-poster img[loading=lazy]{opacity:1}.TutorialPlayer.placeholder{aspect-ratio:16/9;background:#000;container:player/inline-size;cursor:pointer;font-size:0;position:relative}.TutorialPlayer.placeholder:after{background:var(--fem-red) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' fill='%23fff'%3E%3Cpath d='M16 10v28l22-14z'/%3E%3C/svg%3E") no-repeat 50% 50%;background-size:40px;border-radius:100px;color:#fff;content:"";height:60px;left:50%;opacity:.75;pointer-events:none;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);transition:all .3s;width:60px}@container player (min-width: 500px){.TutorialPlayer.placeholder:after{background-size:60px;height:96px;width:96px}}.TutorialPlayer.placeholder:hover:after{opacity:.9}.TutorialPlayer.placeholder.loading:after{animation:loading-pulse .75s linear infinite alternate}.TutorialPlayer.placeholder.preview:after{background-position-x:var(--fm-space-12);content:"Preview";font-size:var(--fm-font-18);height:auto;padding:var(--fm-space-12) var(--fm-space-24) var(--fm-space-12) calc(40px + var(--fm-space-12));width:auto}@container player (min-width: 500px){.TutorialPlayer.placeholder.preview:after{background-size:60px;font-size:var(--fm-font-24);padding:var(--fm-space-24) var(--fm-space-24) var(--fm-space-24) calc(60px + var(--fm-space-12))}}.FM-Media-Carousel .carousel-content .carousel-item,.FM-Media-Carousel .carousel-content .carousel-item:hover{background:none}.tutorials-item{background:var(--fm-gray-2);border-radius:var(--fm-radius-medium);display:flex;flex-flow:column nowrap;height:100%;justify-content:flex-start;overflow:hidden;position:relative;width:100%}.tutorials-item:hover{background:linear-gradient(90deg,var(--Gradients-gray-gray-from,#222) .04%,var(--Gradients-gray-gray-to,#333) 100%)}.tutorials-item .exclusive-tag{interpolate-size:allow-keywords;align-items:center;background-color:var(--black);border-radius:var(--fm-radius-small);color:var(--fm-gray-8);display:flex;font-size:var(--fm-font-12);font-weight:700;left:var(--fm-space-6);padding:4px 6px;position:absolute;text-transform:uppercase;top:var(--fm-space-6);z-index:1000}.tutorials-item .exclusive-tag>span{margin-left:0;opacity:0;overflow:hidden;transition:margin,width,opacity;transition-duration:0;width:0}.tutorials-item .exclusive-tag:hover>span{margin-left:var(--fm-space-6);opacity:1;width:-moz-max-content;width:max-content}.tutorials-item .tutorials-item-image{aspect-ratio:16/9;background:var(--fm-gray-3);flex:1}.tutorials-item img{aspect-ratio:16/9;display:block;height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.tutorials-item .tutorials-item-detail{display:flex;flex-flow:column nowrap;flex-grow:1;gap:var(--fm-space-12);height:100%;justify-content:flex-start;padding:var(--fm-space-12)}.tutorials-item .tutorials-item-detail .tutorial-type{align-items:center;color:var(--fm-orange-2);display:flex;font-size:var(--fm-font-12);font-weight:var(--fm-fw-bold);gap:var(--fm-space-6);text-transform:uppercase}.tutorials-item .tutorials-item-detail .tags{display:flex;flex-flow:row wrap;gap:var(--fm-space-6) var(--fm-space-12)}.tutorials-item .tutorials-item-detail .tags .tag{border:1px solid var(--fm-gray-4);border-radius:2;color:var(--fm-gray-4);font-size:var(--fm-font-12);font-weight:var(--fm-fw-bold);padding:2px 4px;text-transform:uppercase}.tutorials-item .tutorials-item-detail h2{font-size:var(--fm-font-16);margin:0}.tutorials-item .tutorials-item-detail .tutorial-item-detail-bottom{align-items:flex-end;display:flex;flex-flow:row nowrap;flex-grow:1;justify-content:space-between}.tutorials-item .tutorials-item-detail .tutorial-item-detail-bottom .creator{color:var(--fm-gray-4);font-size:var(--fm-font-12)}.tutorials-item .tutorials-item-detail .tutorial-item-detail-bottom .creator>span{font-weight:var(--fm-fw-bold);text-transform:uppercase}.tutorials-item .tutorials-item-detail .tutorial-item-detail-bottom .info-icon{height:18px;position:relative;width:18px}.tutorials-item .tutorials-item-detail .tutorial-item-detail-bottom .info-icon:hover{color:var(--fm-gray-6)}.tutorials-item .FM-BtnBookmark{--bookmark-size:24px;position:absolute;right:var(--fm-space-6);top:var(--fm-space-6)}.FeaturedTutorialContainer{container:FeaturedTutorial/inline-size}.FeaturedTutorialContainer .tutorials-item{background:var(
      --Gradients-blue-black,linear-gradient(246deg,#232326 14.26%,#02284d 79.86%)
    );flex-flow:column nowrap}.FeaturedTutorialContainer .tutorials-item .tutorials-item-detail{padding:var(--fm-font-24) var(--fm-font-36)}.FeaturedTutorialContainer .tutorials-item .tutorials-item-detail h2{font-size:var(--fm-font-24);margin:0}.FeaturedTutorialContainer .tutorials-item .tutorials-item-detail .tutorial-summary{min-height:45px}@container FeaturedTutorial (min-width: 900px){.FeaturedTutorialContainer .tutorials-item{flex-flow:row nowrap}.FeaturedTutorialContainer .tutorials-item h2{--line-count:1}}@supports (interpolate-size:allow-keywords){.tutorials-item .exclusive-tag>span{transition-delay:0;transition-duration:.3s;transition-timing-function:ease}.tutorials-item .exclusive-tag:hover>span{transition-delay:.3s}}.ReviewsSocialProof{display:inline-block;margin:auto;width:-moz-max-content;width:max-content}.ReviewsSocialProof .SocialProof{align-items:center;color:#fff;gap:var(--fm-space-12);justify-content:center}.ReviewsSocialProof .SocialProof .loved-by{display:flex;flex-flow:column;gap:var(--fm-space-12)}.ReviewsSocialProof .SocialProof .loved-by .stars{gap:var(--fm-space-6)}.ReviewsSocialProof .SocialProof .avatar-group{align-items:center;display:flex;justify-content:center}.ReviewsSocialProof .SocialProof .avatar{position:relative;transition:.2s}.ReviewsSocialProof .SocialProof .avatar:not(:first-child){margin-left:-1.5rem}.ReviewsSocialProof .SocialProof .avatar-name{background-color:rgba(0,0,0,.7);border-radius:.25rem;bottom:calc(100% + .5rem);color:#fff;font-size:.875rem;left:50%;opacity:0;padding:.5rem .75rem;position:absolute;transform:translateX(-50%);transition:.2s;visibility:hidden;white-space:nowrap}.ReviewsSocialProof .SocialProof .avatar-name:before{border:.5rem solid transparent;border-top-color:rgba(0,0,0,.7);content:"";left:50%;position:absolute;top:100%;transform:translateX(-50%)}.ReviewsSocialProof .SocialProof .avatar img{border:3px solid #494949;border-radius:50%;box-shadow:0 .25rem 1rem rgba(0,0,0,.1);display:block;height:4rem;-o-object-fit:cover;object-fit:cover;width:4rem}@media (max-width:767px){.ReviewsSocialProof .text{margin-top:var(--fm-space-12)}.ReviewsSocialProof .stars{order:2}}@media (min-width:768px){.ReviewsSocialProof .SocialProof,.ReviewsSocialProof .SocialProof .loved-by .stars{display:flex}}.LoggedOutMessage{aspect-ratio:16/9;background:linear-gradient(rgba(0,0,0,.4),rgba(0,0,0,.4)),var(--bg-image);background-repeat:no-repeat;background-size:100%;flex-flow:column}.LoggedOutMessage,.LoggedOutMessage .trial-message{align-items:center;display:flex;justify-content:center}.LoggedOutMessage .trial-message{background:var(--fm-gray-1);border-radius:var(--fm-radius-medium);box-shadow:4px 4px 24px 0 rgba(0,0,0,.8);flex-flow:column nowrap;gap:var(--fm-space-48);margin:0 var(--fm-space-64);padding:var(--fm-space-48)}.LoggedOutMessage .trial-message .members-only{color:var(--fm-orange-1);font-weight:var(--fm-fw-bold);text-transform:uppercase}.LoggedOutMessage .trial-message .FM-Heading-1{line-height:normal}.LoggedOutMessage .trial-message .free-highlight{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='108' height='6' fill='none' viewBox='0 0 108 6'%3E%3Cg fill='%23F09E14' clip-path='url(https://static.frontendmasters.com/assets/fm/js/undefined)'%3E%3Cpath d='m85.902 2.808-.042.115c.042-.077.084-.115.042-.115m11.59 1.038h-.042c-.083.154-.042.116.041 0m-74.728-2.23-.25-.154c.083.153.166.192.25.153M14.33 3.691l.042.116c0-.077 0-.116-.042-.116m-5.026.462c-.125-.039-.29-.039-.415-.039.083.039.29.039.415.039M7.27 1.924c-.042.038-.083.038-.166.076.083-.038.124-.077.166-.077M21.89 3.768l.208.346a1.5 1.5 0 0 0-.208-.346m-13.79.693c-.084-.077-.167-.077-.25-.116 0 .077.125.116.25.116m42.12-.077c-.042.038-.084.077-.084.115.125-.038.125-.077.083-.115M33.604 4h-.041s.041.038.083.038zm4.86 0-.083.077c.083-.039.083-.039.083-.077m-8.515.346c-.042.039-.125.077-.166.116z'/%3E%3Cpath d='M108 2.308c-.415-.231-1.952-.462-2.409.115-.083-.038.042-.115.083-.154-.374.077-.914.039-1.495 0-.582-.038-1.205-.077-1.745 0-.415.577-1.62-.23-1.994.539l.208-.154c.374.192-.499.538-.623.73-.332-.46-.042-.384-.416-.769l.457.154-.124-.384c-1.288 1.077-2.576-.347-3.406.423.041-.039.041-.116.083-.154-.582-.192-.956.308-1.371.461-.042-.192.25-.346.457-.5-.997-.115-2.659.462-3.739.154-.373.27.167.346-.249.577-.332-.077-.581-.27-.166-.423-.955-.461-3.157.385-4.61-.077-.748.308-.291.423-1.455.616.291-.193-.29-.654.416-.654l.083-.193c-1.163-.038-2.742-.115-3.365.462-.041-.423-.207-.077-.664-.308-.166.039 0 .077.083.077-.416.346-.665-.038-.956.039l.125-.077-.83.269c-.126-.077-.333-.154-.375-.27v.308c-.457 0-.207-.384-.789-.307l.125.23c-.374-.153-.914.154-.997-.192 0-.077.041-.038.166-.038-.54-.462-1.454.115-2.118-.116l.166.5c-.665.154-.416-.115-.374-.269-.457 0-.54-.154-1.122-.23-.29.115-.166.192-.249.307l-.623-.154.415-.27c-.955.693-2.326-.153-2.99.462-.333-.153.332-.269.124-.384-1.08-.346-2.492.384-3.406 0-1.495-.385-3.24-.154-4.902-.423l.042.115-1.205-.154c-.332.27-1.121.116-1.661.423.041-.115-.042-.269.083-.346-.498.039-1.08.154-1.37-.038l.165-.116c-1.121-.115-2.658-.192-3.281.039-.374 0-.374-.23-.457-.385-.665-.038-1.08.077-1.62.27-.125-.077-.29-.116-.416-.231l-.249.307c-.249-.038-.041-.269-.249-.346-1.038.346-2.201-.038-2.908-.038l.083.154c-.29.115-.872-.116-.498-.27-1.412-.23-2.118.462-3.988.308-.249-.577-1.703.115-1.994-.538-.789.153-1.329-.116-1.869.23 0-.077-.083-.077.042-.115-.333-.23-1.371-.077-2.202.077l-.041-.192c-.374.461-1.745.346-2.036.769-.083-.077.166-.192.291-.27-.415-.422-.748.193-1.288.078.042-.116-.124-.231 0-.308-1.827-.462-4.403.27-6.77-.039-.665 0 .249.462-.623.423-.25-.23.415-.423-.125-.538-.374.27-.54.192-1.08.192.083-.154 0-.23.374-.346-.291-.192-1.288.346-1.87 0 .042.116-.083.192-.207.27-.872.384-2.036-.347-2.119-.154 0 0-.29.076-.041.115-.332 0-.79-.077-.706-.27-.166.116-.333.308-.582.308l.125-.23c-.166.038-.333.192-.457.23l.249.154c-.374-.192-1.08.308-1.08-.154h.125l-.706-.192c-.291.192-.54.385-1.039.346-.208-.5-1.205-.077-1.786-.115l.041-.154c-.456.23-1.661.154-1.453.23-.457 0-1.08-.076-.831-.23-.333.038-1.122.038-1.33.346l-.747-.384c-.415.615-1.495-.193-1.495.461-.416-.077-.333-.23-.624-.346-.581.346-1.163.308-1.744.27v-.078c-.582-.038-1.288.308-2.119.385l-.207-.462c-.416.077-.54.462-.956.385-.083-.077 0-.115.083-.115-.415.115-.955.038-1.287-.077-.623.384-1.122.269-1.62.692-.54-.385.706-.23.249-.615-.914-.154-1.828.153-2.783.423-.083-.077 0-.154.041-.27 0 0-.498.347-.914.693-.415.384-.789.807-.581 1.038-.208.346-.499.539.374.77.249-.193 1.038-.5 1.204-.154l.042-.347c1.08-.23.166.693 1.495.616l-.29-.116c.249-.038.456-.269.747-.192.083.077-.083.154-.207.23.373-.191.706-.345 1.08-.538.041.193.041.308-.167.462 1.039-.077-.249-.615.997-.539.25.154-.083.231-.207.347.581.269.955-.039 1.578-.231.042.308-.374.27.125.461-.125-.153-.208-.423.207-.461-.166.308.291.154.665.192-.083-.115-.042-.23.083-.308.166-.038.332.039.582.039l-.457-.27c.623-.307.997.116 1.495.231-.041.039-.125.116-.208.116.499.115 1.039.346 1.704.038l-.125.039c1.204-.346-.416-.5.997-.846.457.038-.166 1 .872.615-.54-.23.665-.654 1.288-.77l-.623.616c.249 0 .664-.192.83-.115l-.041-.116c-.083-.5.79.039 1.246-.269-.54.692-.581.577-.665 1.23.416-.384.914-.73 1.704-.691l-.624.538c1.039.077 2.285-.73 3.157-1.154-.207.385.125.539-.249.846L19.814 4l-.29.423c.415-.461.872-.154.789-.73-.125.076-.083.153-.291.115.041-.154.208-.539.706-.5.374.115-.208.23-.083.384.332-.23.374.116.706-.038l-.332-.23c.249-.347.581-.04.914-.193-.416.154-.291.346-.125.538l-.042-.038c.333-.039.665-.27.831-.077l-.207.461.373-.346c.125.039.25.231 0 .308 1.163.27-.041-.962 1.496-.577 0 .192-.166.308-.582.192-.083.27.042.423.457.539v.038c.79 0 1.828 0 2.326-.307.166.115 0 .23-.166.346.872.154 1.163-.27 2.077.038l-.415-.154c.581-.23 1.661-.307 2.201.039l-.166.115c.54-.27 1.454.23 1.662 0-.25-.154 0-.23-.333-.384l1.413-.27.083.462.747-.154c-.166-.192.997.154 1.039-.27.415.155-.166.347-.332.54.415-.116.456.076.872-.193l.415.423 1.08-.27c-.041.04 0 .078-.041.116.498-.346 1.287.23 1.91-.346-.041.038-.041.038-.041.077.374-.308 1.204-.077 1.537 0 .581-.077.249-.385.249-.539 1.62.154 1.122.116 2.492-.346.831.539-.997.808.042 1.154.166-.23.872-.423 1.703-.5.748.192 1.994.346 2.7.73l-.083-.345 1.08-.154-.623.461c.166-.115.706-.307 1.08-.461 1.121-.27.581.73 1.454.27.041.038.041.076.083.115.29-.231.997-.116 1.827-.193l-.29.423-.54-.115c.29.423.872-.039 1.412 0 .54-.115.29-.5.581-.615.208.038.499-.077.665.038.457.154.042.5-.125.692.416-.423.582-.346 1.496-.5.041.193-.042.308-.166.346.207-.038.374-.115.498-.307l.29.269c1.04.385 1.08-.77 2.327-.577-.332.23 1.08 0 1.454.27-.457.038.166.615-.083.884.997.192.415-.5 1.246-.539l-.374.5c.79-.192.208-.269.997-.423-.208.154.332.154-.124.308 1.038.077.789.039 1.703.115l.083-.5c.29-.038.415.193.498.27-.125 0-.332-.039-.29.038.332.462.58-.23.996.192-.083-.153-.207-.384.166-.423-.124.308.582.308.582.462-.25-.23.83-.077.872-.385.416.27-.166.231-.166.423.374-.384 1.537 0 1.91-.23 0 .038.042.038.042.077.499-.231 1.247-.27 2.202-.577l-.332.269c.913.154.581-.577 1.37-.577-.166.423 1.288 0 .914.461.457-.23.956-.307 1.288-.653.415.23-.872.538-.25.692l.665-.192.125.23c.041-.153.623-.153.582-.307.083.269.373.461.332.692.415-.077.997.192 1.37-.038l.042.115c.415-.5 1.288-.077 1.495-.577l.25.27c.623-.04.54-.578.83-.693.25 0 .582-.077.831 0-.83.308.416.423.582.615.332 0 1.287 0 1.537-.269-.416.27-.166.462-.873.5.374.5 1.08-.077 1.87-.038v.23c1.121-.153 1.163-.577 1.661-.961.125.308.042.384-.29.654.747.192 1.952-.039 2.782 0 .25.192.084.346-.207.423.872-.231 1.952.038 2.492-.462-.208.193.374.116.665.231 0-.115.041-.23.083-.23.54-.232 1.703-.424 2.326-.27l-.208.154c.706.038 1.246-.192 1.786-.346s1.08-.308 1.87-.154c.29.115-.291.423.29.384.291-.192.167-.576.914-.5l-.041.347.498-.347c-.29-.269-1.08-.153-.54-.461.665.308.54-.346 1.37 0-.165.038-.415.308-.54.461.832.154 1.413.039 1.995-.038.581-.115 1.163-.23 2.035-.077.831-.308 1.911-.461 2.451-.73 0 .345 0 .653-.332.922.747 0 .997-.807 1.537-.346.29-.5 1.952-.461 2.076-1.154z'/%3E%3Cpath d='M24.134 4.27c-.415 0-.79 0-.955.076.083.077.955.231.955-.077m62.35.845c-.042 0-.125.039-.167.039.042 0 .125 0 .166-.039m3.364-.153a.6.6 0 0 0-.166-.116c0 .116.041.193.166.116m-15.702.307c.291-.154.416-.269.416-.384-.166.038-.291.115-.416.384m-6.438-.423c-.042.039-.083.039-.125.077.125-.038.125-.077.125-.077m-13.625-.23c.291-.154.665-.116.997-.193-.29.077-.789-.115-.997.192m39.836-.231-.291.23.332-.153zm-3.116.23c-.124-.038-.706.116-.54.231.166-.115.374-.192.54-.23m-12.046-.23-.124.23.29-.192z'/%3E%3C/g%3E%3C/svg%3E");background-position:bottom;background-repeat:no-repeat;background-size:contain;color:var(--fm-green-2);display:inline-block;margin:0 -4px;padding:0 4px}.LoggedOutMessage .trial-message .FM-Features{font-size:var(--fm-font-14);gap:var(--fm-space-36);margin-bottom:var(--fm-space-12);margin-top:var(--fm-space-24)}.LoggedOutMessage .trial-message .FM-Features .feature-item{align-items:center;display:flex;flex-flow:row nowrap;gap:var(--fm-space-6);justify-content:center;white-space:nowrap}.LoggedOutMessage .trial-message .FM-Features .feature-item .icon{font-size:var(--fm-font-18);height:auto}.LoggedOutMessage .trial-message .FM-Features .feature-item .icon svg{height:34px;margin-right:-18px}.FM-Features{display:flex;font-size:var(--fm-font-18);gap:calc(var(--fm-space-64)*2);justify-content:center}.FM-Features .feature-item{text-align:center}.FM-Features .feature-item .icon{background:linear-gradient(90deg,var(--fm-red-1),var(--fm-orange-2));-webkit-background-clip:text;background-clip:text;color:transparent;display:block;font-size:56px;font-weight:700;height:70px;overflow:hidden}@media screen and (width < 1024px){.FM-Features{display:grid;grid-template-columns:repeat(2,200px);justify-items:center;grid-gap:var(--fm-space-48)}}@media screen and (width < 650px){.FM-Features{grid-template-columns:1fr}}.carousel-sections{display:flex;flex-flow:column nowrap;gap:var(--fm-space-36);margin-bottom:var(--fm-space-36)}.carousel-sections[data-carousel-sections=search]:empty{margin-bottom:0;position:absolute;z-index:-1}.carousel-sections[data-carousel-sections=search]:not(:empty)~.FeaturedTutorialContainer,.carousel-sections[data-carousel-sections=search]:not(:empty)~.carousel-sections{display:none}.carousel-sections[data-carousel-sections=search]:empty~.carousel-sections{display:flex}.carousel-sections[data-carousel-sections=search] .CarouselLoadingWrapInitial,.carousel-sections[data-carousel-sections=search] .TutorialLoadingWrap{display:flex;justify-content:center}.carousel-sections[data-carousel-sections=search] .CarouselLoadingWrapInitial{min-height:10000px}.carousel-sections .carousel-section header{align-items:center;border-bottom:1px solid var(--fm-gray-3);display:flex;gap:var(--fm-space-6);margin-bottom:var(--fm-space-24);padding-bottom:var(--fm-space-12);position:relative;z-index:2}.carousel-sections .carousel-section header .carousel-section-title{align-items:center;display:flex;flex-flow:row nowrap;gap:var(--fm-space-6);height:var(--fm-space-24)}.carousel-sections .carousel-section header .carousel-section-title img{width:unset}.carousel-sections .carousel-section header .carousel-section-title strong{font-size:var(--fm-font-18);font-weight:var(--fm-fw-bold);text-transform:uppercase}.carousel-sections .carousel-section header .carousel-section-title .search-count{color:var(--fm-gray-5)}.carousel-sections .carousel-section header .carousel-section-title .carousel-section-more{margin-left:var(--fm-space-6)}.carousel-sections .carousel-section header .carousel-section-title .clear-search{font-size:var(--fm-font-14)}.carousel-sections .carousel-section header .carousel-controls{align-items:center;color:var(--fm-gray-3);display:flex;flex-flow:row nowrap;font-size:var(--fm-font-16);font-weight:var(--fm-fw-normal);gap:var(--fm-space-12);justify-content:flex-end;margin-left:auto;position:relative}.carousel-sections .carousel-section header .carousel-controls .tutorial-sort{position:absolute}.carousel-sections .carousel-section .searchable-page-grid{display:grid;gap:var(--fm-space-24);grid-template-columns:1fr}@media (min-width:650px){.carousel-sections .carousel-section .searchable-page-grid{grid-template-columns:1fr 1fr}}@media (min-width:900px){.carousel-sections .carousel-section .searchable-page-grid{grid-template-columns:1fr 1fr 1fr 1fr}}.box-of-stars{--fill-percentage:0;--fill-color:#f09e14;--bg-color:var(--fm-gray-0);--size:var(--fm-space-24);background:linear-gradient(to right,var(--fill-color) var(--fill-percentage),var(--bg-color) var(--fill-percentage));display:flex;height:var(--size);width:-moz-max-content;width:max-content}.box-of-stars svg{border-right:3px solid var(--bg-color);box-sizing:content-box;height:var(--size);width:var(--size)}.box-of-stars svg:last-child{border-right:none}.Card-Tooltip{animation:cardFadeIn;animation-duration:.3s;animation-fill-mode:forwards;background:var(--fm-gray-1);border:1px solid var(--fm-gray-3);border-radius:var(--fm-radius-small);box-shadow:0 0 24px 0 rgba(0,0,0,.75);max-width:300px;opacity:0;padding:var(--fm-space-24);position:absolute;text-align:left;width:-moz-max-content;width:max-content;z-index:1000}.Card-Tooltip .detail-tooltip-content h2{font-size:var(--fm-font-16);margin:0}.Card-Tooltip .detail-tooltip-content .duration{color:var(--fm-gray-4);font-size:var(--fm-font-14)}.Card-Tooltip .detail-tooltip-content .star-rating{align-items:center;color:var(--fm-gray-4);display:flex;flex-flow:row nowrap;gap:var(--fm-space-6)}.Card-Tooltip .detail-tooltip-content .star-rating .box-of-stars{--size:var(--fm-space-18);--bg-color:var(--fm-gray-1)}.Card-Tooltip .detail-tooltip-content .description{font-size:var(--fm-font-14)}.Card-Tooltip .detail-tooltip-bottom{border-top:1px solid var(--fm-gray-3);margin-top:var(--fm-space-16);padding-top:var(--fm-space-16)}.Card-Tooltip .detail-tooltip-bottom .FM-Round-Thumbnail-Item .thumbnail{height:48px;width:48px}.Card-Tooltip .detail-tooltip-bottom .FM-Round-Thumbnail-Item .text .main{font-size:var(--fm-font-14)}.Card-Tooltip .detail-tooltip-bottom .FM-Round-Thumbnail-Item .text .secondary{font-size:var(--fm-font-12)}.Card-Tooltip .arrow{background:var(--fm-gray-1);border-bottom:1px solid transparent;border-left:1px solid var(--fm-gray-3);border-right:1px solid transparent;border-top:1px solid var(--fm-gray-3);height:10px;position:absolute;width:10px}@keyframes cardFadeIn{0%{opacity:0}to{opacity:1}}.TutorialVideoHero{background:var(--fm-gray-0)}.TutorialHeader{align-items:flex-start;border-bottom:1px solid var(--fm-gray-3);display:flex;flex-flow:row nowrap;gap:var(--fm-space-24);justify-content:space-between;margin-bottom:var(--fm-space-24);padding-bottom:var(--fm-space-24)}.TutorialHeader .exclusive-tag{align-items:center;border:1px solid var(--fm-gray-4);border-radius:2;color:var(--fm-gray-4);display:inline-flex;font-size:var(--fm-font-12);font-weight:var(--fm-fw-bold);gap:var(--fm-space-6);padding:2px 4px;text-transform:uppercase}.TutorialHeader .tutorial-buttons{align-items:center;display:flex;flex-flow:row nowrap;gap:var(--fm-space-24);justify-content:flex-start}.TutorialHeader .tutorial-buttons .like-button{align-items:center;color:var(--fm-gray-5);display:flex;flex-flow:column nowrap;gap:4px;opacity:0;transition:opacity .3s}.TutorialHeader .tutorial-buttons .like-button.like-button.loaded{opacity:1}.TutorialHeader .tutorial-buttons .like-button button{background:none;border:none;color:inherit}.TutorialHeader .tutorial-buttons .like-button button .label{display:none}.TutorialHeader .tutorial-buttons .like-button button:hover,.TutorialHeader .tutorial-buttons .like-button.liked button{color:var(--white)}.TutorialHeader .tutorial-buttons .like-button.liked button .icon-bg,.TutorialHeader .tutorial-buttons .like-button.liked button .icon-outline{color:transparent;fill:var(--white)}.TutorialHeader .tutorial-buttons .like-button.liked button .icon-stripe{stroke:var(--black)}.TutorialHeader .tutorial-buttons .bookmark{padding:var(--fm-space-12)}.TutorialDetails{display:flex;flex-flow:column nowrap;gap:var(--fm-space-24);line-height:1.4}.TutorialDetails>div+div{flex:0 0 calc(50% - 18px);overflow:hidden}.TutorialDetails>div .topics-and-date{display:flex;flex-flow:row nowrap;gap:var(--fm-space-12)}.TutorialDetails>div .topics-and-date .tutorial-topics{display:flex;flex-flow:row wrap;gap:var(--fm-space-6) var(--fm-space-12)}.TutorialDetails>div .topics-and-date .tutorial-topics .tutorial-topic{border:1px solid var(--fm-gray-4);border-radius:2;color:var(--fm-gray-4);font-size:var(--fm-font-12);font-weight:var(--fm-fw-bold);padding:2px 4px;text-transform:uppercase}.TutorialDetails>div .topics-and-date .publish-date{color:var(--fm-gray-4);font-size:var(--fm-font-14);margin-top:2px;white-space:nowrap}.TutorialDetails>div .tutorial-resources .tutorial-resources-header{margin-bottom:var(--fm-space-12)}.TutorialDetails>div .tutorial-resources .tutorial-resource{display:flex;flex-flow:row nowrap;gap:var(--fm-space-6);white-space:nowrap}.TutorialDetails>div .tutorial-resources .tutorial-resource>*{display:block}.TutorialDetails>div .tutorial-resources .tutorial-resource>a{overflow:hidden;text-overflow:ellipsis}@media screen and (min-width:768px){.TutorialDetails{flex-flow:row nowrap;gap:var(--fm-space-36)}}@media screen and (min-width:950px){.FM-Media-Carousel{--carousel-count:4}}