VNT-B2B Modal

Verze:

28. 09. 2023

Zodpovědná osoba:

Dominik Šlechta

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;
	}
}