/* The site's message and notification popups (shared/footer.php), for pages on the new shell.
   Copied from adapt-main.css, which the shell doesn't load: only the popup, bubble and system-popup
   rules, without the old grey footer bar or the .dark variants. shell.css restyles them on top.
   If the popups change in adapt-main.css, change them here too. */
#footer {
    --primary-color: #00FF50; --text-color: #151515; --off-white: #CCC; --dark-grey: #333; --dark-grey2: #555;
    --light-grey: #CCCCCC; --light-grey2: #EBEBEB; --mid-grey: #AAAAAA;
}
.page_popup, .page_popup_mask { --primary-color: #00FF50; --text-color: #151515; --light-grey: #CCCCCC; }

.scroll_wrapper { position: relative; display: block; width: 100%; height: 100%; overflow: hidden; }
.scroll_wrapper .scroll_content { position: relative; display: block; width: calc(100%); height: 100%; overflow-x: hidden; overflow-y: scroll; --webkit-overflow-scrolling: touch; scrollbar-width: none; }
.scroll_wrapper .scroll_content::-webkit-scrollbar { width: 0px; background: transparent; }
#footer #notification_bar { padding: 0; margin: 0; text-indent: 0; transform: translateY(5px); }
#footer #notification_bar li { list-style: none; display: inline-block; margin-right: 1em; position: relative; }
#footer #notification_bar li a { display: inline-block; width: 24px; height: 24px; opacity: 1; transition-duration: 0.25s; cursor: pointer; transform: translateY(1px); }
#footer #notification_bar li .bubble { width: 10px; height: 10px; text-align: center; padding: 5px; line-height: 1em; background: red; border-radius: 50%; position: absolute; top: -5px; right: -10px; color: white; font-size: 11px; transition-duration: 0.25s; opacity: 0; transform: translateX(-10px) translateY(10px) scale(0); z-index: 22; }
.page_popup_mask { position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background: rgba(0,0,0,0.5); z-index: 11; display: none; }
.page_popup { position: fixed; top: 50%; left: 50%; max-width: 450px; min-height: 100px; background: white; border-radius: 20px; padding: 30px; transform: translateX(-50%) translateY(-50%); z-index: 12; box-shadow: 0px 0px 5px rgba(25,25,25,0.2); display: none; }
@media(max-width: 480px) {
    .page_popup { padding: 10px; width: calc(100% - 40px); }
}
.page_popup .close_wrapper { position: absolute; top: 10px; right: 10px; width: 30px; height: 30px; }
.page_popup .close_wrapper a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; transform: rotate(0deg); transition-duration: 0.25s; }
.page_popup .close_wrapper:hover a { transform: rotate(90deg); }
.page_popup .close_wrapper a::before { content: ""; position: absolute; top: 50%; left: 0; width: 100%; border-top: 1px solid var(--text-color); transform: rotate(45deg); }
.page_popup .close_wrapper a::after { content: ""; position: absolute; top: 50%; left: 0; width: 100%; border-top: 1px solid var(--text-color); transform: rotate(-45deg); }
#footer #notification_bar li:nth-child(2) .bubble { transition-delay: 0.1s; }
#footer #notification_bar li.active .bubble { opacity: 1; transform: translateX(0px) translateY(0px) scale(1); }
.footer_popup { position: fixed; bottom: 30px; right: 50px; width: 240px; height: 340px; background: white; box-shadow: 0px 0px 5px rgba(25,25,25,0.2); z-index: 5; border-top-right-radius: 10px; border-top-left-radius: 10px; display: none; z-index: 15; }
.footer_popup.chat { right: 20px; }
.footer_popup .footer_pop_up_head { padding: 20px 50px 20px 20px; display: block; border-bottom: 1px solid rgba(0,0,0,0.2); }
.footer_popup .footer_pop_up_body { height: 280px; }
.footer_popup .footer_pop_up_head h3 { padding: 0; line-height: 1em; }
.footer_popup .close_pop_up { position: absolute; top: 15px; right: 20px; width: 30px; height: 30px; transform: rotate(0deg); transition-duration: 0.25s; }
.footer_popup .close_pop_up:hover { transform: rotate(90deg); }
.footer_popup .close_pop_up::before { content: ""; position: absolute; width: 100%; left: 0; top: 50%; border-top: 1px solid var(--text-color); transform: rotate(-45deg); }
.footer_popup .close_pop_up::after { content: ""; position: absolute; width: 100%; left: 0; top: 50%; border-top: 1px solid var(--text-color); transform: rotate(45deg); }
#footer .notifications_list { padding: 5px; }
#footer .notifications_list .list_item { padding: 5px 0; width: calc(100% - 10px); overflow-wrap: break-word; }
#footer .notifications_list .list_item .notification_grid { display: grid; grid-template-columns: 20px 1fr; grid-gap: 5px; }
#footer .notifications_list .list_item .notification_grid .user_avatar { width: 20px; height: 20px; }
#footer .notifications_list .list_item .notification_grid > div:nth-child(2) { padding: 10px; border-radius: 10px; background: #E1E1E1; width: calc(100% - 30px); }
.page_popup .close { position: relative; width: 1.5em; height: 1.5em; display: inline-block; transform: translateY(-0.5em); cursor: pointer; }
.page_popup .close::before { content: ""; position: absolute; top: 50%; left: 0; width: 100%; border-top: 1px solid var(--text-color); transform: rotate(-45deg); }
.page_popup .close::after { content: ""; position: absolute; top: 50%; left: 0; width: 100%; border-top: 1px solid var(--text-color); transform: rotate(45deg); }
#mini_cart { position: fixed; top: 60px; right: -300px; width: 300px; height: calc(100vh - 90px); background: white; box-shadow: 0px 0px 5px rgba(25,25,25,0.2); transition-duration: 0.25s; opacity: 0; }
#mini_cart.active { right: 0px; opacity: 1; z-index: 20; }
#mini_cart .padding { padding: 20px; }
.footer_popup.notifications { width: 380px; height: auto; max-height: min(560px, calc(100vh - 140px)); bottom: 92px; right: 24px; border-radius: 16px; box-shadow: 0 18px 50px rgba(0,0,0,0.22); display: none; flex-direction: column; overflow: hidden; }
.footer_popup.notifications .footer_pop_up_head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 52px 12px 20px; border-bottom: 0; }
.footer_popup.notifications .footer_pop_up_head h3 { display: flex; align-items: center; gap: 8px; font-size: 19px; letter-spacing: -0.02em; }
.footer_popup.notifications .nf_count { background: var(--primary-color); color: var(--text-color); border-radius: 20px; padding: 1px 9px; font-size: 12px; font-family: "Roboto Condensed", sans-serif; }
.footer_popup.notifications .nf_count.is_zero { display: none; }
.footer_popup.notifications .nf_mark_all { font-size: 13px; color: #12874a; white-space: nowrap; text-decoration: none; }
.footer_popup.notifications .nf_mark_all:hover { text-decoration: underline; }
.footer_popup.notifications .nf_tabs { display: flex; gap: 8px; padding: 4px 20px 14px; }
.footer_popup.notifications .nf_tab { background: transparent; border: 1px solid var(--light-grey); border-radius: 20px; padding: 6px 16px; font-family: inherit; font-size: 13px; color: var(--text-color); cursor: pointer; transition-duration: 0.25s; }
.footer_popup.notifications .nf_tab:hover { border-color: var(--mid-grey); }
.footer_popup.notifications .nf_tab.active { background: var(--text-color); border-color: var(--text-color); color: white; }
.footer_popup.notifications .footer_pop_up_body { height: auto; flex: 1; min-height: 0; overflow-y: auto; padding: 0 12px 8px; }
.footer_popup.notifications .footer_pop_up_foot { border-top: 1px solid var(--light-grey); padding: 14px 20px; }
.footer_popup.notifications .footer_pop_up_foot a { font-size: 14px; color: #12874a; text-decoration: none; }
.footer_popup.notifications .footer_pop_up_foot a:hover { text-decoration: underline; }
.notifications_list .nf_group { font-size: 12px; letter-spacing: 0.08em; text-transform: capitalize; opacity: 0.55; padding: 12px 8px 6px; margin: 0; }
.notifications_list .nf_item { display: flex; align-items: flex-start; gap: 12px; padding: 12px; margin-bottom: 4px; border-radius: 12px; border-left: 3px solid transparent; text-decoration: none; color: var(--text-color); transition-duration: 0.25s; }
.notifications_list .nf_item:hover { background: var(--light-grey2); }
.notifications_list .nf_item.nf_unread { background: #eef6d8; border-left-color: var(--primary-color); }
.notifications_list .nf_avatar { position: relative; width: 40px; height: 40px; border-radius: 50%; flex: none; background: var(--dark-grey); background-size: cover; background-position: center; display: grid; place-items: center; }
.notifications_list .nf_initials { color: white; font-size: 13px; letter-spacing: 0.04em; }
.notifications_list .nf_badge { position: absolute; bottom: -3px; right: -3px; width: 18px; height: 18px; border-radius: 50%; background: white; color: var(--text-color); font-size: 11px !important; display: grid; place-items: center; box-shadow: 0 0 0 2px white; }
.notifications_list .nf_body { display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1; }
.notifications_list .nf_text { font-size: 14px; line-height: 1.35em; }
.notifications_list .nf_text strong { letter-spacing: -0.02em; }
.notifications_list .nf_detail { font-size: 13px; opacity: 0.6; line-height: 1.3em; }
.notifications_list .nf_time { font-size: 13px; opacity: 0.55; flex: none; padding-left: 4px; }
.notifications_list .nf_empty { padding: 34px 12px; text-align: center; opacity: 0.5; font-size: 13px; }
#footer #notification_bar { position: fixed; bottom: 0px; right: 24px; z-index: 14; display: flex; flex-direction: row-reverse; gap: 12px; transform: none; padding: 0; margin: 0; }
#footer #notification_bar li { margin: 0; }
#footer #notification_bar li.net a, #footer #notification_bar li.chat a { background-image: none !important; width: 56px; height: 56px; border-radius: 50%; background-color: var(--text-color) !important; display: flex; align-items: center; justify-content: center; opacity: 1; box-shadow: 0 6px 20px rgba(0,0,0,0.28); transition-duration: 0.25s; text-decoration: none; }
#footer #notification_bar li.net a:hover, #footer #notification_bar li.chat a:hover { background-color: var(--primary-color) !important; }
#footer #notification_bar li a .nf_fab_icon { color: white; font-size: 24px; line-height: 1; }
#footer #notification_bar li a:hover .nf_fab_icon { color: var(--text-color); }
#footer #notification_bar li .bubble { background: var(--primary-color); color: var(--text-color); top: -2px; right: -2px; font-weight: 700; }
@media(max-width: 640px) {
    .footer_popup.notifications { width: calc(100vw - 24px); right: 12px; bottom: 84px; }
    #footer #notification_bar li.net a, #footer #notification_bar li.chat a { width: 48px; height: 48px; }
}
.footer_popup.chat { width: min(760px, calc(100vw - 48px)); height: min(560px, calc(100vh - 140px)); bottom: 92px; right: 24px; border-radius: 16px; box-shadow: 0 18px 50px rgba(0,0,0,0.22); display: none; overflow: hidden; padding: 0; }
.footer_popup.chat.is_open { display: grid; grid-template-columns: 300px 1fr; }
.footer_popup.chat .msg_pane_list { border-right: 1px solid var(--light-grey); display: flex; flex-direction: column; min-height: 0; }
.footer_popup.chat .msg_list_head { padding: 18px 20px 10px; }
.footer_popup.chat .msg_list_head h3 { display: flex; align-items: center; gap: 8px; font-size: 19px; letter-spacing: -0.02em; padding: 0; }
.footer_popup.chat .msg_count { background: var(--primary-color); color: var(--text-color); border-radius: 20px; padding: 1px 9px; font-size: 12px; font-family: "Roboto Condensed", sans-serif; }
.footer_popup.chat .msg_count.is_zero { display: none; }
.footer_popup.chat .msg_search { display: flex; align-items: center; gap: 8px; margin: 0 16px 10px; border: 1px solid var(--light-grey); border-radius: 20px; padding: 6px 12px; }
.footer_popup.chat .msg_search .material-symbols-outlined { font-size: 18px; opacity: 0.5; }
.footer_popup.chat .msg_search input { border: 0; background: transparent; outline: none; font: inherit; font-size: 13px; color: var(--text-color); width: 100%; }
.footer_popup.chat .msg_list_scroll { flex: 1; min-height: 0; overflow-y: auto; padding: 0 10px 10px; }
.footer_popup.chat .msg_row { display: flex; align-items: center; gap: 10px; padding: 10px; border-radius: 12px; text-decoration: none; color: var(--text-color); border-left: 3px solid transparent; transition-duration: 0.25s; }
.footer_popup.chat .msg_row:hover { background: var(--light-grey2); }
.footer_popup.chat .msg_row.active { background: var(--light-grey2); border-left-color: var(--primary-color); }
.footer_popup.chat .msg_row.unread .msg_row_preview { opacity: 1; }
.footer_popup.chat .msg_avatar { position: relative; width: 40px; height: 40px; border-radius: 50%; flex: none; background: var(--dark-grey); background-size: cover; background-position: center; display: grid; place-items: center; }
.footer_popup.chat .msg_initials { color: white; font-size: 13px; letter-spacing: 0.04em; }
.footer_popup.chat .msg_row_body { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.footer_popup.chat .msg_row_top { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.footer_popup.chat .msg_row_top strong { font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.footer_popup.chat .msg_time { font-size: 12px; opacity: 0.5; flex: none; }
.footer_popup.chat .msg_row_preview { font-size: 13px; opacity: 0.6; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.footer_popup.chat .msg_badge { background: var(--primary-color); color: var(--text-color); border-radius: 20px; padding: 1px 8px; font-size: 11px; flex: none; }
.footer_popup.chat .msg_empty { padding: 30px 14px; text-align: center; opacity: 0.5; font-size: 13px; }
.footer_popup.chat .msg_pane_thread { display: none; flex-direction: column; min-height: 0; }
.footer_popup.chat.thread_open .msg_pane_thread { display: flex; }
.footer_popup.chat.thread_open .msg_placeholder { display: none; }
.footer_popup.chat .msg_placeholder { display: grid; place-items: center; opacity: 0.45; font-size: 14px; padding: 20px; }
.footer_popup.chat .msg_thread_head { display: flex; align-items: center; gap: 12px; padding: 14px 18px; border-bottom: 1px solid var(--light-grey); }
.footer_popup.chat .msg_thread_who { display: flex; flex-direction: column; min-width: 0; flex: 1; line-height: 1.25; }
.footer_popup.chat .msg_thread_who strong { font-size: 16px; letter-spacing: -0.02em; }
.footer_popup.chat .msg_muted { font-size: 12px; opacity: 0.6; }
.footer_popup.chat .msg_thread_close { color: inherit; opacity: 0.6; }
.footer_popup.chat .msg_thread_close:hover { opacity: 1; }
.footer_popup.chat .msg_thread_scroll { flex: 1; min-height: 0; overflow-y: auto; padding: 16px 18px; }
.footer_popup.chat .msg_day { text-align: center; font-size: 12px; opacity: 0.5; margin: 10px 0 14px; letter-spacing: 0.06em; }
.footer_popup.chat .msg_bubble_wrap { display: flex; flex-direction: column; align-items: flex-start; margin-bottom: 14px; }
.footer_popup.chat .msg_bubble_wrap.mine { align-items: flex-end; }
.footer_popup.chat .msg_bubble { max-width: 78%; padding: 11px 14px; border-radius: 14px; background: var(--light-grey2); font-size: 14px; line-height: 1.45em; }
.footer_popup.chat .msg_bubble_wrap.mine .msg_bubble { background: var(--primary-color); color: var(--text-color); }
.footer_popup.chat .msg_stamp { font-size: 11px; opacity: 0.45; padding: 4px 4px 0; }
.footer_popup.chat .msg_composer { display: flex; align-items: flex-end; gap: 10px; padding: 12px 16px; border-top: 1px solid var(--light-grey); }
.footer_popup.chat .msg_composer textarea { flex: 1; resize: none; border: 1px solid var(--light-grey); border-radius: 14px; padding: 10px 14px; font: inherit; font-size: 14px; line-height: 1.4em; max-height: 110px; background: transparent; color: var(--text-color); outline: none; }
.footer_popup.chat .msg_composer textarea:focus { border-color: var(--primary-color); }
.footer_popup.chat .msg_send, .footer_popup.chat .msg_thread_close { text-decoration: none; }
.footer_popup.chat .msg_send { width: 42px; height: 42px; border-radius: 50%; flex: none; background: var(--primary-color); color: var(--text-color); display: grid; place-items: center; transition-duration: 0.25s; }
.footer_popup.chat .msg_send:hover { transform: scale(1.05); }
.footer_popup.chat .msg_send.disabled { opacity: 0.4; pointer-events: none; }
@media(max-width: 760px) {
    .footer_popup.chat { width: calc(100vw - 24px); right: 12px; bottom: 84px; }
    .footer_popup.chat.is_open { grid-template-columns: 1fr; }
    .footer_popup.chat.thread_open .msg_pane_list { display: none; }
    .footer_popup.chat .msg_placeholder { display: none; }
}

/* ---- the modal loadModal() opens (shared/modals.php), and the old forms it draws ----
   Copied from adapt-main.css by hand on 2026-09-30, which the shell doesn't load: the modal frame, and
   .form_field / .button / .grid / .hidden / .small scoped to .modal_window so they never reach a shell
   page. The upload form brings its own media-picker.css. */
.modal_window, .message_modal, .modal_mask { --primary-color: #00FF50; --text-color: #151515; --light-grey: #CCCCCC; --light-grey2: #EBEBEB; --mid-grey: #AAAAAA; --dark-grey: #333; --off-white: #CCC; --error: #FF0000; }
.modal_window .grid { display: grid; grid-gap: 2em; }
.modal_window .grid.grid_padding_1 { gap: 1em; }
.modal_window .grid.grid_padding_2 { gap: 2em; }
@media(max-width: 840px) { .modal_window .grid { grid-gap: 1em; } }
.modal_window .button { display: inline-block; padding: 5px 20px; background: var(--primary-color); border: 2px solid var(--primary-color); color: var(--text-color); text-transform: uppercase; text-decoration: none; font-size: 12px; border-radius: 20px; transition-duration: 0.25s; cursor: pointer; position: relative; margin: 0 1px; }
.modal_window .button.red_button { border: 2px solid red; background: red; color: white; }
.modal_window .button.red_button:hover { background: transparent; color: var(--text-color); }
.modal_window .button span { position: absolute; top: 50%; left: 7px; font-size: 1em; transform: translateY(calc(-50% - 2px)); }
.modal_window .button.icon_right span { left: initial; right: 7px; }
.modal_window .button:hover { background: transparent; }
.modal_window .button.disabled { opacity: 0.3; }
.modal_window .button.disabled:hover { background: var(--primary-color); }
.modal_window .button.button_2 { border: 2px solid var(--text-color); background: transparent; color: var(--text-color); }
.modal_window .button.button_2:hover { background: var(--text-color); color: white; }
.modal_window .button.button_3 { background: white; border: 2px solid white; color: var(--text-color); transition-duration: 0.25s; }
.modal_window .button.button_3:hover { background: transparent; color: white; }
.modal_window .button.button_4 { border: 2px solid var(--primary-color); color: var(--text-color); background: transparent; }
.modal_window .button.button_4:hover { background: var(--primary-color); }
.modal_window .hidden { display: none; }
@media(min-width: 640px) { .modal_window .grid_3_1 { grid-template-columns: 3fr 1fr; } }
@media(min-width: 840px) { .modal_window .grid { grid-gap: 0; } }
@media(min-width: 840px) { .modal_window .grid.grid_1_1 { grid-template-columns: 1fr 1fr; } }
@media(min-width: 840px) { .modal_window .grid.grid_1_1.grid_reversed > div:nth-child(1) { grid-column: 2/3; grid-row: 1/2; } }
@media(min-width: 840px) { .modal_window .grid.grid_1_1.grid_reversed > div:nth-child(2) { grid-column: 1/2; grid-row: 1/2; } }
@media(min-width: 840px) { .modal_window .button { padding: 8px 30px; font-size: 12px; } }
@media(min-width: 840px) { .modal_window .button span { left: 15px; } }
@media(min-width: 840px) { .modal_window .button span.material-symbols-outlined { font-size: 1.6em; margin-left: -0.25em; } }
@media(min-width: 840px) { .modal_window .button.icon_right span { left: initial; right: 15px; } }
@media(min-width: 840px) { .modal_window .button.small { padding: 3px 8px; font-size: 10px; } }
@media(min-width: 1024px) { .modal_window .grid.align_items_top { align-items:start; } }
@media(min-width: 1024px) { .modal_window .grid.align_items_center { align-items: center; } }
@media(min-width: 1024px) { .modal_window .grid.align_items_bottom { align-items: end; } }
.modal_mask { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; backdrop-filter: blur(5px); background: rgba(0,0,0,0.5); display: none; z-index: 5; }
.modal_window, .message_modal { position: fixed; top: 70px; left: 50vw; width: calc(100vw - 60px); max-width: 1200px; height: calc(100vh - 120px); background: white; overflow: hidden; display: none; border-radius: 15px; transform: translateX(-50%); z-index: 10; }
.modal_window .modal_body, .message_modal .modal_body { width: 100%; height: 100%; display: block; position: relative; }
.disable-scroll { overflow-y: hidden!important; }
.modal_window .modal_close, .message_modal .modal_close { position: absolute; top: 5px; right: 5px; }
.modal_window .modal_close a.close_modal, .message_modal .modal_close a.close_modal { position: absolute; top: 0; right: 0; width: 30px; height: 30px; transform: rotate(0); transition-duration: 0.25s; }
.modal_window .modal_close a.close_modal:hover, .message_modal .modal_close a.close_modal:hover { transform: rotate(90deg); }
.modal_window .modal_close a.close_modal::before, .modal_window .modal_close a.close_modal::after, .message_modal .modal_close a.close_modal::before, .message_modal .modal_close a.close_modal::after { content: ""; position: absolute; top: 50%; left: 0; width: 100%; border-top: 1px solid var(--text-color); transform: rotate(-45deg); }
.modal_window .modal_close a.close_modal::after, .message_modal .modal_close a.close_modal::after { transform: rotate(45deg); }
.modal_content { padding: 5vw; }
.modal_window .modal_interior, .message_modal .modal_interior { min-height: 100%; }
.modal_window .form_field { padding: 1em 0; position: relative; }
.modal_window .form_field.full_row { grid-column: 1 / -1; }
.modal_window .form_field .field_description { padding: 0.5em 0 0 1.8em; font-size: 0.8em; }
.modal_window .form_field input[type=text], .modal_window .form_field input[type=email], .modal_window .form_field input[type=password], .modal_window .form_field input[type=datetime-local], .modal_window .form_field input[type=number], .modal_window .form_field input[type=time], .modal_window .form_field input[type=date], .modal_window .form_field select { position: relative; border-radius: 15px; padding: 15px; margin-bottom: 4px; border: 1px solid var(--light-grey); outline: none; font-family: "SwissMedium", 'helvetica neue', Helvetica, Arial, sans-serif; font-weight: 400; font-size: 1em; --webkit-appearance: none; outline: none; width: calc(100% - 32px); }
.modal_window .form_field.search_field { position: relative; }
.modal_window .form_field input[type=text].search { position: relative; padding-right: 60px; width: calc(100% - 55px) }
.modal_window .form_field.search_field .icon { position: absolute; right: 5px; top: calc(50% - 2px); transform: translateY(-50%); pointer-events: none; opacity: 0.5; }
.modal_window .mini .form_field { padding: 0; position: relative; }
.modal_window .mini .form_field input[type=text], .modal_window .mini .form_field input[type=email], .modal_window .mini .form_field input[type=password], .modal_window .mini .form_field input[type=number], .modal_window .mini .form_field input[type=time], .modal_window .mini .form_field input[type=date], .modal_window .mini .form_field select { padding: 5px 10px; border: 0px none; font-size: 13px; margin: 0; }
.modal_window .form_field input[type=date], .modal_window .form_field input[type=datetime-loca] { color: var(--text-color); }
.modal_window .small .form_field input[type=text], .modal_window .small .form_field input[type=email], .modal_window .small .form_field input[type=password], .modal_window .small .form_field input[type=number], .modal_window .small .form_field input[type=time], .modal_window .small .form_field input[type=date], .modal_window .small .form_field select { padding: 7px 15px; border-radius: 7px; }
.modal_window .form_field.red input { border: 1px solid red; }
.modal_window .form_field input[type=checkbox] { width: 20px; height: 20px; border-radius: 8px; transform: translateY(4px); }
.modal_window .form_field textarea { width: calc(100% - 32px); position: relative; min-height: 150px; border-radius: 15px; padding: 15px; border: 1px solid var(--light-grey); outline: none; font-size: 0.8em; resize: none; font-family: "SwissMedium", 'helvetica neue', Helvetica, Arial, sans-serif; font-weight: 400; }
.modal_window .form_field.error textarea { border: 1px solid red; }
.modal_window .form_field textarea.short { height: 100px; min-height: 100px; }
.modal_window .form_field label { pointer-events: none; font-size: 1em; color: var(--text-color); padding-left: 16px; }
.modal_window .form_field.checkbox label { pointer-events: initial; }
.modal_window .form_field label span.required { color: red; font-weight: 700; }
.modal_window .form_field.modern_field label { position: absolute; top: 32px; left: 15px; padding: 0 10px; transition: 0.25s; background: white; }
.modal_window .form_field.error label { color: var(--error); }
.modal_window .form_field .checkbox_grid { display: grid; grid-template-columns: 1fr 1fr; padding-left: 1em; }
.modal_window .form_field.modern_field input:valid ~ label, .modal_window .form_field.modern_field input:focus ~ label, .modal_window .form_field.modern_field.error input ~ label { transform: translateX(10px) translateY(-27px); font-size: 0.75em; padding: 2px 10px; }
@media(max-width: 840px) { .modal_window .form_field input[type=text], .modal_window .form_field input[type=email], .modal_window .form_field input[type=password], .modal_window .form_field input[type=number], .modal_window .form_field input[type=time], .modal_window .form_field input[type=date], .modal_window .form_field select { font-size: 11px; } }
.modal_window .form_field input.icon_dollar { padding-left: 25px!important; width: calc(100% - 35px); position: relative; background: white url(images/backgrounds/icon-currency-dollar.svg) no-repeat; background-size: 16px 16px; background-position: center left 5px; }
.modal_window .form_field input.transparent { background: transparent; }
.modal_window .form_field input.icon_dollar.transparent { background: transparent url(images/backgrounds/icon-currency-dollar.svg) no-repeat; background-size: 16px 16px; background-position: center left 5px; }
.modal_window .form_message { display: none; grid-column: span 4; }
.modal_window .grid_1_1 .form_message { grid-column: span 2; }
.modal_window .form_message p { color: var(--text-color); transition-duration: 0.25s; }
.modal_window .form_message.error p { color: red; }
@media(min-width: 840px) { .modal_window .modal_interior { height: 100%; } }
@media(min-width: 840px) { .modal_window .form_wrapper .form_field { grid-column: span 4; } }
@media(min-width: 840px) { .modal_window .form_wrapper .form_field.half { grid-column: span 2; } }
@media(min-width: 840px) { .modal_window .form_wrapper .form_field.fourth { grid-column: span 1; } }
@media(min-width: 840px) { .modal_window .form_wrapper .form_field.threefourth { grid-column: span 3; } }
.modal_window #dashboard .grid .push_up { opacity: 0; transition-property: opacity, transform; transform: translateY(100px); transition-duration: 0.25s; }
.modal_window #dashboard.show .grid .push_up { opacity: 1; transform: translateY(0px); }
.modal_window .share_box_wrapper .feed_extra .search_box { position: absolute; top: 0; left: 0; width: 100%; min-height: 200px; background: white; box-shadow: rgba(125,125,125,0.5) 0px 0px 10px; z-index: 10; display: none; }
.modal_window .search_box .vertical_search_grid { display: grid; height: 100%; width: 100%; grid-template-rows: 36px 1fr; }
.modal_window .common_contact_form .grid_1_1 { gap: 0 10px; }
/* above the shell's header (z-index 20-45) and its menus */
.modal_mask { z-index: 60; }
.modal_window, .message_modal { z-index: 61; color: #151515; font-family: 'Archivo', sans-serif; }
/* the shell's ".hp a { color: inherit }" outranks the modal's own link colours */
.hp .modal_window, .hp .message_modal { color: #151515; }
.hp .modal_window a.md_browse { color: #151515; }
.hp .modal_window a.md_browse:hover { color: #fff; }
/* the two-column modals (the login, the picture beside a form), from adapt-main.css */
.modal_interior .imgwrapper { background-size: cover !important; background-position: center !important; width: 100%; min-height: 40vh; }
.grid.modal_grid .padding { padding: 20px; }
@media(max-width: 640px) { .modal_form_wrapper { width: calc(100% - 20px); } }
@media(min-width: 840px) {
    .modal_window .modal_interior { height: 100%; }
    .grid.modal_grid { display: grid; align-items: center; height: 100%; }
    .grid.modal_grid > div { height: 100%; }
    .grid.modal_grid > div:nth-child(2) { display: flex; align-items: center; }
    .modal_interior .imgwrapper { height: 100%; background: #151515; position: relative; }
    .modal_interior .imgwrapper .image_credit { position: absolute; bottom: 20px; left: 20px; color: white; font-size: 10px; opacity: 0.8; }
    .hp .modal_interior .imgwrapper .image_credit a { color: white; text-decoration: underline; }
    .grid.modal_grid .padding { padding: 40px; width: calc(100% - 80px); }
}
/* dark, as adapt-main.css has it: the forms inside (auth.css, media-picker.css) switch on .dark too */
.dark .modal_window, .dark .message_modal, .hp.dark .modal_window, .hp.dark .message_modal { background: #333; color: #fff; }
.dark .modal_window .modal_close a.close_modal::before, .dark .modal_window .modal_close a.close_modal::after,
.dark .message_modal .modal_close a.close_modal::before, .dark .message_modal .modal_close a.close_modal::after { border-top-color: #ccc; }
.hp.dark .modal_window a.md_browse { color: #fff; }
.hp.dark .modal_window a.md_browse:hover { color: #151515; }
