:root{--white:#fff;--black:#000;--black10:rgba(0,0,0,.1);--primary:#0d2f59;--primary-light:#b8d4f5;--primary-med:#94bff0;--primary-dark:#0a2342;--secondary:#2ba188;--secondary-light:#effbf8;--secondary-med:#3eccad;--secondary-dark:#1a6152;--secondary-light90:#e9f6f3}*{margin:0;padding:0;box-sizing:border-box}html{font-size:14px;height:100%;position:relative;min-height:100%}body{min-height:100%;height:100%;margin:0;font-family:'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif;font-size:16px;background-color:#fff;overflow:hidden}@media(min-width:768px){html{font-size:16px}}h4{font-size:.9em}.f{display:flex}.f.c{flex-direction:column}.f1{flex:1}.f2{flex:2}.fWrap{flex-wrap:wrap}.acCenter{align-content:center}.aiCenter{align-items:center}.aiStart{align-items:start}.jcBetween{justify-content:space-between}.jcCenter{justify-content:center}.jcEnd{justify-content:end}.textCenter{text-align:center}.textSmall{font-size:.8em}.gap025{gap:.25em}.gap05{gap:.5em}.gap1{gap:1em}.margin025{margin:.25em}.pad025{padding:.25em}.pad05{padding:.5em}.pad1{padding:1em}.pad2{padding:2em}.padL1{padding-left:1em}.padV05{padding-top:.5em;padding-bottom:.5em}.padV1{padding-top:1em;padding-bottom:1em}.padT05{padding-top:.5em}.padT1{padding-top:1em}.padB05{padding-bottom:.5em}.padB1{padding-bottom:1em}.h100p{height:100%}.w100p{width:100%}.f700{font-weight:700}input[type=text],input[type=password],input[type=number],textarea,select{padding:.25em;border:1px solid var(--primary);border-radius:.5em}button,.button,input[type=button]{padding:.5em 1em;border-radius:.5em;box-shadow:none;border:1px solid var(--primary);color:var(--white);background-color:var(--primary);font-weight:500;font-size:1rem;cursor:pointer}button:disabled,.button:disabled,input[type=button]:disabled{border:var(--primary-light);background-color:var(--primary-light)}button:disabled:hover,.button:disabled:hover,input[type=button]:disabled:hover{border:var(--primary-med);background-color:var(--primary-med)}button:hover,.button:hover,input[type=button]:hover{background-color:var(--primary-dark);color:var(--white)}button:active,.button:active,input[type=button]:active{background-color:var(--primary-light);color:var(--primary)}button.light,.button.light,input[type=button].light{border:1px solid var(--primary-med);color:var(--primary);background-color:var(--secondary-light90)}button.light:hover,.button.light:hover,input[type=button].light:hover{background-color:var(--primary-light);color:var(--primary)}button.light:active,.button.light:active,input[type=button].light:active{background-color:var(--secondary);color:var(--primary-med)}button.light:disabled,.button.light:disabled,input[type=button].light:disabled{border:1px solid var(--primary-light);color:var(--primary-light)}button.sm,.button.sm,input[type=button].sm{padding:.3em .7em;font-size:.9rem}table{border-spacing:0}table thead tr{background:var(--secondary-med);color:#000}table thead tr th{padding:.5em;font-size:.9em;font-weight:500}table thead tr th.sort{cursor:pointer}table thead th[data-direction="asc"]:after{content:"▲";display:inline-block;margin-left:5px}table thead th[data-direction="desc"]:after{content:"▼";display:inline-block;margin-left:5px}table tbody tr:nth-child(2n+1){background-color:var(--secondary-light90)}table tbody tr td{padding:.5em .5em}table thead tr.altHead{background:var(--secondary-med50)}img.ofContain{object-fit:contain}img.sm{width:2em;height:2em}a{text-decoration:none;color:var(--primary)}.shadow{box-shadow:0 1px 3px 2px rgba(0,0,0,.12)}ul{list-style-type:none}ul.simpleList li{margin:.25em 0;padding:.2em}ul.simpleList li:nth-child(2n+1){background-color:var(--secondary-light90)}ul.simpleList li:hover{background-color:var(--secondary-med)}ul ul{margin-left:1em}#modalContainer{height:100%}#modalContainer .modal-content{overflow:auto;max-height:85vh}.cSecond{color:var(--secondary)}.border{border:1px solid var(--primary)}.is3d{cursor:pointer;box-shadow:0 2px 4px 0 rgba(0,0,0,.2),0 2px 6px 0 rgba(0,0,0,.19)}.hover3d:hover{cursor:pointer;box-shadow:0 4px 6px 0 rgba(0,0,0,.2),0 2px 10px 0 rgba(0,0,0,.19)}.hidden{display:none}.clickable{cursor:pointer}.textSm85{font-size:.85em}.w50{width:50px}.w60{width:60px}.w80{width:80px}.w120{width:120px}.mbHalf{margin-bottom:.5rem}.mbQuarter{margin-bottom:.25rem}.ml1{margin-left:1rem}img.thumb{width:80px;height:80px;object-fit:cover}img.iconSm{width:16px;height:16px}.br50p{border-radius:50%}.z999{z-index:999}.master{overflow:hidden}.master .menu{flex-shrink:0;width:14em;background-color:var(--secondary-light);transition:width linear .2s;overflow-x:hidden;overflow-y:auto;max-height:100vh}.master #menuToggle{transition:all linear .2s;height:1.6em}.master .menu h3,.master .menu h4{color:var(--black);transition:opacity linear .2s;display:flex;align-items:center;min-height:3em;overflow:hidden;word-wrap:break-word;font-weight:600}.master .menu .menuItem.selected h3,.master .menu .menuItem.selected h4{color:var(--white);transition:opacity linear .2s}.master .menu h2,.master .menu h3,.master .menu h5{transition:font-size linear .2s;font-size:initial}.master .menu .menuItem.selected img{filter:none}.master .menu a{color:var(--black);text-decoration:none}.master #logo{width:3em;height:auto;transition:all linear .2s;padding:.25em;border-radius:.25em;background:var(--secondary-light90)}.master .menu #logoutText{transition:all linear .2s}.master .menu .menuItem{border-radius:2.5em;cursor:pointer;background:var(--black10)}.master .menu .menuItem:hover{outline:2px solid var(--secondary-med)}.master .menu .menuItem.selected{color:var(--white);background-color:var(--primary)}.master .menu .menuItem.selected img{filter:invert()}.master .menuItem img{width:2.4em;height:2.4em;transition:all linear .2s;padding:.5em 0 .5em 1em;transform-origin:12px}.master .menuItem img.open{transform:rotate(180deg);transform-origin:12px}.master .menu .toggleMenu{padding:.25em 1em .25em .25em}.master .menu .menuItemSecondary{color:var(--secondary);padding-left:2em;line-height:2em;display:none;height:auto;transition:height linear .2s}.master .menu .menuItemSecondary.shown{display:flex;transition:height linear .2s}.master .menu .menuItemSecondary h5:hover{border-left:3px solid var(--primary-light);padding-left:.25em}.master .menu .menuItemSecondary h5.selected{border-left:4px solid var(--secondary);padding-left:.5em}.master .main{overflow:hidden}.master .main .header{height:3em;align-content:end}.master .main .header img{max-height:3.2em}.master .main .content{overflow:auto;margin-top:.5em;height:calc(100vh - 4em);width:100%}.master .main .content>*{padding:1em}.master.miniMenu .menu{width:0;transition:width linear .2s}.master.miniMenu .menu #logo{width:2em;height:auto;transition:all linear .2s}.master.miniMenu .menu #logoutText{width:0;opacity:0;transition:all linear .2s}.master.miniMenu .menu .menuItem img{width:2em;height:2em;transition:all linear .2s;padding:.25em;margin-left:.5em}.master.miniMenu .menu h2,.master.miniMenu .menu h3,.master.miniMenu .menu h4,.master.miniMenu .menu h5{opacity:0;transition:all linear .2s;height:3em}.master.miniMenu .menu h2,.master.miniMenu .menu h3,.master.miniMenu .menu h5{transition:all linear .2s;font-size:0}.master.miniMenu #menuToggle{rotate:180deg;transition:rotate linear .2s;height:1.2em}.master.miniMenu .menu .menuItemSecondary.shown{height:0;transition:height linear .2s}.infoMessage{background:var(--secondary-light90);padding:.5em 1em;border-bottom:2px solid var(--secondary)}.failureMessage,.field-validation-error{background:var(--primary-light);padding:.5em 1em;border-bottom:2px solid var(--primary)}form{padding:1em}#authentication{flex:1}#authentication input[type=text],#authentication input[type=password]{padding:.5em 1em}#authentication #loginForm{background:var(--secondary-light)}#authentication #loginForm .border{border-radius:.5em}#loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.4);display:flex;justify-content:center;align-items:center;z-index:9999;visibility:hidden;opacity:0;transition:opacity .3s ease-in-out;pointer-events:none;-webkit-touch-callout:none}.loading-content{background-color:rgba(255,255,255,.9);padding:2em;border-radius:1.5em;box-shadow:0 0 10px rgba(0,0,0,.2)}#loading-overlay.show{visibility:visible;opacity:1;pointer-events:all}#loading-overlay.hide{visibility:hidden;opacity:0}.loadFit{width:100%;height:100%}.loadFit img{max-height:min(100%,8em);max-width:min(100%,8em);background-color:rgba(255,255,255,.9);padding:.4em;margin:.2em;border-radius:.2em;box-shadow:0 0 10px rgba(0,0,0,.2)}.loadOver{background-color:rgba(0,0,0,.4);z-index:9998;opacity:0;transition:opacity .3s ease-in-out;position:absolute;top:0;left:0}.loadOver.easeIn{opacity:1;transition:opacity .3s ease-in-out}pre{white-space:pre-wrap;word-break:keep-all;overflow-wrap:break-word;font-family:'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif;font-size:12px}.ingredient-row.done,.step-row.done{opacity:.4;text-decoration:line-through}.thumb{width:80px;height:80px;object-fit:cover;border-radius:4px}.image-card{position:relative;display:inline-block}.image-card-actions{position:absolute;top:2px;right:2px;display:flex;gap:2px}.image-delete-btn{width:20px;height:20px;border-radius:50%;background:rgba(0,0,0,.5);color:#fff;font-size:12px;line-height:20px;text-align:center;cursor:pointer;display:none}.image-card:hover .image-delete-btn{display:block}.image-default-star{width:20px;height:20px;font-size:16px;line-height:20px;text-align:center;cursor:pointer;color:rgba(255,255,255,.7);display:none}.image-card:hover .image-default-star{display:block}.image-default-star.active{display:block;color:#ffd700}.image-carousel{max-width:600px}.image-carousel-inner{position:relative;background:#000;border-radius:4px;overflow:hidden;line-height:0;height:400px}.image-carousel-inner img{width:100%;height:100%;object-fit:contain;display:block}.image-carousel-controls{display:flex;align-items:center;justify-content:center;gap:1em;padding:.25em 0}.image-carousel-btn{cursor:pointer;font-size:1.5em;line-height:1;padding:0 .25em;user-select:none;color:var(--secondary)}.image-carousel-btn:hover{color:var(--primary)}.image-carousel-counter{font-size:.85em;color:var(--secondary)}.drag-handle{cursor:grab;user-select:none;padding:0 .25em}.drag-handle:active{cursor:grabbing}.sortable-ghost{opacity:.3;background:var(--secondary-light90)}.field-error{color:#f00;font-size:.8em;display:block;min-height:1.2em}.input-error{border-color:#f00}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--secondary);border-top:0;max-height:200px;overflow-y:auto;z-index:100;border-radius:0 0 4px 4px;box-shadow:0 4px 6px rgba(0,0,0,.1)}.autocomplete-item{padding:.5em 1em;cursor:pointer}.autocomplete-item:hover,.autocomplete-active{background-color:var(--secondary-light90)}@media print{nav.menu,.header,#menuToggle,#scaleControls,#ratingControls,#fabricateToolbar,#modalContainer,#modalConfirm,#loading-overlay,input[type="button"],input[type="submit"],.noprint{display:none!important}main.content{margin:0!important;padding:.5em!important;width:100%!important}body{background:#fff!important;color:#000!important}.border{border:0!important;box-shadow:none!important}.ingredient-row,.step-row{page-break-inside:avoid}h3,h4,h5{page-break-after:avoid}.ingredient-row.done,.step-row.done{opacity:1;text-decoration:none}a[href]::after{content:" (" attr(href) ")";font-size:.8em;color:#666}nav a[href]::after,a[href^="~"]::after,a[href^="/"]::after{content:none}}.hint-pulse{animation:hintPulse 1.2s ease-in-out .5s 3}@keyframes hintPulse{0%,100%{box-shadow:0 2px 4px 0 rgba(0,0,0,.2),0 2px 6px 0 rgba(0,0,0,.19)}50%{box-shadow:0 0 0 6px rgba(43,161,136,.35)}}.iconBtn{background:none;border:0;cursor:pointer;padding:2px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;vertical-align:middle}.iconBtn:hover{background:var(--secondary-light90)}.iconBtn img{width:22px;height:22px}.fabricate-content{font-size:16px}.radioWrap{display:flex;padding:4px;background-color:#b3b3b3;border-radius:4px;align-self:self-end}.slide{flex-grow:1}.slide input[type=radio]{display:none}.slide label{display:block;padding:6px 8px;color:#fff;font-weight:bold;text-align:center;transition:all .4s 0s ease}.slide input[type=radio]:checked+label{background-color:#f5f5f5;color:#000;border-radius:4px}