body{ font-family:"Inter", sans-serif!important; font-optical-sizing:auto; }
h1, h2, h3, h4, h5{ font-family:"Montserrat", sans-serif!important; }

.modal{ position:fixed; top:0; left:0; width:100vw; height:100dvh; z-index:9999; }
.modal .modal-backdrop{ position:fixed; top:0; left:0; width:100vw; height:100dvh; background:rgba(0,0,0,0.25); z-index:-1; }
.modal .modal-content{ background:#ffffff; box-shadow:0 2px 5px 0 rgba(0,0,0,0.15); margin:120px auto; width:220px; max-width:90%; border-radius:5px; position:relative; }
.modal.sm .modal-content{ width:340px; }
.modal.md .modal-content{ width:420px; }
.modal.lg .modal-content{ width:680px; }
.modal.xl .modal-content{ width:860px; }
.modal .modal-content.confirm{ padding:15px 20px 10px 20px; }
.modal .modal-close{ position:absolute; right:-5px; top:-5px; line-height:0; font-size:21px; cursor:pointer; }

@media (max-width:580px){
    .modal .modal-content{ margin-top:60px; }
}

.layer{ position:fixed; top:54px; left:0; width:100vw; height:calc(100dvh - 54px); z-index:9990; }
.layer .layer-backdrop{ position:fixed; top:54px; left:0; width:100vw; height:alc(100dvh - 54px); background:rgba(0,0,0,0.25); z-index:-1; }
.layer .layer-content{ box-shadow:0 2px 5px 0 rgba(0,0,0,0.15); top:54px; right:-100vw; width:380px; max-width:100%; height:calc(100dvh - 54px); overflow-x:hidden; overflow-y:auto; position:fixed; transition:right 0.3s; }
.layer.open .layer-content{ right:0; }
.layer.sm .layer-content{ width:420px; }
.layer.md .layer-content{ width:540px; }
.layer.lg .layer-content{ width:680px; }
.layer.xl .layer-content{ width:860px; }
.layer.full .layer-content{ width:100vw; }
.layer .layer-close{ position:fixed; right:35px; top:calc(54px + 15px); line-height:0; font-size:35px; cursor:pointer; display:none; }
.layer.open .layer-close{ display:block; }

.toaster-container{ position:fixed; top:75px; right:25px; z-index:9995; }
.toast{ position:relative; }
.toast .toast-close{ position:absolute; right:10px; top:10px; line-height:0; font-size:15px; cursor:pointer; }

@media (max-width:580px){
    .toaster-container{ top:60px; right:15px; }
}

.wysi-editor, .legals{ font-size:13px!important; }
.wysi-editor h1, .legals h1,
.wysi-editor h2, .legals h2,
.wysi-editor h3, .legals h3{ text-transform:uppercase!important; }
.wysi-editor h1, .legals h1{ font-size:16px!important; margin:8px 0!important; font-weight:700!important; }
.wysi-editor h2, .legals h2{ font-size:15px!important; margin:6px 0!important; font-weight:700!important; }
.wysi-editor h3, .legals h3{ font-size:14px!important; margin:5px 0!important; font-weight:500!important; }