@charset "utf-8";

@import "alignment.css" all;
@import "contacts.css" all;
@import "header.css" all;
@import "icon-item-old.css" all;
@import "socials.css" all;

* {
	margin: 0px;
	padding: 0px;
	box-sizing: border-box;
}

html, body {
	height: 100%;
	position: relative;
	font-family: 'Roboto', sans-serif;
	font-size: 18px;
	color: #000000;
	font-weight: 400;
	line-height: 1.2;
	display: flex; /* чтобы прилип футер */
	flex-direction: column; /* чтобы прилип футер */
}

.no-bb a, .no-bb {
    border: none !important;
}

main {
	flex-grow: 2; /* чтобы прилип футер */ 
	margin-top: 70px;
}

p {
	margin-bottom: 18px;
	line-height: 1.7;
}

ul, ol {
	margin-left: 0;
	padding-left: 16px;
}

li {
/*     font-size: 15px; */
    font-weight: 400;
    line-height: 1.45;
    
    margin-bottom: 10px;
}

.number-include {
	text-decoration: none;
}

/* СТИЛИ КНОПОК */

.button {
	cursor: pointer;
	position: relative;
	z-index: 0;
	
	font-family: 'Open Sans', sans-serif;
	text-align: center;
	
	display: table;
	padding: 15px 20px;

	border: 1px solid;
	border-radius: 10px;
	
	font-size: 16px;
	font-weight: 500;
	text-decoration: none;
	line-height: 1;
	text-align: center;

	transition: background .4s .4s,border-color .4s 0s,color .2s 0s;
}

.button:HOVER {
	transition: background .4s .4s,border-color .4s 0s,color .2s 0s;
}

.button::before {
    content: '';
    position: absolute;
    top: 0;
	left: -1px;
    width: 101%;
    height: 101%;
    z-index: -1;
    opacity: 0;
    transform: scale3d(.7,1,1);
    transition: transform .42s,opacity .42s;
    border-radius: inherit;
    transition-timing-function: cubic-bezier(.2,1,.3,1);
}

.button:hover::before {
    opacity: 1;
    transform: translate3d(0,0,0) scale3d(1,1,1);
}

.button.red {
	background-color: #d82460;
	color: #ffffff;
	border-color: #d82460;
}

.button.red:BEFORE {
	background: #484848;
}

.button.red:hover {
	border-color: #484848;
	color: #ffffff;
}

.button.red.ghost {
	background-color: #ffffff;
	color: #d82460;
	border-color: #d82460;
}

.button.red.ghost:HOVER {
	background-color: #d82460;
	color: #ffffff;
	border-color: #d82460;
}

.button.grey {
	background-color: #484848;
	color: #ffffff;
	border-color: #484848;
}

.button.grey:BEFORE {
	background: #d82460;
}

.button.grey:hover {
	border-color: #d82460;
	color: #ffffff;
}

.button.grey.ghost {
	background-color: #ffffff;
	color: #484848;
	border-color: #484848;
}

.button.grey.ghost:HOVER {
	background-color: #484848;
	color: #ffffff;
	border-color: #484848;
}

.button.grey.ghost:BEFORE {
	background: #484848;
}

.button.red {
    background-color: #d82460;
    color: #ffffff;
    border-color: #d82460;
}

.center {
	text-align: center;
}

.container {
/* 	width: 90%; */
	padding-left: 20px;
	padding-right: 20px;
	
	max-width: 1200px;
	
	margin: 0 auto;
}

@media (min-width: 1280px) {
	.container {
		padding-left: 0;
		padding-right: 0;
	
	    width: 70%;
	}
}

.page-menu {
    display: block;
}

.only-mob {
	display: none;
}


@media (min-width: 1024px) {
	.page-menu {
	    display: grid;
	    align-items: flex-start;
	    grid-template-columns: 70% 25%;
	    grid-column-gap: 5%;
	}
}

.title-wrap {
    background-color: #F3F3F3;
    padding: 30px 10px;
/*     padding-top: 50px; */
    
    margin-bottom: 30px;
}	

.title-wrap h1 {
	margin-bottom: 40px;
	
	color: #d82460;
	
	font-size: 28px;
}

.title-wrap img {
	width: 100%;
	
	border-radius: 10px;
}

@media (min-width: 375px) {
	.title-wrap h1 {
		font-size: 34px;
	}
}

@media (min-width: 768px) {
	.title-wrap {
   		padding-top: 70px;
	}
}


@media (min-width: 1024px) {
	.title-wrap {
	    padding-left: 0;
	    padding-right: 0;
	}
	
	.title-wrap h1 {
		font-size: 52px;
		width: 90%;
	}
	
	.title-wrap img {
		width: 70%;
	}
	
}


@media (min-width: 1600px) {
	.title-wrap h1 {
		width: 70%;
	}
		
}

h2 {
    margin-bottom: 30px;
    
    font-size: 36px;
    font-weight: 400;
    
    color: #484848;
}

h3 {
	margin-bottom: 10px;
    margin-top: 25px;

    font-size: 24px;
    font-weight: 400;
    color: #d82460;
}

.mrgb-block {
	margin-bottom: 60px;
}

@media (min-width: 1024px) {
	.mrgb-block {
		margin-bottom: 100px;
	}
}

.mrg-auto {
	margin-left: auto;
	margin-right: auto;
}

.nowrap {
	white-space: nowrap;
}

/* .programm */

.program-wrap {
	position: relative;
    background-color: #F3F3F3;
    border-radius: 10px;
    
    max-width: 770px;
    
    margin-left: auto;
    margin-right: auto;
    
    z-index: -1;
}

.program {
	position: relative;
    padding: 30px 20px;
}

@media (min-width: 1440px) {
	.program {
	    display: grid;
	    grid-template-columns: 1.3fr 2fr;
	    grid-column-gap: 25px;
	}
	
	.program-desc div:FIRST-CHILD h3 {
	 	margin-top: 0;
	 }
}

.program::after {
	border-bottom: 20px solid #000;
    border-left: 20px solid #000;
    border-right: 20px solid #fff;
    border-top: 20px solid #fff;
    content: "";
    height: 0px;
    position: absolute;
    right: 0;
    top: 0;
    width: 0;
}

.program-date {
    font-size: 16px;
    line-height: 1.1;
}

.program-date div {
	display: inline-block;
}

.program-date b {
    font-size: 42px;
    font-weight: 500;
}

.program-date strong {
    font-size: 20px;
}

/* форма индекс*/

.form-title {
	font-size: 36px;
	line-height: 1.2;
/* 	text-transform: uppercase; */
	color: #484848;
	margin-bottom: 5px;
}

/* .form-title .note-14-grey { */
/* 	text-transform: lowercase; */
/* 	line-height: 1.1; */
/* } */

.form-index-wrap {
	margin-bottom: 40px;
}

.form-index form {
	background-color: #ffffff;
    padding: 20px;
    box-shadow: 0 0 4px 2px rgba(174, 174, 174, 0.2);
    
    border-radius: 10px;
}

.form-index p:NOT(.form-title) {
	font-size: 14px;
}

.form-index .big-note {
	font-size: 24px;
}

.form-date {
    margin-bottom: 20px;
}

.form-date p {
	line-height: 1;
	margin-bottom: 10px;
}

.form-group {
    position: relative;
}

.form-control {
    border-radius: 10px;
    display: block;
    width: 100%;
    padding: 14px 16px;
    box-sizing: border-box;
    margin: 0 auto 15px auto;
    position: relative;
    font-size: 14px;
    line-height: 1.2;
    background-color: #F3F3F3;
    border: none;
    -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
    -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}

label.animated {
    color: #484848;
    font-size: 14px;
    font-weight: normal;
    position: absolute;
    pointer-events: none;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    transition: all 0.2s ease;
}

.info-mess-warning {
    width: 100%;
    color: #973d3d;
    font-size: 14px;
    display: none;
}

.linkpage {
    height: 0;
    width: 0;
    visibility: hidden;
}

.form-soglasie {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    margin: 10px auto;
    margin-bottom: 20px;
    font-size: 12px;
    color: #999;
}

.phone-block {
    padding-top: 10px;
    padding-bottom: 10px;
    background-color: #ffffff;
    border: solid 1px #d8d8d8;
    border-radius: 4px;
    font-size: 20px;
    color: #956e54;
    margin-bottom: 8px;
}

.note-14-grey {
	font-size: 14px;
	line-height: 1.2;
	
    margin-bottom: 10px;
}

.form-soglasie input {
    margin-right: 10px;
    width: 16px;
    min-width: 16px;
    height: 16px;
}

input:focus ~ label.animated, input.used ~ label.animated {
	top: -20px;
	left: 0;
	transform: scale(.75);
	color: #4a89dc;
	background: #fff;
	padding: 5px;
}

.error {
	border-color: #973d3d !important;
	border-style: solid !important;
	background: #f0bebe !important;
	color: #a35959;
}

input.error, textarea.error, select.error, input.error ~ label, textarea.error ~ label, select.error ~ label {
	border-color: #973d3d;
	color: #a35959;
}

.txtarea {
	color: #484848;
	height: 140px;
    font-family: 'Open Sans', sans-serif;
}

textarea::placeholder {
	color: #484848 !important;
}


textarea.error::placeholder {
	color: #a35959 !important;
}

.email-warning-sign:AFTER {
    position: absolute;
    content: "Введите корректную почту";
    font-size: 10px;
    top: 0;
    left: 0;
    transform: translateY(-100%);
    background: #f0bebe;
    padding: 2px 3px;
    color: #a35959;
    z-index: 0;
}

@media (min-width: 768px) {
	.form-index form {
		padding: 60px 50px;
		
	    display: grid;
	    grid-template-columns: 1fr 1fr;
	    grid-column-gap: 20px;
	}
	
	.form-date {
	    margin-top: 40px;
	}
	
	.form-index p:NOT(.form-title) {
	    font-size: 14px;
	}
}

@media (min-width: 1024px) {
	.form-index form {
		padding: 60px 110px;
	}
	
	.form-index p:NOT(.form-title) {
	    font-size: 16px;
	}
}

@media (min-width: 1440px) {
	.form-index p:NOT(.form-title) {
	    font-size: 18px;
	}
}

@media (min-width: 1600px) {
	.form-date {
	    margin-top: 40px;
	}
}

/* float-form */

.hidden {
	transform: translateY(200%);
	display: block;
}

@media (min-width: 1024px) {
	.hidden {
	    transform: translateY(500%);
	}
}

.float-form {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	
	border-radius: 10px 10px 0 0;
	
	padding: 20px 0;
	
	display: flex;
	background-color: #F3F3F3;
    
    z-index: 100;

    transition: transform .3s ease;
}

.float-form form {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}

.float-form .form-control {
    background-color: #ffffff;
}

.float-form .form-date.hide {
	display: none;
}

@media (min-width: 375px) {
	.float-form .form-date {
		display: flex;
		justify-content: space-between;
	}
}

.float-form .button {
	width: 100%;
    padding: 14px 0;
    font-size: 14px;
}

.float-form .form-group.forusername,
.float-form .form-group.formail {
	display: none;
}

.float-form .form-group.forphone {
	margin-top: 15px;
}

@media (min-width: 768px) {
	.float-form .form-group.forphone {
		margin-top: 0;
	}
}

@media (min-width: 1024px) {
	.float-form .form-group.forusername, 
	.float-form .form-group.formail {
	    display: block;
	}
}

.float-form .form-date {
	margin-bottom: 0;
	margin-top: 0;
}

.float-form .form-note {
	display: none;
}

@media (min-width: 768px) {
	.float-form  .form-date p {
		margin-right: 20px;
		margin-bottom: 0;
		line-height: 1.2;
	}

	.float-form form {
	    display: flex;
	    justify-content: space-between;
	}
	
	.float-form .form-group {
	    flex-grow: 2;
	}
	
	.float-form .form-control {
 	    margin-bottom: 0;
 	 }
 	 
 	 .float-form .button {
   		 width: 30%;
   		 margin-left: 20px;
 	 }
 	 
 	 .float-form .duration {
 	 	display: none;
 	 }
 	 
 	 .float-form .form-note {
 	 	display: inline;
 	 	font-size: 12px;
 	 }
}

@media (min-width: 1024px) {
	.float-form {
		position: sticky;
	    top: 70px;
	    border-radius: 10px;
/* 	    transform: translateY(-80%); */
	    margin-top: -280px;
	    margin-bottom: 20px;
	    
	    border: 2px solid #fff;
	}
	
	.float-form .form-date {
	    margin-bottom: 20px;
	}
	
	.float-form form {
		flex-direction: column;
	}
	
	.float-form .button {
	    width: 100%;
	    margin-left: 0;
	}
	
	.float-form .form-date p:NOT(.form-note) {
	    font-size: 22px;
	}
	
	.float-form .note-14-grey {
    	font-size: 18px;
	}
	
	.float-form .form-group {
		margin-bottom: 20px;
	}
	
	main {
	    margin-top: 0;
	}
}

.info-mess-good {
	color: green;
	padding-left: 10px;
	padding-right: 10px;
}

/* .speakers */

.speakers-item .img-wrap {
	width: 80%;
	margin-left: auto;
	margin-right: auto;
	
	font-size: 0;
}

.speakers-item:NOT(:LAST-CHILD) {
	margin-bottom: 50px;
} 

.speakers-desc {
	text-align: center;
}

.speakers-item img {
	border-radius: 10px;
	width: 100%
}

@media (min-width: 768px) {
	
	.speakers-item {
	    display: flex;
	}
	
	.speakers-item .img-wrap {
		width: 30%;
		min-width: 30%;
		
		margin-right: 20px;
	}
	
	.speakers-item h3 {
		margin-top: 10px;
		margin-bottom: 30px;
	}
	
	.speakers-desc {
		text-align: left;
	}
}

@media (min-width: 1280px) {
	.speakers-item h3 {
		margin-top: 30px;
	}
}

/* gifts */

.gifts .swiper-wrapper {
    align-items: stretch;
}

.gift-item.swiper-slide {
    width: 80%;
    max-width: 770px;
    height: auto;
}

.gift-item {	
    border-radius: 10px;
    padding: 30px 20px;
    
    background-color: #484848;
    
    color: #ffffff;
    
    margin-bottom: 40px;
    
    font-size: 14px;
}

.gift-item li {
	margin-bottom: 7px;
}

.gift-item img {
	border-radius: 10px;
}

.gift-title {
    color: inherit;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.2;
    margin-top: 15px;
}

.gift-text {
	color: inherit;
}

@media (min-width: 768px) {
	
	.gifts .swiper-wrapper {
		display: block;
		transform: none;
	}
	
	.gift-item.swiper-slide {
		display: flex;
		align-items: center;
	    padding: 30px 40px;
		    
		width: 100%;
	}
	
	.gift-item img {
		width: 30%;
		margin-left: 30px;
		
		order: 1;
	}
	
	.gift-desc {
		width: 75%;
		
		order: 0;
	}
}

@media (min-width: 1600px) {
	.gifts .swiper-wrapper {
		margin-left: auto;
		margin-right: auto;
		
		max-width: 770px;
	}
}

/* FOOTER */

footer .container {
    padding-top: 20px;
}

footer {
	background-color: #F3F3F3; 
	color: #484848;
	
	z-index: 999; 
}

footer li {
	font-size: 16px;	
}

footer li a {
	color: #484848;
	
	border-bottom: none;
	
	text-decoration: none;
}
 
footer .number-include {
	font-weight: 500;
	font-size: 18px;
}

footer svg {
	width: 25px;
	min-width: 25px;
	height: 25px;
}

.footer-contacts  {
    position: relative;
    padding-left: 0;
    margin: 0;
    padding: 20px 0 20px 0;
}

.footer-contacts  li {
	display: flex;
	justify-content: flex-start;
	align-items: center;
    margin-bottom: 0;
    line-height: 2;
    width: fit-content;
}

.footer-contacts li svg {
	margin-right: 10px;
	fill: #ffffff;
}

.footer-social {
	display: flex;
	justify-content: space-between;
	
	padding: 0;
	list-style: none;
	padding:  0;
	margin: 0;
}

.footer-social li {
	margin-bottom: 0;
	font-size: 0;
}

.footer-social a {
	font-size: 0;
}

.footer-social svg {
	fill: #484848;
}

.copyright {
	margin-bottom: 0;
	padding: 20px 0;
	font-size: 12px;
	line-height: 1.2;
}

.copyright a {
	color: #ffffff;
}

@media (min-width: 375px) {
	.footer-contacts {
	    display: flex;
	    justify-content: space-between;
	}	
}

@media (min-width: 768px) {
	.form-index-wrap {
		grid-column-start: 1;
		grid-column-end: 3;
	}
	
	footer .container {
	    display: grid;
	    grid-template-columns: 1fr 1.4fr;
	    padding-bottom: 20px;
	}
	
	.footer-contacts {
	    display: flex;
	    flex-direction: column;
	    
	    padding: 0; 
	}	
	
	.footer-toright {
	    display: flex;
	    flex-direction: column;		
	}
	
	.footer-social {
		margin-bottom: 20px;

		justify-content: flex-end;
	}
	
	.footer-social svg {
		margin-left: 20px;
	}
	
	.copyright {
		padding: 0;
  	 	text-align: right;
	}
}



/* .cookies-box  */

.cookies-box {
    position: fixed;
    z-index: 1001;
    display: flex;
    justify-content: flex-start;
    align-items: center;
	bottom: 0;
    left: 0;
    right: 0;
    padding: 10px 0 10px 12px;
    font-size: 10px;
    line-height: 1.28571429;
    border-radius: 8px 8px 0 0;
    box-sizing: border-box;
    background-color: rgba(34,34,34,0.9);
    color: #fff;
    box-shadow: 2px 8px 24px 0 rgb(0 0 0 / 16%);
    
    display: none;
}

.cookies-box p {
	margin-bottom: 0;
}

.cookies-cross {
    position: relative;
    display: block;
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    padding: 12px;
    box-sizing: content-box;
    color: currentColor;
    border-bottom: none;
    background-color: transparent;
    border: none;
    cursor: pointer;
}

.cookies-box a {
	color: #ffffff;
	border-color: #ffffff;
}

.cookies-box a:HOVER {
	color: #ffffff;
	opacity: 0.6;
}

.cookies-cross::before, .cookies-cross::after {
    content: '';
    position: absolute;
    width: 22px;
    height: 1px;
    top: 23px;
    left: 12px;
    background-color: #ffffff;
    -webkit-transition: 0.3s all linear;
    -moz-transition: 0.3s all linear;
    -o-transition: 0.3s all linear;
    transition: 0.3s all linear;
}

.cookies-cross::before {
    transform: rotate(45deg);
}

.cookies-cross::after {
    transform: rotate(-45deg);
}

@media (min-width: 640px) {
	.cookies-box {
	    font-size: 14px;
	    left: 15px;
	    max-width: 471px;
	    padding: 8px 0 8px 16px;
	    border-radius: 4px;
 	 	bottom: 20px;
	}
}

.block {
	display: block;
}

.hide {
	display: none;
}


@media (max-width: 1024px) {
	.only-desktop {
		display: none !important;
	}
}

@media (min-width: 1024px) {
	.not-desktop {
		display: none !important;
	}
}

@media (min-width: 768px) {
	.only-mobile {
		display: none !important;
	}
}

@media (max-width: 767px) {
	.not-mobile {
		display: none !important;
	}
}