button#next, button#prev {
  border: none;
  background: none;
  cursor: pointer;
  &:hover {color: maroon;}
}

/* carousel_overrides.css */
div#carousel-container {
  position:relative;
  button { 
    position: absolute; 
    top: 50%; 
    background: none; 
    border:none;
    color:white;
    cursor:pointer;
    &:hover { color: #d8b141; }
  }
  button#prev { left: 25px; }
  button#next { right: 25px; }
  &.begin { button#prev {visibility:hidden;} }
  &.end { button#next {visibility:hidden;} }
}

/* mondrian.css */
#mondrian-container {
 margin:2vw auto; 
}
ul.mondrian {
  img {
    height: 100%;
    width: 100%;
    object-fit: cover;
  }
    
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
  
  @media only screen and (max-device-width: 767px) {
    grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
  }
  
  grid-auto-rows: 100px;
  grid-gap:10px;
  grid-auto-flow: dense;
  li {
    cursor:pointer;
    box-sizing:border-box;
    &:hover, &:active {border:1px solid #d8b141;}
  } 
  li.sq { grid-column: span 2; grid-row: span 2; }
  li.v { grid-column: span 2; grid-row: span 4; }
  li.h { grid-column: span 4; grid-row: span 2; }
}

/* cookieconsent.css */
:root{--cc-bg:#fff;--cc-text:#6D774A;--cc-btn-primary-bg:#6D774A;--cc-btn-primary-text:var(--cc-bg);--cc-btn-primary-hover-bg:#1d2e38;--cc-btn-secondary-bg:#eaeff2;--cc-btn-secondary-text:var(--cc-text);--cc-btn-secondary-hover-bg:#d8e0e6;--cc-toggle-bg-off:#919ea6;--cc-toggle-bg-on:var(--cc-btn-primary-bg);--cc-toggle-bg-readonly:#d5dee2;--cc-toggle-knob-bg:#fff;--cc-toggle-knob-icon-color:#ecf2fa;--cc-block-text:var(--cc-text);--cc-cookie-category-block-bg:#f0f4f7;--cc-cookie-category-block-bg-hover:#e9eff4;--cc-section-border:#f1f3f5;--cc-cookie-table-border:#e9edf2;--cc-overlay-bg:rgba(4,6,8,.85);--cc-webkit-scrollbar-bg:#cfd5db;--cc-webkit-scrollbar-bg-hover:#9199a0}.c_darkmode{--cc-bg:#181b1d;--cc-text:#d8e5ea;--cc-btn-primary-bg:#a6c4dd;--cc-btn-primary-text:#000;--cc-btn-primary-hover-bg:#c2dff7;--cc-btn-secondary-bg:#33383c;--cc-btn-secondary-text:var(--cc-text);--cc-btn-secondary-hover-bg:#3e454a;--cc-toggle-bg-off:#667481;--cc-toggle-bg-on:var(--cc-btn-primary-bg);--cc-toggle-bg-readonly:#454c54;--cc-toggle-knob-bg:var(--cc-cookie-category-block-bg);--cc-toggle-knob-icon-color:var(--cc-bg);--cc-block-text:#b3bfc5;--cc-cookie-category-block-bg:#23272a;--cc-cookie-category-block-bg-hover:#2b3035;--cc-section-border:#292d31;--cc-cookie-table-border:#2b3035;--cc-webkit-scrollbar-bg:#667481;--cc-webkit-scrollbar-bg-hover:#9199a0}.cc_div *,.cc_div :after,.cc_div :before,.cc_div :hover{animation:none;background:none;border:none;border-radius:unset;box-shadow:none;-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;float:none;font-family:inherit;font-size:1em;font-style:inherit;font-variant:normal;font-weight:inherit;height:auto;letter-spacing:unset;line-height:1.2;margin:0;padding:0;text-align:left;text-decoration:none;text-transform:none;transition:none;vertical-align:baseline;visibility:unset}.cc_div{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;color:#2d4156;color:var(--cc-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:16px;font-weight:400}#c-ttl,#s-bl td:before,#s-ttl,.cc_div .b-tl,.cc_div .c-bn{font-weight:600}#cm,#s-bl .act .b-acc,#s-inr,.cc_div .b-tl,.cc_div .c-bl{border-radius:.35em}#s-bl .act .b-acc{border-top-left-radius:0;border-top-right-radius:0}.cc_div a,.cc_div button,.cc_div input{-webkit-appearance:none;-moz-appearance:none;appearance:none;overflow:hidden}.cc_div a{border-bottom:1px solid}.cc_div a:hover{border-color:transparent;text-decoration:none}#cm-ov,#cs-ov,.c--anim #cm,.c--anim #s-cnt,.c--anim #s-inr{transition:visibility .25s linear,opacity .25s ease,transform .25s ease!important}.c--anim .c-bn{transition:background-color .25s ease!important}.c--anim #cm.bar.slide,.c--anim #cm.bar.slide+#cm-ov,.c--anim .bar.slide #s-inr,.c--anim .bar.slide+#cs-ov{transition:visibility .4s ease,opacity .4s ease,transform .4s ease!important}#cm.bar.slide,.cc_div .bar.slide #s-inr{opacity:1;transform:translateX(100%)}#cm.bar.top.slide,.cc_div .bar.left.slide #s-inr{opacity:1;transform:translateX(-100%)}#cm.slide,.cc_div .slide #s-inr{transform:translateY(1.6em)}#cm.top.slide{transform:translateY(-1.6em)}#cm.bar.slide{transform:translateY(100%)}#cm.bar.top.slide{transform:translateY(-100%)}.show--consent .c--anim #cm,.show--consent .c--anim #cm.bar,.show--settings .c--anim #s-inr,.show--settings .c--anim .bar.slide #s-inr{opacity:1;transform:scale(1);visibility:visible!important}.show--consent .c--anim #cm.box.middle,.show--consent .c--anim #cm.cloud.middle{transform:scale(1) translateY(-50%)}.show--settings .c--anim #s-cnt{visibility:visible!important}.force--consent.show--consent .c--anim #cm-ov,.show--settings .c--anim #cs-ov{opacity:1!important;visibility:visible!important}#cm{background:#fff;background:var(--cc-bg);bottom:1.25em;box-shadow:0 .625em 1.875em #000;box-shadow:0 .625em 1.875em rgba(2,2,3,.28);font-family:inherit;line-height:normal;max-width:24.2em;opacity:0;padding:1.1em 1.5em 1.4em;position:fixed;right:1.25em;transform:scale(.95);visibility:hidden;width:100%;z-index:1}#cc_div #cm{display:block!important}#c-ttl{font-size:1.05em;margin-bottom:.7em}.cloud #c-ttl{margin-top:-.15em}#c-txt{font-size:.9em;line-height:1.5em}.cc_div #c-bns{display:flex;justify-content:space-between;margin-top:1.4em}.cc_div .c-bn{background:#e5ebef;background:var(--cc-btn-secondary-bg);border-radius:4px;color:#40505a;color:var(--cc-btn-secondary-text);cursor:pointer;display:inline-block;flex:1;font-size:.82em;padding:1em 1.7em;text-align:center;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;user-select:none}#c-bns button+button,#s-c-bn,#s-cnt button+button{float:right;margin-left:1em}#s-cnt #s-rall-bn{float:none}#cm .c_link:active,#cm .c_link:hover,#s-c-bn:active,#s-c-bn:hover,#s-cnt button+button:active,#s-cnt button+button:hover{background:#d8e0e6;background:var(--cc-btn-secondary-hover-bg)}#s-cnt{display:table;height:100%;left:0;position:fixed;top:0;visibility:hidden;width:100%;z-index:101}#s-bl{outline:none}#s-bl .title{margin-top:1.4em}#s-bl .b-bn,#s-bl .title:first-child{margin-top:0}#s-bl .b-acc .p{margin-top:0;padding:1em}#s-cnt .b-bn .b-tl{background:none;display:block;font-family:inherit;font-size:.95em;padding:1.3em 6.4em 1.3em 2.7em;position:relative;transition:background-color .25s ease;width:100%}#s-cnt .b-bn .b-tl.exp{cursor:pointer}#s-cnt .act .b-bn .b-tl{border-bottom-left-radius:0;border-bottom-right-radius:0}#s-cnt .b-bn .b-tl:active,#s-cnt .b-bn .b-tl:hover{background:#e9eff4;background:var(--cc-cookie-category-block-bg-hover)}#s-bl .b-bn{position:relative}#s-bl .c-bl{border:1px solid #f1f3f5;border-color:var(--cc-section-border);margin-bottom:.5em;padding:1em;transition:background-color .25s ease}#s-bl .c-bl:hover{background:#f0f4f7;background:var(--cc-cookie-category-block-bg)}#s-bl .c-bl:last-child{margin-bottom:.5em}#s-bl .c-bl:first-child{border:none;margin-bottom:2em;margin-top:0;padding:0;transition:none}#s-bl .c-bl:not(.b-ex):first-child:hover{background:transparent;background:unset}#s-bl .c-bl.b-ex{background:#f0f4f7;background:var(--cc-cookie-category-block-bg);border:none;padding:0;transition:none}#s-bl .c-bl.b-ex+.c-bl{margin-top:2em}#s-bl .c-bl.b-ex+.c-bl.b-ex{margin-top:0}#s-bl .c-bl.b-ex:first-child{margin-bottom:1em;margin-bottom:.5em}#s-bl .b-acc{display:none;margin-bottom:0;max-height:0;overflow:hidden;padding-top:0}#s-bl .act .b-acc{display:block;max-height:100%;overflow:hidden}#s-cnt .p{color:#2d4156;color:var(--cc-block-text);font-size:.9em;line-height:1.5em;margin-top:.85em}.cc_div .b-tg .c-tgl:disabled{cursor:not-allowed}#c-vln{display:table-cell;position:relative;vertical-align:middle}#cs{bottom:0;left:0;padding:0 1.7em;position:fixed;right:0;top:0;width:100%}#cs,#s-inr{height:100%}#s-inr{box-shadow:0 13px 27px -5px rgba(3,6,9,.26);margin:0 auto;max-width:45em;opacity:0;overflow:hidden;padding-bottom:4.75em;padding-top:4.75em;position:relative;transform:scale(.96);visibility:hidden}#s-bns,#s-hdr,#s-inr{background:#fff;background:var(--cc-bg)}#s-bl{display:block;height:100%;overflow-x:hidden;overflow-y:auto;overflow-y:overlay;padding:1.3em 1.8em;width:100%}#s-bns{border-top:1px solid #f1f3f5;border-color:var(--cc-section-border);bottom:0;height:4.75em;left:0;padding:1em 1.8em;position:absolute;right:0}.cc_div .cc-link{border-bottom:1px solid #253b48;border-color:var(--cc-btn-primary-bg);color:#253b48;color:var(--cc-btn-primary-bg);cursor:pointer;display:inline;font-weight:600;padding-bottom:0;text-decoration:none}.cc_div .cc-link:active,.cc_div .cc-link:hover{border-color:transparent}#c-bns button:first-child,#s-bns button:first-child{background:#253b48;background:var(--cc-btn-primary-bg);color:#fff;color:var(--cc-btn-primary-text)}#c-bns.swap button:first-child{background:#e5ebef;background:var(--cc-btn-secondary-bg);color:#40505a;color:var(--cc-btn-secondary-text)}#c-bns.swap button:last-child{background:#253b48;background:var(--cc-btn-primary-bg);color:#fff;color:var(--cc-btn-primary-text)}.cc_div .b-tg .c-tgl:checked~.c-tg{background:#253b48;background:var(--cc-toggle-bg-on)}#c-bns button:first-child:active,#c-bns button:first-child:hover,#c-bns.swap button:last-child:active,#c-bns.swap button:last-child:hover,#s-bns button:first-child:active,#s-bns button:first-child:hover{background:#1d2e38;background:var(--cc-btn-primary-hover-bg)}#c-bns.swap button:first-child:active,#c-bns.swap button:first-child:hover{background:#d8e0e6;background:var(--cc-btn-secondary-hover-bg)}#s-hdr{border-bottom:1px solid #f1f3f5;border-color:var(--cc-section-border);display:table;height:4.75em;padding:0 1.8em;position:absolute;top:0;width:100%;z-index:2}#s-hdr,#s-ttl{vertical-align:middle}#s-ttl{display:table-cell;font-size:1em}#s-c-bn{font-size:1.45em;font-weight:400;height:1.7em;margin:0;overflow:hidden;padding:0;position:relative;width:1.7em}#s-c-bnc{display:table-cell;vertical-align:middle}.cc_div span.t-lb{opacity:0;overflow:hidden;pointer-events:none;position:absolute;top:0;z-index:-1}#c_policy__text{height:31.25em;margin-top:1.25em;overflow-y:auto}#c-s-in{height:100%;height:calc(100% - 2.5em);max-height:37.5em;position:relative;top:50%;transform:translateY(-50%)}@media screen and (min-width:688px){#s-bl::-webkit-scrollbar{background:transparent;border-radius:0 .25em .25em 0;height:100%;width:.9em}#s-bl::-webkit-scrollbar-thumb{background:#cfd5db;background:var(--cc-webkit-scrollbar-bg);border:.25em solid var(--cc-bg);border-radius:100em}#s-bl::-webkit-scrollbar-thumb:hover{background:#9199a0;background:var(--cc-webkit-scrollbar-bg-hover)}#s-bl::-webkit-scrollbar-button{height:5px;width:10px}}.cc_div .b-tg{bottom:0;display:inline-block;margin:auto;right:0;right:1.2em;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle}.cc_div .b-tg,.cc_div .b-tg .c-tgl{cursor:pointer;position:absolute;top:0}.cc_div .b-tg .c-tgl{border:0;display:block;left:0;margin:0}.cc_div .b-tg .c-tg{background:#919ea6;background:var(--cc-toggle-bg-off);pointer-events:none;position:absolute;transition:background-color .25s ease,box-shadow .25s ease}.cc_div .b-tg,.cc_div .b-tg .c-tg,.cc_div .b-tg .c-tgl,.cc_div span.t-lb{border-radius:4em;height:1.5em;width:3.4em}.cc_div .b-tg .c-tg.c-ro{cursor:not-allowed}.cc_div .b-tg .c-tgl~.c-tg.c-ro{background:#d5dee2;background:var(--cc-toggle-bg-readonly)}.cc_div .b-tg .c-tgl~.c-tg.c-ro:after{box-shadow:none}.cc_div .b-tg .c-tg:after{background:#fff;background:var(--cc-toggle-knob-bg);border:none;border-radius:100%;box-shadow:0 1px 2px rgba(24,32,35,.36);box-sizing:content-box;content:"";display:block;height:1.25em;left:.125em;position:relative;top:.125em;transition:transform .25s ease;width:1.25em}.cc_div .b-tg .c-tgl:checked~.c-tg:after{transform:translateX(1.9em)}#s-bl table,#s-bl td,#s-bl th{border:none}#s-bl tbody tr{transition:background-color .25s ease}#s-bl tbody tr:hover{background:#e9eff4;background:var(--cc-cookie-category-block-bg-hover)}#s-bl table{border-collapse:collapse;margin:0;overflow:hidden;padding:0;text-align:left;width:100%}#s-bl td,#s-bl th{font-size:.8em;padding:.8em .625em .8em 1.2em;text-align:left;vertical-align:top}#s-bl th{font-family:inherit;padding:1.2em}#s-bl thead tr:first-child{border-bottom:1px solid #e9edf2;border-color:var(--cc-cookie-table-border)}.force--consent #cs,.force--consent #s-cnt{width:100vw}#cm-ov,#cs-ov{background:#070707;background:rgba(4,6,8,.85);background:var(--cc-overlay-bg);bottom:0;display:none;left:0;opacity:0;position:fixed;right:0;top:0;transition:none;visibility:hidden}.c--anim #cs-ov,.force--consent .c--anim #cm-ov,.force--consent.show--consent #cm-ov,.show--settings #cs-ov{display:block}#cs-ov{z-index:2}.force--consent .cc_div{bottom:0;left:0;position:fixed;top:0;transition:visibility .25s linear;visibility:hidden;width:100%;width:100vw}.force--consent.show--consent .c--anim .cc_div,.force--consent.show--settings .c--anim .cc_div{visibility:visible}.force--consent #cm{position:absolute}.force--consent #cm.bar{max-width:100vw;width:100vw}html.force--consent.show--consent{overflow-y:hidden!important}html.force--consent.show--consent,html.force--consent.show--consent body{height:auto!important;overflow-x:hidden!important}.cc_div .act .b-bn .exp:before,.cc_div .b-bn .exp:before{border:solid #2d4156;border-color:var(--cc-btn-secondary-text);border-width:0 2px 2px 0;content:"";display:inline-block;left:1.2em;margin-right:15px;padding:.2em;position:absolute;top:50%;transform:translateY(-50%) rotate(45deg)}.cc_div .act .b-bn .b-tl:before{transform:translateY(-20%) rotate(225deg)}.cc_div .on-i:before{border:solid #fff;border-color:var(--cc-toggle-knob-icon-color);border-width:0 2px 2px 0;display:inline-block;left:.75em;padding:.1em .1em .45em;top:.37em}#s-c-bn:after,#s-c-bn:before,.cc_div .on-i:before{content:"";margin:0 auto;position:absolute;transform:rotate(45deg)}#s-c-bn:after,#s-c-bn:before{background:#444d53;background:var(--cc-btn-secondary-text);border-radius:1em;height:.6em;left:.82em;top:.58em;width:1.5px}#s-c-bn:after{transform:rotate(-45deg)}.cc_div .off-i,.cc_div .on-i{display:block;height:100%;position:absolute;right:0;text-align:center;transition:opacity .15s ease;width:50%}.cc_div .on-i{left:0;opacity:0}.cc_div .off-i:after,.cc_div .off-i:before{background:#cdd6dc;background:var(--cc-toggle-knob-icon-color);content:" ";display:block;height:.7em;margin:0 auto;position:absolute;right:.8em;top:.42em;transform-origin:center;width:.09375em}.cc_div .off-i:before{transform:rotate(45deg)}.cc_div .off-i:after{transform:rotate(-45deg)}.cc_div .b-tg .c-tgl:checked~.c-tg .on-i{opacity:1}.cc_div .b-tg .c-tgl:checked~.c-tg .off-i{opacity:0}#cm.box.middle,#cm.cloud.middle{bottom:auto;top:50%;transform:translateY(-37%)}#cm.box.middle.zoom,#cm.cloud.middle.zoom{transform:scale(.95) translateY(-50%)}#cm.box.center,#cm.cloud{left:1em;margin:0 auto;right:1em}#cm.cloud{max-width:50em;overflow:hidden;padding:1.3em 2em;text-align:center;width:unset}.cc_div .cloud #c-inr{display:table;width:100%}.cc_div .cloud #c-inr-i{display:table-cell;padding-right:2.4em;vertical-align:top;width:70%}.cc_div .cloud #c-txt{font-size:.85em}.cc_div .cloud #c-bns{display:table-cell;min-width:170px;vertical-align:middle}#cm.cloud .c-bn{margin:.625em 0 0;width:100%}#cm.cloud .c-bn:first-child{margin:0}#cm.cloud.left{margin-right:1.25em}#cm.cloud.right{margin-left:1.25em}#cm.bar{border-radius:0;bottom:0;left:0;max-width:100%;padding:2em;position:fixed;right:0;width:100%}#cm.bar #c-inr{margin:0 auto;max-width:32em}#cm.bar #c-bns{max-width:33.75em}#cm.bar #cs{padding:0}.cc_div .bar #c-s-in{height:100%;max-height:100%;top:0;transform:none}.cc_div .bar #s-bl,.cc_div .bar #s-bns,.cc_div .bar #s-hdr{padding-left:1.6em;padding-right:1.6em}.cc_div .bar #cs{padding:0}.cc_div .bar #s-inr{border-radius:0;margin:0 0 0 auto;max-width:32em}.cc_div .bar.left #s-inr{margin-left:0;margin-right:auto}.cc_div .bar #s-bl table,.cc_div .bar #s-bl tbody,.cc_div .bar #s-bl td,.cc_div .bar #s-bl th,.cc_div .bar #s-bl thead,.cc_div .bar #s-bl tr,.cc_div .bar #s-cnt{display:block}.cc_div .bar #s-bl thead tr{left:-9999px;position:absolute;top:-9999px}.cc_div .bar #s-bl tr{border-top:1px solid #e3e7ed;border-color:var(--cc-cookie-table-border)}.cc_div .bar #s-bl td{border:none;padding-left:35%;position:relative}.cc_div .bar #s-bl td:before{color:#000;color:var(--cc-text);content:attr(data-column);left:1em;overflow:hidden;padding-right:.625em;position:absolute;text-overflow:ellipsis;white-space:nowrap}#cm.top{bottom:auto;top:1.25em}#cm.left{left:1.25em;right:auto}#cm.right{left:auto;right:1.25em}#cm.bar.left,#cm.bar.right{left:0;right:0}#cm.bar.top{top:0}@media screen and (max-width:688px){#cm,#cm.cloud,#cm.left,#cm.right{bottom:1em;display:block;left:1em;margin:0;max-width:100%;padding:1.4em!important;right:1em;width:auto}.force--consent #cm,.force--consent #cm.cloud{max-width:100vw;width:auto}#cm.top{bottom:auto;top:1em}#cm.bottom{bottom:1em;top:auto}#cm.bar.bottom{bottom:0}#cm.cloud .c-bn{font-size:.85em}#s-bns,.cc_div .bar #s-bns{padding:1em 1.3em}.cc_div .bar #s-inr{max-width:100%;width:100%}.cc_div .cloud #c-inr-i{padding-right:0}#cs{border-radius:0;padding:0}#c-s-in{height:100%;max-height:100%;top:0;transform:none}.cc_div .b-tg{right:1.1em;transform:scale(1.1)}#s-inr{border-radius:0;margin:0;padding-bottom:7.9em}#s-bns{height:7.9em}#s-bl,.cc_div .bar #s-bl{padding:1.3em}#s-hdr,.cc_div .bar #s-hdr{padding:0 1.3em}#s-bl table{width:100%}#s-inr.bns-t{padding-bottom:10.5em}.bns-t #s-bns{height:10.5em}.cc_div .bns-t .c-bn{font-size:.83em;padding:.9em 1.6em}#s-cnt .b-bn .b-tl{padding-bottom:1.2em;padding-top:1.2em}#s-bl table,#s-bl tbody,#s-bl td,#s-bl th,#s-bl thead,#s-bl tr,#s-cnt{display:block}#s-bl thead tr{left:-9999px;position:absolute;top:-9999px}#s-bl tr{border-top:1px solid #e3e7ed;border-color:var(--cc-cookie-table-border)}#s-bl td{border:none;padding-left:35%;position:relative}#s-bl td:before{color:#000;color:var(--cc-text);content:attr(data-column);left:1em;overflow:hidden;padding-right:.625em;position:absolute;text-overflow:ellipsis;white-space:nowrap}#cm .c-bn,.cc_div .c-bn{margin-right:0;width:100%}#s-cnt #s-rall-bn{margin-left:0}.cc_div #c-bns{flex-direction:column}#c-bns button+button,#s-cnt button+button{float:unset;margin-left:0;margin-top:.625em}#cm.box,#cm.cloud{left:1em;right:1em;width:auto}#cm.cloud.left,#cm.cloud.right{margin:0}.cc_div .cloud #c-bns,.cc_div .cloud #c-inr,.cc_div .cloud #c-inr-i{display:block;min-width:unset;width:auto}.cc_div .cloud #c-txt{font-size:.9em}.cc_div .cloud #c-bns{margin-top:1.625em}}.cc_div.ie #c-vln{height:100%;padding-top:5.62em}.cc_div.ie .bar #c-vln{padding-top:0}.cc_div.ie #cs{margin-top:-5.625em;max-height:37.5em;position:relative;top:0}.cc_div.ie .bar #cs{margin-top:0;max-height:100%}.cc_div.ie #cm{border:1px solid #dee6e9}.cc_div.ie #c-s-in{top:0}.cc_div.ie .b-tg{margin-bottom:.7em;padding-left:1em}.cc_div.ie .b-tg .c-tgl:checked~.c-tg:after{left:1.95em}.cc_div.ie #s-bl table{overflow:auto}.cc_div.ie .b-tg .c-tg{display:none}.cc_div.ie .b-tg .c-tgl{display:inline-block;height:auto;margin-bottom:.2em;position:relative;vertical-align:middle}.cc_div.ie #s-cnt .b-bn .b-tl{padding:1.3em 6.4em 1.3em 1.4em}.cc_div.ie .bar #s-bl td:before{display:none}.cc_div.ie .bar #s-bl td{padding:.8em .625em .8em 1.2em}.cc_div.ie .bar #s-bl thead tr{position:relative}.cc_div.ie .b-tg .t-lb{filter:alpha(opacity=0)}.cc_div.ie #cm-ov,.cc_div.ie #cs-ov{filter:alpha(opacity=80)}

html { scroll-behavior: smooth; }

*, *::before, *::after {
  box-sizing: border-box;
}

img, video {
  max-width: 100%;
  height: auto;
}

body {
  margin:0;
  padding:0;
  font-family:"Gill Sans", "Lato", sans-serif;
  color:#2F2F2F;
  font-size:20px;
  line-height:24px;
  font-weight:normal;
}

#pricegrid {
  grid-area:pricegrid;
}

#pricegrid table {
  width:60vw;
  margin:1vw auto;
}

#pricegrid table td {
  width:15vw;
  height:3.5vw;
  vertical-align:middle;
  text-align:center;
  background:#6D774A;
  color:#fff;
  border-bottom:4px solid #fff;
  font-size:1.25vw;
}

#pricegrid table td.price {
  background:#B8C1A6;
  color:black;
  font-weight:400;
}

#pricegrid table tr#seasons td {
  font-size:1.4vw;
  border-bottom-width:2px;
}

#pricegrid table tr#seasons td + td,
#pricegrid table tr#periods td + td {
  border-left:4px solid #fff;
}

#pricegrid table tr#periods td {
  font-size:.9vw;
  height:6vw;
}

#pricegrid table td.empty { background:transparent; }
#pricegrid table td.low { background:#6D774A; }
#pricegrid table td.mid { background:#AEC468; }
#pricegrid table td.mid_hi { background:#B19657; }
#pricegrid table td.hi { background:#C9A030; }
#pricegrid table td.very_hi { background:#B8692B; }

#pricegrid button {
  background:#6D774A;
  border:none;
  color:white;
  cursor:pointer;
  padding:1rem 2rem;
  font-size:1.4vw;
  width:60vw;
  margin:1vw auto;
  display:block;
  font-family:"Gill Sans", "Lato", sans-serif;
  font-weight:400;
}

#pricegrid button:hover {
  background:#979F84;
}

h1, h2, h3 { 
  font-family:"Bodoni 72 Smallcaps", "Bodoni 72 Book", "Bodoni Book", Times, Geargia, serif;
  font-weight:lighter;
  font-size:42px;
  font-variant:petite-caps;
  margin-top:1vw;
  line-height:1;
  color:#d8b141;
  text-align:center;
}

.cunina { 
  display:grid;
  grid-template-columns: 1fr;
  grid-template-rows: 800px 1fr 100px auto;
  grid-template-areas: 
      "hero" 
      "main" 
      "up"
      "footer"
  ;
}

#up {
  grid-area:up;
  display:flex;
  justify-content:center;
  align-items:center;
  & a:link, & a:visited {
    display:flex;
    justify-content:center;
    align-items:center;
    flex-direction:column;
    color:black; 
    text-decoration:none;
    text-align:center;
    width:100px;
    min-height:100px;
  }
}

#nav {
  display: flex;
  justify-content:center;
  align-items:center;
  height:150px;
  position:absolute;
  width:100%;
  & .branch {
    display:flex;
    flex-grow:1;
    justify-content:space-evenly;
    z-index:90;
    background-color:#6D774A;
  }
  & a:first-child {min-width:140px;}
  & a:link, & a:visited {
    color:#fff;
    text-decoration:none;
    text-transform:uppercase;
    height:80px;
    line-height:80px;
    text-align:center;
    display:block;
    padding:0 20px;
    font-size:16px;
    letter-spacing:.75px;
  }
  & a:hover, & #nav a:active {color:#d8b141;}
  & a#cooking-class-nav-link {
    & div { 
      display:flex;
      align-items:center;
    }
  }
  & #logo a {padding:0;}
  & .with-menu {
    position:relative;
    & > ul {
      position:absolute;
      top:80px;
      left:0;
      background:rgba(128, 137, 93, .8);
      list-style-type: none;
      padding:0;
      margin:0;
      text-align: center;
      width: 100%;
      display:none;
    }
    &:hover > ul {display:block;}
  }
  & ul > li {
    & a:link, & a:visited {height:25px;line-height:25px;}
  }
}

#hero {
  grid-area:hero;
  position:relative;
  background-size:cover;
  background-repeat:no-repeat;
  & div#languages {
    position:absolute;
    width:72px;
    background: #6271416b;
    top: 12vw;
    right:0;
    padding: 1vw 0 1vw 0;
    
    display:flex;
    flex-direction:column;
    justify-content:space-evenly;
    align-items:center;
    & img.active {
      border: 2px solid #d8b141;
      border-radius: 50%;
    }
  }
  
  & > h1.title {
    color:white;
    z-index:97;
    position:absolute;
    bottom:0;
    width:100%;;
    text-align:center;
    margin:0;
    font-family:"Bodoni 72 Smallcaps", "Bodoni 72 Book", "Bodoni Book", Times, Geargia, serif;
    font-weight:lighter;
    font-size:96px;
    line-height: .67;
    @supports (-webkit-touch-callout: none) { line-height: .5; }
    vertical-align:bottom;
    font-variant: petite-caps;
    &::after {
      content: "";
      background: linear-gradient(transparent, #343434);
      opacity: 0.5;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      position: absolute;
      z-index: -1;
    }
  }
}

#main {
  background:#fff;
  grid-area:main;
  display:grid;
  & div.generic {width:90vw;margin:auto;}
  position:relative;
  
  & small#bio-link { position:absolute; right:5px; top: 5px; }
  
  & #play-pause {
    position:absolute;
    top:5px;
    left:10px;
    & a:link, & a:visited {
      display: flex;
      justify-content: space-between;
      text-decoration:none; 
      background-color:#80895d;
      color:#fff;
      padding: 4px 5px;
      margin: 0;
      & svg {margin-right:3px;}
    }
    & a:hover, & a:active {
      color: #d8b141;
    }
    & #vstop {display:none;}
  }
  &.home {
    grid-template-columns:1fr;
    grid-template-rows: auto auto auto auto auto auto auto;

    grid-template-areas: 
        "welcome" 
        "pool"
        "pool-description"
        "apartments-mosaic"
        "bio"
        "around-the-house"
        "humans";
    & #welcome {
      width:80vw;
      margin:0 auto;
      grid-area:welcome;
      & #benvenuto {margin-left:13vw;margin-top:25px;width:90px;}
      & #tagline {margin-left:21vw;font-style:oblique;font-weight:lighter;}
      & #poem {
        text-align:center;
        font-weight:lighter;
        margin:40px auto;
      }
    }
    
    & #bio {
      grid-area:bio;
      
      & section {
        margin:1em auto;
        display:flex;
        align-items:center;
        justify-content:center;
      
        & #bio-icons {
          display:flex;
          flex-direction:column;
          align-items:center;
          justify-content:space-between;
          min-height:245px;
        }
      }
      
      & dialog#solar-recharge {
        border:1px solid #d8b141;
        & form {display:flex;justify-content:space-between;}
        & button {border: none;background: none; cursor:pointer;outline:none;}
        & button:hover {color:#d8b141;}
        & h3 {margin: 0 auto 5px auto;}
        &::backdrop {background:hsla(0, 0%, 0%, .5);}
        
        & #teslas {
          display:flex;
          & img+img {margin-left:1em;}
        }
        
        & p {text-align:center;margin:.5em auto;}
      }
      
      & h1 {
        display:flex;
        align-items:center;
        justify-content:space-around;
      }
      & ul {
        list-style-type:square;
        margin-right: 1em;
      }
    }
    
    & #pool {
      grid-area:pool;
      text-align:center;
      overflow:hidden;
      background:rgba(128, 137, 93, .5); 
      & h1 {
        line-height:1;
        color:white;
        margin:25px auto 0 auto;
        font-family:"Bodoni 72 Smallcaps", "Bodoni 72 Book", "Bodoni Book", Times, Geargia, serif;
        font-weight:lighter;
        font-size:72px;
        font-variant:petite-caps;
      }
      
      & .slideshow {
        & button { color: white;}
      }
    }
    
    & #pool-description {
      grid-area:"pool-description";
      background: rgb(191, 196, 173);
      padding-bottom:40px;
      & p {
        color:#fff;
        font-weight:normal;
        text-align:center;
      }
    }
    
    & #around-the-house {
      background-color: rgb(128, 137, 93);
    }
  }
  
  &.apartment {
    grid-template-columns:1fr;
    grid-template-rows: auto auto auto auto;
    grid-template-areas: 
        "description"
        "apartment-carousel"
        "pricegrid"
        "apartments-mosaic"
    ;
    grid-gap:2vw;
    & #description {
      grid-area:description;
      padding-bottom: 100px;
      background:transparent;
      & p {
        width:80vw;
        margin:2vw auto;
        text-align:center;
      }
    }
    
    & #drawing { 
      & button {
        background: #d8b141;
        border: none;
        color: white;
        cursor: pointer;
        padding: 5px 10px;
        font-size: 24px;
        font-weight: bold;
        width: 220px;
        margin: 4vw auto;
        display: block;
        font-family: "Gill Sans", "Lato", sans-serif;
        font-weight: 400;
      }
    }
    
    & #apartment-carousel {
      grid-area:apartment-carousel;
      background: #979F84;
      overflow: hidden;
      text-align:center;
    }
    
    & #apartments-mosaic {
      grid-area:apartments-mosaic;
    }
  }

  &.apartments {
    & div#apt-boxes {
      width: 80vw;
      margin: 4vw auto;
      display: flex;
      justify-content:space-around;
      align-items:flex-start;
      flex-wrap: wrap;
      
      & div.apt-box {
        box-sizing: border-box;
        display:flex;
        flex-direction: column;
        justify-content: center;
        align-items:center;
        width:600px;
        & section {
          display:flex;
          align-items:center;
          & #drawing {
            justify-content:flex-start;
            & img { max-width:40vw; }
          }

          & img {width:100%;}
          & h1 { 
            font-family:"Bodoni 72 Smallcaps", "Bodoni 72 Book", "Bodoni Book", Times, Geargia, serif;
            font-weight:lighter;
            font-size:50px;
            font-variant:petite-caps;
            color:#979F84; 
            margin-top:0;
            line-height: 1;
            text-align: center;
            & small {font-size:65%;font-variant:normal;}
          }
        }
        
        & a.apt-link:link, & a.apt-link:visited {
          text-decoration:none;
          color:#999;
          display:block;
          width:100%;
          height:100%;
          display:block;
        }
        
        & div.emblem {
          background-size:cover;
          background-color:#B8C1A6;
          width:8vw;
          max-width:120px;
          height:8vw;
          max-height:120px;
          display:flex;
          justify-content:center;
          align-items:center;
          border-radius:50%;
          margin-bottom:1vw;
          margin-right:10px;
        }

        &.dx { margin-bottom:4vw; }
      }
      
    }
  }

  &.cooking_class {
    grid-template-columns:1fr;
    grid-template-rows: auto auto auto auto;
    grid-template-areas: 
      "marcello"
      "menus"
      "cooking-class-prices"
      "participation-form"
    ;
    grid-gap:2vw;
    padding-bottom: 2vw;
    
    & h1 {
      font-family:"Bodoni 72 Smallcaps", "Bodoni 72 Book", "Bodoni Book", Times, Geargia, serif;
      font-weight:lighter;
      font-size:42px;
      font-variant:petite-caps;
      margin-top:1vw;
      margin-bottom:1vw;
      line-height:1;
      color:#d8b141;
      text-align:center;
    }
    
    & #marcello { 
      grid-area: marcello;
      width: 80vw;
      margin: 2vw auto;
      & h3 {margin-bottom:1vw;}
      & article { 
        font-size: 20px;
        font-weight: lighter;
        line-height: 1.5;
        & p {margin-bottom:1vw;}
      }
      & figure { float:right; margin-left:2vw;}
    }
    & #menus { 
      & > div {
        grid-area: menus; 
        width: 90vw; 
        margin: 0 auto; 
        display:grid;
        grid-template-columns:1fr 1fr;
        grid-template-rows: 1fr 1fr;
        grid-gap:2vw;
        & section {
          background-color:#EFD795;
          min-height:6vw;
        
          &#menu-1 { grid-column:1;grid-row:1;} 
          &#menu-2 { grid-column:2;grid-row:1;} 
          &#menu-3 { grid-column:1;grid-row:2;} 
          &#menu-4 { grid-column:2;grid-row:2;} 
        
          & h1 { 
            font-family:"Bodoni 72 Smallcaps", "Bodoni 72 Book", "Bodoni Book", Times, Geargia, serif;
            font-weight:lighter;
            font-size:96px;
            font-variant:petite-caps;
            margin-top:1vw;
            line-height:1;
            color:white; 
            text-align:left;
            & strong { 
              font-family: "Gill Sans", "Lato", sans-serif; 
              font-size:32px;
              font-weight:400; 
              vertical-align:middle;
            }
          }
          & ul {
            list-style-type:disc;
            padding:0 4vw 4vw 4vw;

            & li { height:3vw;}
          }
        }
      }
    }
    
    & #cooking-class-prices {
      grid-area: cooking-class-prices; width: 90vw; margin: 0 auto;   
    }
    & #participation-form { 
      grid-area:participation-form; width: 90vw; margin: 0 auto;
    }
  }

  &.privacy {
    & #privacy-policies {
      width: 90vw;
      margin: 2vw auto;
      & h3 {font-weight:bold;}
      & p { margin:2vw auto;}
      & ol { list-style-type:numeric; margin-left:10px;}
      & ol ol { margin-left:40px; }
    }
  }
}

#logo {
  width:290px; height:140px;
  padding:10px;
  border:1px solid #ccc;background:#fff;
  box-shadow:0 3px 4px #444;
  z-index:99;
}

#drawing {
  height:24px;
  display:flex;
  justify-content:center;
  align-items:center; 
  & button { cursor: pointer; font-family: "Gill Sans", "Lato", sans-serif; }
}

#apartments-mosaic { 
  grid-area:apartments-mosaic;
  text-align:center; 
  & h1 {
    font-family:"Bodoni 72 Smallcaps", "Bodoni 72 Book", "Bodoni Book", Times, Geargia, serif;
    font-weight:lighter;
    font-size:42px;
    font-variant:petite-caps;
    line-height:1;
    color:#d8b141;
    margin:2vw auto;
  }
  & #mosaic{
    display: grid;
    gap:8px;
    grid-template-rows: 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    margin-bottom:2vw;
    & > div { 
      & a:link, & a:visited {text-decoration:none;}
      position:relative; 
      height:24.2vw;
      width:24.2vw;
      padding:20px;
      box-sizing:border-box;
      
      & div.overlay { 
        background:rgba(128, 137, 93, .8); 
        color:#fff; 
        display:none;
        height:100%;
        & > h1 {color:#fff;}
      }
    }
    & > div:hover {
      cursor:pointer;
      & div.overlay { 
        display:flex;
        flex-direction:column;
        justify-content:center;
        align-items:center;
      }
    }
    & h1 {
      color:#d8b141;
      margin:25px auto;
      font-family:"Bodoni 72 Smallcaps", "Bodoni 72 Book", "Bodoni Book", Times, Geargia, serif;
      font-weight:lighter;
      font-size:42px;
      font-variant:petite-caps;
      margin-top:1vw;
      line-height:1;
    }
  }
}

#white-layer {
  background:rgba(255,255,255,.8);
  width:100%;
  height:100%;
  position:absolute;
  top:0;left:0;
  z-index:1;
}

#humans {
  grid-area:humans;
  background-image: url(/assets/flowers_bg-d410438c3c9c10319082bd11d64df52762931e90fceb1ab4f6bda2eea1f81dc7.jpg);
  background-size:cover;
  position:relative;
  
  & #reviews {
    background: rgba(128, 137, 93, 1);
    margin:100px 0;
    display: flex;
    /* display:grid;
    grid-template-rows:1fr;
    grid-template-columns:auto 320px;*/
    font-size:26px;
    color:#fff;
    height:100px;
    font-weight:lighter;
    position:relative;
    z-index:9;
    
    & aside { 
      padding: 0; 
      margin:0; 
      display:flex; 
      flex-direction:column; 
      justify-content:center;align-items:center;
      & blockquote {
        transition: opacity 1s ease-in-out;
        opacity: 0;
        height: 0;
        overflow: hidden;
      }
      & blockquote.current { 
        opacity: 1;
        height: 28px;
      }
    }
    & section { 
      display:flex; 
      flex-direction:column; 
      justify-content:center;
      align-items:flex-start;
      font-weight:normal; 
      cursor:pointer;
    }
  }
  
  & #family {
    position:relative;
    background:rgba(255, 255, 255, .6);
    width:60vw;
    margin:25px auto;
    border:2px solid #d8b141;
    z-index:9;
    padding: 25px;
    & h1 {
      font-family:"Bodoni 72 Smallcaps", "Bodoni 72 Book", "Bodoni Book", Times, Geargia, serif;
      font-weight:lighter;
      font-size:36px;
      font-variant:petite-caps;
      margin-top:1vw;
      line-height:1;
      color:#d8b141;
      text-align:center;
    }
    & p {
      font-size:20px;
      font-weight:lighter;
      line-height:30px;
      text-align:center;
      margin-left: 225px;
    }
    & img.historic {float:left;margin:50px 0 25px -50px;}
    & #at-work {
      & section {
        display: grid;
        grid: auto-flow / repeat(auto-fit, minmax(125px, 1fr));
        &.verticals {
          grid: auto-flow / repeat(auto-fit, minmax(80px, 1fr));
        }
      }
    }
  }
}

#footer {
  grid-area:footer;
  display:flex;
  justify-content:center;
  align-items:center;
  background:#fff;
  -webkit-box-shadow: 0px 3px 5px 6px #ccc;  /* Safari 3-4, iOS 4.0.2 - 4.2, Android 2.3+ */
  -moz-box-shadow:    0px 3px 5px 6px #ccc;  /* Firefox 3.5 - 3.6 */
  box-shadow: 0px 3px 5px 6px #ccc;
  padding-top:20px;
  & > #logo-wrap {width:400px;height:250px;}
  & > div {padding-left:75px;}

  & a:link, & a:visited {color:#d8b141;font-weight:bold;}
  & #social-balls { 
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    flex-direction: column;
    height: 100%;
    max-height: 300px;
    & > div {
      display:grid;
      justify-content:center;
      align-items:center;
      margin-bottom: 10px;
      & img {
        width:64px;
        height:64px; 
      }
    }
  }
}

/* condivisi */
button.more, a.more:link, a.more:visited {
  border:none;
  cursor:pointer;
  background:#d8b141;
  margin:3vw auto;
  text-decoration:none;
  color:white;
  height:44px;
  display:flex;
  justify-content:center;
  align-items:center;
  flex-direction: column;
  font-size:24px;
  font-family:"Bodoni Book", serif;
  box-sizing:border-box;
  padding:3px 12px 0 12px;
  &:hover, &:active { background-color:#f2bb1c;;}
}

div.lightbox-overlay {
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100%;
  z-index:-1;
  opacity:0;
  text-align:center;
  
  &.active {opacity:1; z-index:9999; }

  & .lightbox-backdrop {
    position:absolute;
    inset:0;
    background:rgba(255,255,255,.95);
    cursor:pointer;
  }

  & .lightbox-content {
    position:relative;
    z-index:1;
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    box-sizing:border-box;
  }

  & .slideshow {
    position:relative;
    width:100%;
    cursor:default;

    & #prev, & #next { color: black; }
  }
}

.simple-format {
  & b, & strong { font-weight:bold;}
}

video.cunina_video {
 width: 100%;
 max-height: 800px;
 position: absolute;
 display: flex;
 justify-content: center;
 object-fit: cover;
 top: 0;
 z-index: -2;
}

#main.prices {
  grid-template-columns:1fr;
  grid-template-rows:repeat(7, auto);
  grid-template-areas:
    "description"
    "pricegrid"
    "policies"
    "services"
    "ccprices"
    "organic-garden"
    "availability-form";
  grid-gap:2vw;
}

#main.prices #policies {
  grid-area:policies;
}

#main.prices #policies div.box {
  width:90vw;
  margin:1vw auto;
  box-sizing:border-box;
  padding:1vw 2vw;
  text-align:center;
  font-size:1.25vw;
}

#main.prices #policies div.box.gold {
  border:2px solid #d8b141;
}

#main.prices #policies div.box p {
  line-height:1.2;
}

#main.prices #services {
  grid-area:services;
  width:90vw;
  margin:1vw auto;
  text-align:center;
}

#main.prices #services h1 {
  font-family:"Bodoni 72 Smallcaps", "Bodoni 72 Book", "Bodoni Book", Times, Geargia, serif;
  font-weight:lighter;
  font-size:42px;
  font-variant:petite-caps;
  margin-top:1vw;
  line-height:1;
  color:#d8b141;
  text-align:center;
}

#main.prices #services > div {
  margin-top:3vw;
  display:flex;
  flex-wrap:wrap;
  justify-content:space-around;
  align-items:flex-end;
}

#main.prices #services > div article {
  display:grid;
  grid-gap:5px;
  grid-template-columns:1fr;
  grid-template-rows:3fr 1fr;
  place-items:center;
  width:8vw;
  height:4vw;
  margin-bottom:2vw;
}

#main.prices #services > div article div {
  display:flex;
  justify-content:center;
  align-items:center;
  width:4vw;
  height:4vw;
  background:#F1E4BF;
  border-radius:50%;
}

#main.prices #services > div article div img {
  opacity:50%;
}

#main.prices #services > div article small {
  font-size:16px;
}

#main.prices #availability-form {
  grid-area:availability-form;
  background-color:#B4B9A0;
}

#main.prices #availability-form #wrapper {
  margin:0 auto;
  width:90vw;
  padding-top:2vw;
}

#main.products {
  display:grid;
  grid-template-rows:auto auto auto;
  grid-template-columns:1fr;
  grid-template-areas:
    "products"
    "organic-garden"
    "flowers";
}

#main.products #products {
  display:flex;
  flex-wrap:nowrap;
  justify-content:space-evenly;
  align-items:flex-start;
  width:90vw;
  max-width:1440px;
  margin:2vw auto;
  gap:2vw;
}

#main.products #products .product {
  flex:0 1 30%;
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-items:center;
}

#main.products #products .product .for-card {
  background-size:contain;
  background-repeat:no-repeat;
  background-position:top center;
  width:100%;
  max-width:360px;
  height:32vw;
  max-height:420px;
  min-height:260px;
  display:flex;
  justify-content:center;
  align-items:flex-end;
  margin-top:4vw;
}

#main.products #products .product .for-card img {
  width:min(100%, 320px);
  height:auto;
}

#main.products #products .product h1 {
  text-align:center;
  font-family:"Bodoni 72 Smallcaps", "Bodoni 72 Book", "Bodoni Book", Times, Geargia, serif;
  font-weight:lighter;
  font-size:42px;
  font-variant:petite-caps;
  margin-top:1vw;
  line-height:1;
  color:#d8b141;
}

#main.products #products .product #description {
  text-align:center;
  width:85%;
  font-size:18px;
}

#main.contacts {
  grid-template-columns:1fr;
  grid-template-rows:repeat(6, auto);
  grid-template-areas:
    "where-are-we"
    "map-and-directions"
    "road-photos"
    "check-in-out"
    "tel-cell-email"
    "availability-form";
  grid-gap:2vw;
}

#main.contacts #where-are-we {
  grid-area:where-are-we;
  text-align:center;
}

#main.contacts #where-are-we h3 {
  font-family:"Bodoni 72 Smallcaps", "Bodoni 72 Book", "Bodoni Book", Times, Geargia, serif;
  font-weight:lighter;
  font-size:42px;
  font-variant:petite-caps;
  margin:1vw auto;
  line-height:1;
  color:#d8b141;
  text-align:center;
}

#main.contacts #map-and-directions {
  display:grid;
  grid-template-columns:1fr 2fr;
  grid-template-rows:1fr 1fr;
  grid-gap:2vw;
  width:90vw;
  margin:0 auto;
}

#main.contacts #map-and-directions #north,
#main.contacts #map-and-directions #south {
  border:2px solid #d8b141;
  box-sizing:border-box;
  padding:2vw;
}

#main.contacts #map-and-directions #north h3,
#main.contacts #map-and-directions #south h3 {
  color:#d8b141;
  font-size:16px;
  font-weight:600;
  text-indent:4vw;
}

#main.contacts #map-and-directions #north ol,
#main.contacts #map-and-directions #south ol {
  list-style-type:numeric;
  padding-left:2vw;
  color:#d8b141;
}

#main.contacts #map-and-directions #north ol i,
#main.contacts #map-and-directions #south ol i {
  color:black;
  font-weight:600;
}

#main.contacts #map-and-directions #north {
  grid-row:1;
  grid-column:1;
}

#main.contacts #map-and-directions #south {
  grid-row:2;
  grid-column:1;
}

#main.contacts #map-and-directions #cunina_map {
  grid-row:1 / 3;
  grid-column:2;
  min-height:420px;
}

#cunina_map {
  width:100%;
  min-height:420px;
}

#main.contacts #road-photos {
  width:90vw;
  margin:0 auto;
}

#main.contacts #road-photos h1 {
  font-family:"Bodoni 72 Smallcaps", "Bodoni 72 Book", "Bodoni Book", Times, Geargia, serif;
  font-weight:lighter;
  font-size:42px;
  font-variant:petite-caps;
  margin:2vw auto;
  line-height:1;
  color:#d8b141;
  text-align:center;
}

#main.contacts #road-photos section {
  display:flex;
  justify-content:space-around;
  align-items:center;
  flex-wrap:wrap;
}

#main.contacts #road-photos section figure {
  cursor:pointer;
}

#main.contacts #check-in-out {
  width:90vw;
  margin:0 auto;
  padding:2vw;
  box-sizing:border-box;
  border:2px solid #d8b141;
}

#main.contacts #check-in-out p {
  margin-top:1vw;
  font-size:18px;
}

#main.contacts #check-in-out h3,
#main.contacts #check-in-out p:last-child {
  font-size:24px;
  font-weight:600;
  text-align:center;
}

#main.contacts #tel-cell-email {
  display:flex;
  justify-content:space-around;
  align-items:flex-start;
  margin:0 auto;
  width:90vw;
}

#main.contacts #tel-cell-email section {
  text-align:center;
  display:flex;
  flex-direction:column;
  justify-content:space-evenly;
  align-items:center;
  font-size:18px;
  font-weight:600;
}

#main.contacts #tel-cell-email section figure {
  width:64px;
  height:64px;
  border-radius:50%;
  color:white;
  background:#d8b141;
  display:flex;
  justify-content:center;
  align-items:center;
  margin-bottom:1vw;
  stroke:white;
}

#main.contacts #availability-form {
  grid-area:availability-form;
  background-color:#B4B9A0;
}

#main.contacts #availability-form #wrapper {
  margin:0 auto;
  width:90vw;
  padding-top:2vw;
}

@media screen and (min-width: 1025px) and (max-width: 1450px) {
  #nav {
    height:auto;
    padding:0;
    position: fixed;
    z-index: 99;

    & .branch {
      min-width:0;
      flex-wrap:wrap;
    }

    & div.with-menu { min-width: 12ch; }

    & a:link, & a:visited { padding:0; font-size:14px; }
  }

  #logo {
    width:220px;
    height:auto;
    flex:0 0 220px;

    & img {
      display:block;
      width:100%;
      height:auto;
    }
  }

  #hero > h1.title {
    font-size:7vw;
  }

  #main.home #welcome {
    width:90vw;
    max-width:960px;

    & #benvenuto,
    & #tagline {
      margin-left:auto;
      margin-right:auto;
      text-align:center;
    }
  }

  #main.apartments div#apt-boxes {
    width:92vw;
    max-width:1120px;
    justify-content:center;
    gap:32px;

    & div.apt-box {
      width:100%;
      max-width:520px;

      & section {
        flex-wrap:wrap;
        justify-content:center;
        gap:20px;

        & #drawing img {
          max-width:320px;
        }
      }
    }
  }

  #main.products #products {
    flex-wrap:wrap;
    align-items:flex-start;
    justify-content:center;
    gap:10px;

    & div.product {
      width:100%;
      max-width:320px;
    }
  }

  #main.contacts #map-and-directions {
    grid-template-columns:1fr;
    grid-template-rows:auto auto minmax(420px, auto);

    & #north,
    & #south,
    & #cunina_map {
      grid-column:1;
    }

    & #north { grid-row:1; }
    & #south { grid-row:2; }
    & #cunina_map { grid-row:3; }
  }

  #main.contacts #tel-cell-email {
    flex-wrap:wrap;
    justify-content:center;
    gap:32px;
  }

  #main.cooking_class #menus > div {
    grid-template-columns:1fr;
    grid-template-rows:auto;

    & section ul li {
      height:auto;
      margin-bottom:8px;
    }
  }

  #apartments-mosaic #mosaic {
    grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));

    & > div {
      width:auto;
      height:38vw;
      max-height:280px;
    }
  }

  #humans #family {
    width:88vw;
    max-width:900px;

    & img.historic {
      float:none;
      display:block;
      margin:0 auto 24px;
      max-width:320px;
    }

    & p {
      margin-left:0;
    }
  }

  #footer {
    flex-wrap:wrap;
    align-items:flex-start;
    justify-content:center;
    gap: 25px;
    padding:12px 5px;
    z-index: 100;
    font-size: 16px;

    & > #logo-wrap {
      width:80vw;
      max-width:320px;
      height:auto;
    }

    & > div {
      padding-left:0;
    }

    & #social-balls { height:auto; }
  }
}
