/* BE - Modal Defautls */
.i-modal { --iModalPadding: 1.5rem; background-color: hsla(var(--black), 70%); position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 100; visibility: hidden; opacity: 0; transition: all ease-in-out 0.3s; }
.i-modal-body { display: flex; flex-direction: column; max-width: 95vw; }
.i-modal-header-bar .i-modal-close { background-color: transparent; padding: 0.25rem; position: absolute; top: 1.5rem; right: 2.5rem; background: hsl(var(--white)); }
.i-modal.open { opacity: 1; visibility: visible; transform: translateY(0); padding: 1rem; }
.i-modal.open .i-modal-body { opacity: 1; visibility: visible; transform: translateY(0); border: none; border-radius: 1rem; }
.i-modal-header-bar .i-modal-close:focus { outline: none; }
.i-modal-header-bar .i-modal-close .icon { margin: 0; }
.i-modal-header-bar { grid-area: iModalHeader; display: flex; align-items: flex-start; padding: 0.75rem 1.5rem; line-height: 1; border-bottom: none; }
.i-modal-header-bar .icon { width: 2rem; height: 2rem; color: hsla(var(--siteColor1), 50%); }
.i-modal-header-heading { font-size: 1.5rem; font-weight: var(--wBold); line-height: 1; color: hsl(var(--siteColor1)); text-transform: capitalize; }
.i-modal-footer-bar { grid-area: iModalFooter; display: flex; flex-wrap: wrap; justify-content: space-between; padding: 1.25rem; background-color: hsla(var(--siteColor1), 10%); position: relative; }
.i-modal-footer-bar button { padding: 1rem 1.5rem 1rem 1rem; }
.i-modal-footer-bar a { text-transform: capitalize; padding: .75rem 2.5rem; background: hsl(var(--siteColor1)); color: hsl(var(--white)); }
.i-modal-footer-bar a:hover { text-transform: capitalize; padding: .75rem 2.5rem; background: hsl(var(--siteColor2)); color: hsl(var(--black)); }
.i-modal-main { grid-area: iModalMain; overflow: auto; }
.i-modal-main p:last-child { margin-bottom: 0; }
.i-modal-main-container { padding: var(--iModalPadding); overflow: auto; }
.i-modal-alert { position: absolute; top: 100%; left: 50%; z-index: 10; transform: translate(-50%, 0); width: 100%; border-radius: 0; text-align: center; }
.i-modal-alert.alert .close { padding: 0; }
.i-modal > form { height: 100%; }
body [data-i-modal] { cursor: pointer; }
@media (min-width: 1025px) {
  html.modal-open,
  html.modal-open body,
  html.modal-open .i-wrapper { width: auto; height: auto; overflow: visible; }
	.i-modal { display: flex; justify-content: center; align-items: baseline; backdrop-filter: blur(0.5rem); }
	.i-modal > form { height: auto; }
	.i-modal-body {
  	margin-top: var(--outsideMargin); max-height: calc(100vh - calc(var(--outsideMargin) * 2)); width: 32rem; min-height: 8rem; width: auto; height: auto; border-radius: var(--borderRadius); box-shadow: var(--dropShadow), var(--dropShadow);
  	grid-template-rows: auto 1fr auto;
	max-width: 50vw;
	max-height: 90vh;
	}
	.i-modal-sm .i-modal-body { min-width: 20rem; max-width: 30rem; }
	.i-modal-lg .i-modal-body { min-width: 55rem; max-width: 75rem; }
	.i-modal-full .i-modal-body { min-width: calc(100vw - calc(var(--outsideMargin) * 2)); max-width: calc(100vw - calc(var(--outsideMargin) * 2)); }
	.i-modal-main { display: flex; flex-direction: column; padding: var(--iModalPadding); }
	.i-modal-main-container { padding: 0; }
	.i-modal-header-bar .i-modal-close { position: absolute; top: 0.5rem; right: 0.5rem; background-color: hsl(var(--white)); border-radius: 100rem; box-shadow: var(--dropShadow); margin: 0; }
	.i-modal-header-heading { display: block; padding: var(--iModalPadding) 0 1.25rem; }
	.i-modal-header-bar { grid-area: iModalHeader; padding: 0; position: relative; overflow: hidden; }
	.i-modal-header-bar img { border-radius: 1rem 1rem 0 0; height: 100%; max-height: 25rem; }
	.i-modal-header-bar .icon { width: 1.25rem; height: 1.25rem; }
	.i-modal-header-bar:after { border: none; position: relative; }
	.i-modal-footer-bar { padding: var(--iModalPadding); background-color: transparent; }
	.i-modal-alert { border-radius: 0.25rem; width: auto; line-height: 1; display: flex; align-items: center; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
	.i-modal-footer-bar .i-modal-close,
	.i-modal-footer-bar .i-modal-close:hover,
	.i-modal-footer-bar .i-modal-close:active,
	.i-modal-footer-bar .i-modal-close:focus { border: 0.0625rem solid hsla(var(--siteColor1), 25%); }
	.i-modal-footer-bar button { padding: 0.75rem 1.5rem 0.75rem 1rem; }
}

/* Custom Modals */
.favorites-requires-login .i-modal-main { padding: var(--iModalPadding); }