body.mod { overflow: hidden; }
.p_mod { display: block; width: 100vw; height: 100vh; position: fixed; left: 0; top: -100%; overflow: hidden; z-index: 16 }
.p_mod, .p_mod * { box-sizing: border-box; }
.p_mod.on { top: 0; overflow: auto; }
.mod__wrapper { transition: all 0.5s; background-color: rgba(51,51,51,0.0); display: flex; justify-content: center; align-items: center; height: 100%; width: 100%; }
.on .mod__wrapper { background-color: rgba(51,51,51,0.75); }
.mod__content { transition: all 0.5s; max-width: 500px; min-height: 300px; background-color: #fff; color: #333; padding: 25px; position: relative; opacity: 0; transform: scale(1.5,1.5); }
.mod__content.mod--wide { max-width: 100%; }
.on .mod__content { opacity: 1; transform: scale(1,1); }
.mod__body { padding: 25px 40px; font-size: 14pt; }
.mod__content h3 { font-size: 16pt; margin-bottom: 15px; padding-bottom: 15px; border-bottom: 1px solid #333; }
.mod__content label,.mod__content input { width: 100%; }
.mod__content input { margin-bottom: 15px; padding: 7.5px; border: 1px solid rgba(51,51,51,0.5); position: relative; transition: all 0.5s; }
.mod__content label { font-weight: 500; }
.mod__warning { margin-bottom: 25px; font-weight: 600 }
.mod__controls { margin-top: 25px; display: flex; justify-content: space-between; }

.mod__controls button { border: none; font-size: 14pt; padding: 5px 15px; cursor: pointer; }
.mod__controls button.modaller--close { color: #333; background-color: rgba(0,0,0,0); text-decoration: underline; }
.mod__content form { position: relative; overflow: hidden;}

.p_mod_fs {  z-index: 16;overflow-y:scroll; padding: 15px; position: fixed; top: -100vh; left: 0; transition-property: top, background-color; transition-delay: 0s, 0.25s; transition-duration: 0.5s, 0.5s; width: 100vw; height: 100vh; background-color: rgba(51,51,51,0.0); }
.p_mod_fs .mod_fs__wrapper { max-width: 1920px; width: 80vw; min-height: 100%; background-color: #fff; border-radius: 15px; padding: 15px; display: grid; grid-template-columns: 33.333% 33.333% 33.333%; margin: 0 auto; }
.p_mod_fs.on { top: 0; background-color: rgba(51,51,51,0.75); }
.mod_fs__img { padding: 0 25px; }
.mod_fs__short { padding: 0 25px; text-align: center; align-self: center; }
.mod_fs__name { font-weight: 500; margin-bottom: 25px; }
.mod_fs__text { margin-bottom: 15px; }
.mod_fs__full { grid-column: 1/3; column-count: 2; font-size: 10pt; padding: 50px 0 50px; }
.mod_fs__full ul { font-size: inherit !important; padding: 7.5px 50px 7.5px 65px; }
.mod_fs__full p { margin-bottom: 15px; padding: 7.5px 25px; }
.mod_fs__price_pre { margin-bottom: 0px; font-size: 16pt; }
.mod_fs__price { font-size: 24pt; font-weight: 500; color: var(--sky); margin-bottom: 25px; }

.p_mod_page { overflow-y:scroll; position: fixed; top: 0; right: -100vw; transition-property: right, background-color; transition-delay: 0s, 0.25s; transition-duration: 0.5s, 0.5s; width: 100vw; height: 100vh; background-color: rgba(51,51,51,0.0); z-index: 16; }
.p_mod_page .mod_page__wrapper { width: 100%; min-height: 100%; background-color: #fff; padding: 0px; }
.p_mod_page.on { right: 0; background-color: rgba(51,51,51,0.75); }

.ajax__result { background-color: #fff; position: absolute; width: 100%; height: 100%; top: 0; left: -100%; display: grid; transition: 0.5s left; }
.ajax__result.done { left: 0; }
.ajax__result > div { align-self: center; justify-self: center; padding: 15px; }
.ajax__result .result__icon { margin: 0 auto; width: 150px; height: 150px; border-radius: 50%; position: relative; transition: 0.5s all; transition-delay: 0.5s; border: 10px solid rgba(0,0,0,0);}

.ajax__result .result__text { text-align: center; font-size: 16pt; }
.ajax__result .result__text span { font-size: 12pt; color: #333; }

.ajax__result .result__icon::after, .result__icon::before { position: absolute; width: 80%; height: 10px; content: ''; opacity: 0; transition: 0.5s all; transition-delay: 0.5s; }

.ajax__result.bad .result__icon::after { background-color: #333; top: calc(50% - 5px); left: 10%; transform: rotate(45deg); opacity: 1; }
.ajax__result.bad .result__icon::before { background-color: #333; top: calc(50% - 5px); left: 10%; transform: rotate(-45deg); opacity: 1; }
.ajax__result.bad .result__icon { border: 10px solid #333; }

.ajax__result.good .result__icon::before { background-color: #333; top: calc(50% - 5px); width: 60%; left: 32%; opacity: 1; transform: rotate(-45deg); }
.ajax__result.good .result__icon::after { background-color: #333; width: 30%; left: 20%; top: calc(50% + 9px); opacity: 1; transform: rotate(45deg); }
.ajax__result.good .result__icon { border: 10px solid #333; }

.ajax__result .result__close { margin-top: 25px; border: none; margin: 0 auto; display: block; font-size: 12pt; padding: 7.5px 15px; color: #fff; background-color: #333; cursor: pointer; } 

@media only screen and (max-width: 767px) { 
	.mod__wrapper { padding: 15px; align-items: baseline; height: auto; }
	.mod__content { height: auto; width: 100%; }
	.mod__body { padding: 25px 15px; }
}