html{min-width:320px;-moz-osx-font-smoothing:auto;-webkit-font-smoothing:auto}body{line-height:1.4;color:#363636;background:#ffffff;text-rendering:optimizeLegibility;min-width:320px;overflow-x:hidden;margin:0;padding:0;top:0;left:0;background-color:#fff;font-family:"Open Sans",Georgia,sans-serif;font-weight:400;font-size:calc( 16px + (18 - 16) * ((100vw - 400px) / (1200 - 400)));-ms-overflow-style:scrollbar}@-moz-document url-prefix(){body{font-weight:lighter !important}}button,input,textarea{transition:background-color 0.1s linear, border-color 0.1s linear, color 0.1s linear, box-shadow 0.1s linear, -webkit-transform 0.1s ease;transition:background-color 0.1s linear, border-color 0.1s linear, color 0.1s linear, box-shadow 0.1s linear, transform 0.1s ease;transition:background-color 0.1s linear, border-color 0.1s linear, color 0.1s linear, box-shadow 0.1s linear, transform 0.1s ease, -webkit-transform 0.1s ease}h1{font-size:2.2em;margin-top:0}h1,h2,h3,h4,h5,h6{margin-bottom:12px}h1,h2,h3,h4,h5,h6,strong{color:#000000}h1,h2,h3,h4,h5,h6,b,strong,th{font-weight:600}button,input[type='submit'],input[type='button'],input[type='checkbox']{cursor:pointer}input:not([type='checkbox']):not([type='radio']),select{display:block}input,select,button,textarea{color:#000000;background-color:#efefef;font-family:inherit;font-size:inherit;margin-right:6px;margin-bottom:6px;padding:10px;border:none;border-radius:6px;outline:none}input:not([type='checkbox']):not([type='radio']),select,button,textarea{-webkit-appearance:none}textarea{margin-right:0;width:100%;box-sizing:border-box;resize:vertical}button,input[type='submit'],input[type='button']{padding-right:30px;padding-left:30px}button:hover,input[type='submit']:hover,input[type='button']:hover{background:#dddddd}input:focus,select:focus,button:focus,textarea:focus{box-shadow:0 0 0 2px #0096bfab}input[type='checkbox']:active,input[type='radio']:active,input[type='submit']:active,input[type='button']:active,button:active{-webkit-transform:translateY(2px);transform:translateY(2px)}input:disabled,select:disabled,button:disabled,textarea:disabled{cursor:not-allowed;opacity:0.5}a{text-decoration:none;color:#0076d1}a:hover{text-decoration:underline}img{max-width:100%}hr{margin-top:3rem;border:none;border-top:1px solid #dbdbdb}main{background-color:#fff;position:relative;margin:0 auto 2rem auto;padding:2rem 2rem 8rem 2rem;width:calc(100% - 8rem);max-width:72rem;min-height:50rem;z-index:2;display:flex;flex-direction:column;overflow-x:hidden}main h1{text-align:center;margin:3rem 1rem;padding:0}main h2,main h3,main h4,main h5{padding:1rem 0;margin:0 1rem}main ul{margin:0 auto}@media (max-width: 480px){main{width:90%;padding-left:4%;padding-right:4%;max-width:100vw;margin-bottom:0}}button,.button{font-family:"Varela Round",sans-serif;font-weight:900}button.disabled,button:disabled,.button.disabled,.button:disabled{pointer-events:none;opacity:0.25}.intro-scroll-down,#back-to-top{border-radius:50%}.intro-scroll-down svg,#back-to-top svg{position:absolute;width:100% !important;height:100%;left:0;top:0}.intro-scroll-down{position:relative;width:4rem;height:4rem;padding:0}.button-menu{top:0.5rem;font-size:0.7em;transition:color .3s ease-in-out,border .3s ease-in-out,top .5s ease-out;position:relative;border-radius:6px;color:#535759;background:#e5e5e5;font-family:"Varela Round",sans-serif;padding:0.25rem 1rem;font-weight:900;letter-spacing:0.075em;text-transform:uppercase;z-index:99;line-height:1.5}.button-menu:hover{transition:color .3s ease-in-out,border .3s ease-in-out;color:#18bfef;border:1px solid #18bfef}.small-screen-only{display:none}@media (max-width: 980px){.small-screen-only{display:block}}figure{position:relative;margin-right:40%;padding:0 1rem}figure img,figure video,figure a+img{max-width:95% !important;object-fit:contain;padding:1rem}figure{text-align:center;padding:0 1rem 2rem}figure.noborder img,figure.noborder a+img{border:0 !important;box-shadow:none !important}figure img{padding:0}footer{display:flex;flex-direction:column;font-family:"Varela Round",sans-serif;font-weight:900;position:relative;margin:0;padding:2rem 0;width:100vw;z-index:2;color:rgba(255,255,255,0.25);background-color:#2e3336;cursor:default;letter-spacing:0.075em;line-height:1.5;text-align:center}footer a{color:#bbb;border-bottom-color:inherit}footer ul{margin:auto;padding-left:0;max-width:90%;list-style:none}footer ul li{display:inline-block;margin:0.25rem;padding:0 0.5rem 0 0.75rem;border-left:solid 2px}footer ul li:first-child{border-left:0;margin-left:0;padding-left:0}form{display:flex;align-items:center;justify-content:center}form input{margin-right:0.5rem;border:1px solid silver;border-radius:3px}form p{display:none}form.contact{align-items:left;flex-direction:column}form.contact *{align-self:flex-start}form.contact input{min-width:20rem}header{padding:4rem 1rem 8rem}header a{display:flex;align-items:center;justify-content:center;max-width:90vw;margin:auto}header img{max-width:55rem;width:90%;margin:auto}.icon{display:inline-block;font-size:inherit;height:1em;overflow:visible;vertical-align:-0.125em;width:1em}label{width:auto}ul,ol{font-family:"Varela Round",sans-serif}section{padding:2rem 0 0}section>h2,section>h3,section>h4,section>h5,section>h6,section>figure{text-align:center}section>h2,section>h3,section>h4,section>h5,section>h6,section>p,section>figure,section>form{margin-left:auto;margin-right:auto;padding-left:3rem;padding-right:3rem}@media (max-width: 736px){section>h2,section>h3,section>h4,section>h5,section>h6,section>p,section>figure,section>form{padding-left:0.25rem;padding-right:0.25rem}}section .diagrams{display:flex;flex-wrap:wrap;max-width:50rem;margin:0 auto}section figure{position:relative;border-radius:6px;padding:1rem;border:1px solid silver;box-shadow:1px 1px 10px 1px silver}section.about-the-book{display:flex;flex-direction:column;align-items:center}section .logo-title{display:flex;align-items:center;justify-content:center;flex-wrap:wrap}section .logo-title .logo{height:auto;width:10vw;min-width:5rem}section .editor-video{width:100%;max-width:50rem;margin:auto;overflow:hidden;border-radius:6px;display:flex;justify-content:center;align-items:center}h1,h2,h3,h4,h5,h6{font-family:"Varela Round",sans-serif;font-weight:900;color:#212931}p{line-height:1.6}.ribbon{position:absolute;top:0;left:0;height:auto;padding:2rem 4em 2rem;transition:background 0.2s ease-in-out, box-shadow 0.2s ease-in-out;-webkit-transform:translateY(-100%) rotate(0) translateX(-29.28932188%) rotate(-45deg);transform:translateY(-100%) rotate(0) translateX(-29.28932188%) rotate(-45deg);-webkit-transform-origin:bottom right;transform-origin:bottom right;text-decoration:none;pointer-events:all;color:#f4f4f4;border:3px solid silver;background:linear-gradient(to bottom, #5aabd6, #478598);box-shadow:6px 4px 14px 5px black;text-shadow:1px 2px 1px #030808;font-family:'Varela Round', sans-serif;font-size:1.5rem;font-weight:bold}@media (max-width: 736px){.ribbon{padding:1rem 2.75em 1rem;font-size:1.25rem}}.ribbon:hover,.ribbon:focus{text-decoration:none;background:linear-gradient(to bottom, #a0d2ec, #4f92a7);box-shadow:1px 9px 14px 5px black;text-shadow:2px 2px 1px #030808}.columns{display:flex;flex-direction:row;flex:1;flex-wrap:wrap;justify-content:space-evenly;max-width:50rem;margin:0 auto}.columns .column{min-height:10rem;margin:1rem;flex-basis:30%;flex-shrink:1;flex-grow:1;min-width:15rem}.columns .column:last-child:nth-child(odd){max-width:20rem}.columns .column *{text-align:center}.columns figure{position:relative;border-radius:6px;padding:1rem;border:1px solid silver;box-shadow:1px 1px 10px 1px silver}.loading{display:flex;position:absolute;left:50%;top:0;height:100%;pointer-events:none;justify-content:center;align-items:center;opacity:0.5}.loading.fade-out{-webkit-animation:fade-opacity 1s forwards ease-out;animation:fade-opacity 1s forwards ease-out}.satellite{position:relative;width:96px;height:96px;-webkit-animation:satellite 3s infinite linear;animation:satellite 3s infinite linear;border:3px solid #fff;border-radius:100%;box-shadow:0 0 30px #fff}.satellite:before,.satellite:after{position:absolute;content:'';border-radius:100%;background-color:#fff;box-shadow:0 0 10px #fff}.satellite::before{width:30px;height:30px;margin:48px}.satellite::after{width:48px;height:48px;margin:48px;left:-28px}@-webkit-keyframes satellite{from{-webkit-transform:translate(-50%, -50%) rotate(0);transform:translate(-50%, -50%) rotate(0)}to{-webkit-transform:translate(-50%, -50%) rotate(360deg);transform:translate(-50%, -50%) rotate(360deg)}}@keyframes satellite{from{-webkit-transform:translate(-50%, -50%) rotate(0);transform:translate(-50%, -50%) rotate(0)}to{-webkit-transform:translate(-50%, -50%) rotate(360deg);transform:translate(-50%, -50%) rotate(360deg)}}@-webkit-keyframes fade-opacity{from{opacity:0.5}to{opacity:0}}@keyframes fade-opacity{from{opacity:0.5}to{opacity:0}}.nav{font-size:0.7em;position:relative;width:calc(100% - 7rem);max-width:72rem;height:auto;margin:0 auto;padding:0 2rem;white-space:nowrap;background:rgba(255,255,255,0.175);overflow:hidden;z-index:999}@media (max-width: 1280px){.nav{width:calc(100% - 6rem)}}@media (max-width: 980px){.nav{display:none}}.nav ul{display:flex;flex-wrap:wrap;max-width:inherit;width:100%;align-items:center;justify-content:center;font-family:"Varela Round",sans-serif;font-weight:900;padding-bottom:0}@media (max-width: 1280px){.nav ul{justify-content:unset}}.nav ul li{display:block;padding-left:0;transition:border-color 1s ease-in-out;transition:color 1s ease-in-out}.nav ul li:hover{border-color:#18bfef !important}.nav ul li:hover a{color:#18bfef}.nav ul li:first-child{border:5px solid white;padding:0.5rem;text-align:center;margin-right:3rem}.nav ul li:first-child a{padding:0}@media (max-width: 1280px){.nav ul li:last-child{padding-top:0.5rem;margin:auto}}.nav ul li a{padding:0.5rem 2rem 0 0;color:white}.nav-panel{position:fixed;transition:left .5s ease-out,right .5s ease-out;box-shadow:0 0 5px 5px rgba(0,0,0,0.5);color:#212931;height:100vh;max-width:80%;overflow-y:auto;overflow-x:hidden;padding:4rem 1rem;top:0;width:300px;z-index:97;flex-direction:column;text-align:center}.nav-panel ul li{margin-left:0}.nav-panel.nav-right{transition:right .5s ease-in;right:-600px;background:#fff}.nav-panel.nav-right ul{min-height:50rem}.nav-panel.nav-right ul li{padding-top:1rem}.nav-panel.nav-right ul li a{border-bottom:0;display:inline-block;color:black;font-family:"Varela Round",sans-serif;font-weight:900;letter-spacing:0.075em;padding:0.75rem 0}.nav-panel ul{list-style:none;text-align:inherit;padding:0;margin:0;width:100%}.home-nav{position:fixed !important;border:1px solid black;right:1rem}.nav-panel-trigger{visibility:hidden;display:none}.nav-panel-right-trigger-label{float:right}#nav-panel-right-trigger:checked+label>.close-icon,#nav-panel-left-trigger:checked+label>.close-icon{display:inline}#nav-panel-right-trigger:checked+label>.open-icon,#nav-panel-left-trigger:checked+label>.open-icon{display:none}#nav-panel-right-trigger:checked~.nav-right{transition:right .5s ease-in-out,box-shadow .5s ease-out;box-shadow:0 0 5px 5px rgba(0,0,0,0.5);right:0}.close-icon{display:none;margin-right:0.5rem}.open-icon{margin-right:0.5rem}.nav-wrapper{position:relative;padding:0 1rem;width:calc(100% - 2rem);z-index:9999;display:flex;justify-content:space-between}.portrait{border-radius:50%}.portrait.big{width:16rem;height:16rem}.background{position:fixed;top:0;right:0;max-width:100vw;bottom:0;left:0;background-size:auto, auto, 100% 100%, auto;background-position:center, center, top, center;background-repeat:repeat, no-repeat, no-repeat;background-attachment:scroll, scroll, scroll;z-index:-1}#hero-container{position:absolute;top:0;left:0;width:100%;height:calc(100% + 24rem);z-index:-1}#intro{position:relative;display:flex;flex-direction:column;height:100%;max-height:2000px;-webkit-user-select:none;user-select:none;transition:opacity 1s ease, -webkit-transform 1s ease;transition:opacity 1s ease, transform 1s ease;transition:opacity 1s ease, transform 1s ease, -webkit-transform 1s ease;text-align:center;pointer-events:none;justify-content:flex-end;align-items:center}#intro>canvas{pointer-events:all}#intro #introDownButton{pointer-events:all;color:#fff;border-color:#fff;margin-bottom:2rem;box-shadow:inset 0 0 0 2px #fff;font-size:3em;font-weight:bolder;transition:color 0.2s ease-in-out, border-color 0.2s ease-in-out}#intro #introDownButton:hover,#intro #introDownButton:focus{color:#18bfef;border-color:#18bfef;box-shadow:inset 0 0 0 2px #18bfef}@media (max-width: 736px) and (orientation: portrait){#intro #introDownButton{margin-bottom:3rem}}@media (max-height: 736px) and (orientation: landscape){#intro #introDownButton{margin-bottom:0.5rem}#intro #introDownButton.intro-scroll-down{width:3.5rem;height:3.5rem}}.wrapper{position:absolute;height:100%;overflow-x:hidden;width:101vw;z-index:-1;background-color:#fff}.table-of-contents-large{border:1px solid silver;border-radius:6px;box-shadow:1px 1px 10px 1px silver;margin-top:2rem;padding-top:2rem}.table-of-contents-large .section-head{font-size:130%;font-weight:bolder}.table-of-contents-large li{border-bottom:1px dashed #18bfef;display:flex;flex-direction:row;justify-content:flex-start;font-size:110%;margin-bottom:1rem;padding-bottom:0}.table-of-contents-large li.unavailable{color:grey}.table-of-contents-large li span,.table-of-contents-large li a{margin-right:2rem}.table-of-contents-large li a{color:black}
