.mainmenu li:focus-within > .nav-child { display: block; visibility: visible; }
.contact .accordion-body { display: block; height: auto; }
.bx-wrapper .bx-loading { background-image: none; }
iframe { max-width: 100%; }
.web-contact-form { margin-top: 20px; }
.web-contact-form label { display: block; margin-bottom: 4px; }
.web-contact-form input:not([type="hidden"]), .web-contact-form textarea { box-sizing: border-box; width: 100%; padding: 8px; border: 1px solid #aaa; font: inherit; }
.web-contact-form p { margin: 12px 0; }
.web-contact-form button { cursor: pointer; padding: 8px 16px; }
.contact-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form-notice { padding: 10px; border: 1px solid; }
.form-notice.error { color: #8b1b1b; background: #fff0f0; }
.form-notice.success { color: #245b24; background: #effaef; }

#rightcontact { padding-top: 12px; }
.contact-quick { display: flex; flex-direction: column; gap: 8px; padding-right: 32px; }
.contact-quick a { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.contact-quick img { width: 20px; height: 20px; object-fit: contain; }
.contact-details > summary { position: absolute; top: 8px; right: 4px; display: flex; align-items: center; justify-content: center; width: 36px; height: 44px; cursor: pointer; list-style: none; }
.contact-details > summary::-webkit-details-marker { display: none; }
.contact-details > summary:hover { color: #D4E6F3; }
.contact-details > summary:focus-visible { outline: 2px solid currentColor; outline-offset: -2px; }
.contact-details[open] .zoom-plus { display: none; }
.contact-full { text-align: center; }
.contact-full p { margin: 8px 0; }
#rightcontact .contact-address { display: flex; align-items: center; justify-content: center; gap: 8px; }
#rightcontact .contact-address img { width: 20px; height: 20px; object-fit: contain; }
#rightcontact .contact-full h3 { margin-top: 12px; }

@media (width >= 960px) {
    #rightcontact { padding-top: 0; }
    #rightcontact .custom { display: flex; flex-direction: column; }
    #rightcontact .contact-quick { order: 1; align-items: center; gap: 4px; padding-right: 0; }
    #rightcontact .contact-details { display: contents; }
    #rightcontact .contact-details > summary { display: none; }
    #rightcontact .contact-details > .contact-full { display: contents; }
    #rightcontact .contact-details::details-content { display: contents; content-visibility: visible; }
    #rightcontact .contact-full h3 { order: -2; margin-top: 10px; }
    #rightcontact .contact-full p:first-of-type { order: -1; }
    #rightcontact .contact-full p,
    #rightcontact .contact-full hr { order: 2; text-align: center; }
    #rightcontact .contact-full p { margin: 4px 0; }
    #rightcontact .contact-full hr { width: 100%; margin: 6px 0; }
}
