Form Modal
<section class="contact-form --bg-light" id="contact_form">
<div class="contact-form__box icon icon--logo">
<h2 class="contact-form__title">
Nadpis formuláře
</h2>
<form class="form form--contact --row">
<div class="form__column --w-12 --column">
<div class="form__item --w-12">
<label class="form__label">
Vaše jméno*
<input class="form__input" type="text">
</label>
</div>
<div class="form__item --w-12">
<label class="form__label">
E-mail*
<input class="form__input" type="text">
</label>
</div>
<div class="form__item --w-12">
<label class="form__label">
Telefon*
<input class="form__input" type="text">
</label>
</div>
</div>
<div class="form__column --w-12 --column">
<div class="form__item --w-12">
<label class="form__label">
Zpráva*
<textarea class="form__textarea" type="text"></textarea>
</label>
</div>
</div>
<div class="form__column form__column--bottom --flex-inline --flex-centre-y --w-12 --column" >
<div class="form__item form__item--terms">
<span class="form__terms">
Odesláním ouhlasím se <a href="#" class="--link-underline form-terms-link">zpracováním osobních údajů</a>
</span>
</div>
<label class="form__item form__item--button">
<input type="submit" class="--hide">
<span class="form__button button button--brand">
Odeslat zprávu
</span>
</label>
</div>
{*{input email}*}
</form>
</div>
</div>
</div>
</section>
$color__green: $color__button;
.modal {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 10000;
padding: 2rem;
width: 100%;
height: 100%;
margin: 0;
opacity: 0;
visibility: hidden;
display: none;
flex-direction: column;
&.open {
visibility: visible;
opacity: 1;
transition-delay: 0s;
overflow: auto;
}
iframe {
height: 50vw;
min-height: 25rem;
max-width: 100%;
width: 100%;
@include media($medium) {
height: 65rem;
max-height: 80vh;
}
}
}
.modal__overlay {
position: fixed;
top: 0;
left: 0;
bottom: 0;
right: 0;
z-index: 21;
background-color: rgba(0, 0, 0, 0.7);
}
.modal__close {
position: absolute;
top: 1rem;
right: 1rem;
border: none;
outline: none;
background: none;
font-size: 2.4rem;
color: #747474;
font-weight: bold;
height: 1.6rem;
width: 1.6rem;
transform: rotate(45deg);
&::before, &::after {
@include pseudo(block, absolute);
background: $color__bg-dark;
}
&::before {
width: 0.2rem;
height: 100%;
left: calc(50% - 0.1rem);
top: 0;
}
&::after {
height: 0.2rem;
width: 100%;
top: calc(50% - 0.1rem);
left: 0;
}
&:hover {
color: #000;
}
}
.modal__top {
margin: 0 0 1.5rem 0;
flex-direction: column;
@include media($medium) {
flex-direction: row;
margin: 0 0 3rem 0;
}
}
.modal__link {
font-size: 1.4rem;
color: $color__text
}
.modal__wrap {
max-width: 46rem;
width: 100%;
}
.modal__title {
text-align: center;
font-weight: 700;
@include media($large) {
font-size: 3rem;
}
}
.modal__icon {
width: 2.4rem;
height: 2.4rem;
border-radius: 50%;
background: $color__green;
margin: 1rem 0;
position: relative;
@include media($medium) {
width: 3.4rem;
height: 3.4rem;
margin-right: 1rem;
}
&::after {
@include pseudo(block, relative);
width: 0.8rem;
height: 1.6rem;
top: -0.2rem;
border-right: 0.2rem solid white;
border-bottom: 0.2rem solid white;
transform: rotate(45deg);
}
}
.modal__container {
position: relative;
z-index: 22;
max-width: 120rem;
margin: 0 auto;
background-color: #fff;
text-align: left;
width: 100%;
.modal--product & {
max-width: 94rem;
}
.modal--product &, .modal--gdpr & {
padding: 1.5rem;
@include media($medium){
padding: 3rem;
}
}
.modal--centered &{
margin: auto;
}
.button {
margin-left: 0;
margin-top: 2rem;
}
}
.modal__container--light {
background: $color__gray;
}
.modal__products {
background: $color__gray;
}
.modal__product-add {
flex: 1;
justify-content: center;
@include media($medium) {
justify-content: flex-end;
}
}
.modal__product {
align-items: center;
color: $color__text-dark;
padding: 1rem 0;
margin: 0 0 2rem 0;
@include media($medium){
padding: 2.5rem 0;
}
}
.modal__product-info {
flex-basis: 100%;
flex-direction: column;
@include media($tiny) {
flex-direction: row;
}
@include media($medium) {
flex-basis: auto;
}
}
.modal__product-title {
font-size: 1.4rem;
max-width: 20rem;
@include media($medium) {
font-size: 1.6rem;
}
}
.modal__product-figure {
height: 5rem;
width: 5rem;
margin: 0.8rem 0;
@include media($tiny) {
margin-right: 1.2rem;
}
@include media($medium){
width: 7.5rem;
margin-right: 2rem;
}
}
.modal__product-img {
max-height: 100%;
max-width: 100%;
}
.modal__product-vat {
font-weight: 700;
font-size: 2rem;
}
.modal__buttons {
justify-content: space-between;
}
.modal__button {
.modal__buttons & {
&:first-of-type {
margin-right: 2rem;
}
}
}
//product-detail
.modal__container{
.modal--product-detail &{
padding: 3rem;
max-width: 92rem;
position: relative;
}
}
.button{
.modal--product-detail &{
margin-top: 0;
}
}
//contact-form
.modal__container{
.modal--contact-form &{
max-width: 49rem;
border-radius: 0.8rem;
overflow: hidden;
position: relative;
}
}
.modal__cross-icon{
width: 1.8rem;
height: 1.8rem;
position: absolute;
top: 0;
right: 0;
margin-right: 1.8rem;
margin-top: 1.2rem;
}
// banners
.modal__container{
.modal--banners &{
max-width: 119rem;
border-radius: 0.8rem;
overflow: hidden;
position: relative;
}
}