	* {
		margin: 0; padding: 0;
	}

	article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
		display: block;
	}

	html, body {
	  width: 100%; height: 100%; font-family: 'Montserrat', sans-serif; color: #000; font-style: normal; background: #ffffff; scroll-behavior: smooth;
	}

	body {
    overflow-x: hidden; overflow-y: auto;
	}

	html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, el, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, dialog, figure, footer, header, hgroup, nav, section {
    margin: 0; padding: 0; border: 0; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; text-decoration: none; list-style: none;
	}

	html {
	  font-family: 'Montserrat', sans-serif; color: #000; font-style: normal;
	}

	.flex {
		display: -moz-flex; display: -webkit-flex; display: -ms-flex; display: flex; -moz-flex-wrap: wrap; -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap;
	}

/******************** HEADER ************************************************************/

	#header {
		width: 100%; padding-bottom: 80px; background:url(dna.jpg) top right; background-repeat: no-repeat; background-size: cover;border-bottom: 10px solid #0d2e4c;
	}

	#header .wrapper {
		width: calc(100% - 100px); max-width: 1400px; min-width: 1400px; margin: 0 auto; padding: 0 50px; text-align: center;
	}

	#header .nav {
		width: 100%; padding-top: 22px; padding-bottom: 18px; background: rgba(5,24,39,0.40);
	}

	#header .nav ul {
		margin: 0 auto; padding: 0; display: inline-block;
	}

	#header .nav ul:after {
		display: table; clear: both; content: '';
	}

	#header .nav ul li {
		padding-left: 35px; padding-top: 6px; padding-right: 35px; padding-bottom: 6px; list-style: none; float: left; text-align: center;
	}

	#header .nav ul li:first-child {
		padding-left: 0;
	}

	#header .nav ul li:nth-child(4) {
		padding-right: 130px;
	}

	#header .nav ul li:nth-child(5) {
		background: #d21724;
	}

	#header .nav ul li:nth-child(6) {
		margin-left: 35px; border: 1px solid #ffffff;
	}

	#header .nav ul li a {
		font-family: 'Roboto', sans-serif; font-size: 14px; color: #ffffff; font-weight: 400; font-style: normal; text-transform: uppercase; text-decoration: none;
	}

	#header .nav ul li.active a {
		padding-bottom: 15px; border-bottom: 3px solid #d21724;
	}

	#header .name {
		margin-top: 120px; padding: 0; display: inline-block; font-size: 22px; font-weight: 800; color: #ffffff; text-align: center; text-transform: uppercase;
	}

	#header .topic {
		margin-top: 30px; padding: 0; font-size: 38px; font-weight: 800; color: #ffffff; text-align: center; text-transform: uppercase;
	}

	#header .brand {
		margin-top: 80px; padding: 0; font-size: 18px; font-weight: 400; color: #ffffff; text-align: center;
	}

	#header .brandname {
		margin-top: 10px; padding: 0; display: inline-block; font-size: 22px; font-weight: 800; color: #ffffff; text-align: center; text-transform: uppercase;
	}

	#header .place {
		margin-top: 80px;
	}

	#header .date {
		padding-left: 36px; display: inline-block; font-size: 18px; font-weight: 400; color: #ffffff; text-align: center; background-image: url(date-icon.svg); background-repeat: no-repeat;
	}

	#header .timer {
		margin-top: 80px; margin-bottom: 20px; padding: 0; font-size: 18px; font-weight: 800; color: #ffffff; text-align: center; text-transform: uppercase;
	}

	#header p {
		margin: 0 auto; padding-left: 150px; padding-right: 150px; font-size: 21px; font-weight: 600; color: #ffffff; text-align: center; line-height: 36px;
	}

	#header hr {
		width: 350px; height: 2px; margin: 50px auto; border: 0; background: #ffffff;
	}

/******************** ABOUT ************************************************************/

	#about {
		width: 100%; padding-top: 80px; padding-bottom: 100px;
	}

	#about .wrapper {
		width: calc(100% - 100px); max-width: 1400px; min-width: 1400px; margin: 0 auto; padding: 0 50px; text-align: center;
	}

	#about h2 {
		font-size: 32px; font-weight: bold; color: #203e5c; text-align: center; text-transform: uppercase;
	}

	#about hr {
		width: 150px; height: 2px; margin: 20px auto 20px; border: 0; background: #ed1c24;
	}

	#about p {
		padding-top: 30px; font-size: 16px; font-weight: 400; color: #2a2a2a; text-align: justify; line-height: 28px;
	}

	#about a {
		font-size: 16px; font-weight: 400; color: #001dcf; text-align: justify; text-decoration: underline;
	}

/******************** SPEAKERS ************************************************************/

	#speakers {
		width: 100%; padding-top: 80px; padding-bottom: 10px;
	}

	#speakers .wrapper {
		width: calc(100% - 100px); max-width: 1400px; min-width: 1400px; margin: 0 auto; padding: 0 50px; text-align: center;
	}

	#speakers h2 {
		font-size: 32px; font-weight: bold; color: #203e5c; text-align: center; text-transform: uppercase;
	}

	#speakers hr {
		width: 150px; height: 2px; margin: 20px auto 0; border: 0; background: #ed1c24;
	}

	#speakers p {
		margin-top: 20px; padding-left: 30px; padding-right: 30px; font-size: 16px; font-weight: 500; color: #20272d;
	}

	#speakers .container {
		margin: 50px 0; display: -webkit-flex; -webkit-flex-flow: row wrap; -webkit-align-content: flex-end; -webkit-justify-content: center; display: flex; flex-flow: row wrap; align-content: flex-end; justify-content: center;
	}

	#speakers .item {
		width: 400px; margin: 60px 30px;
	}

	#speakers .item span {
		display: block; margin-top: 20px; font-size: 16px; font-weight: 300; color: #20272d; line-height: 22px; text-align: justify;
	}

	#speakers .item span.name {
		font-size: 18px; font-weight: 800; text-align: center;
	}

	#speakers .item img {
		width: 200px; height: auto; border-radius: 100%;
	}

/******************** PROGRAMMS ************************************************************/

	#programms {
		width: 100%; padding-top: 40px; padding-bottom: 80px; background: #dbe3e8;
	}

	#programms .wrapper {
		width: calc(100% - 100px); max-width: 1400px; min-width: 1400px; margin: 0 auto; padding: 0 50px; text-align: center;
	}

	#programms h2 {
		padding-top: 50px; font-size: 32px; font-weight: bold; color: #203e5c; text-align: center; text-transform: uppercase;
	}

	#programms hr {
		width: 150px; height: 2px; margin: 20px auto 30px; border: 0; background: #ed1c24;
	}

	#programms h3 {
		padding-top: 50px; font-size: 24px; font-weight: bold; color: #203e5c; text-align: center; text-transform: uppercase;
	}

	#programms .h3 {
		margin: 40px auto 20px; padding: 8px 20px; display: inline-block; font-size: 14px; font-weight: 600; color: #fff; background: #de4545; border-radius: 15px;
	}

	#programms p {
		margin-top: 40px; padding-left: 30px; padding-right: 30px; font-size: 16px; font-weight: 500; color: #000;
	}

	.section {
		width: 100%;
	}

	.section ul {
		width: 100%; margin: 0 auto; padding: 20px 0;
	}

	.section ul:after {
	display: table; clear: both; content: '';
	}

	.section li {
		list-style: none; margin: 10px 0; padding: 20px 20px; background: rgba(255,255,255,0.6); border-radius: 15px; text-align: left;
	}

	.section div.date {
		padding-top: 5px; font-size: 16px; font-weight: 600; color: #070a0d;
	}

	.section div.title {
		padding-top: 15px; font-size: 18px; font-weight: 800; color: #20272d;
	}

	.section div.name {
		padding-top: 15px; font-size: 16px; font-weight: 300; color: #070a0d;
	}

	.section div.name span {
		font-weight: 600; padding-right: 10px;
	}

/******************** REGISTRY ************************************************************/

	#registry {
		width: 100%; padding-top: 40px; padding-bottom: 80px; background:url(/source/registry.jpg) top right; background-repeat: no-repeat;
	}

	#registry .wrapper {
		width: calc(100% - 100px); max-width: 800px; margin: 0 auto; padding: 60px 50px 0 50px; text-align: center;
	}

	#registry h2 {
		font-size: 32px; font-weight: bold; color: #203e5c; text-align: center; text-transform: uppercase;
	}

	#registry hr {
		width: 150px; height: 2px; margin: 20px auto 0; border: 0; background: #ed1c24;
	}

	#registry p {
		margin: 60px auto 20px; font-size: 16px; font-weight: 400; color: #20272d; text-align: center; line-height: 24px;
	}

	#registry p.message {
		margin: 60px auto 20px; font-size: 16px; font-weight: 400; color: #f01c24; text-align: center;
	}

	#registry a {
		font-size: 16px; font-weight: 400; color: #001dcf; text-decoration: underline;
	}

	#registry .item {
		width: 800px; margin: 40px auto;
		display: -moz-flex; display: -webkit-flex; display: -ms-flex; display: flex; -moz-flex-wrap: wrap; -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap;
	}

	#registry .item_1, .item_2, .item_4 {
		width: 400px; margin-bottom: 30px; text-align: left;
	}

	#registry .item_3 {
		width: 300px; margin-bottom: 30px; text-align: left;
	}

	#registry .item_5 {
		width: 500px; margin-bottom: 30px; text-align: left;
	}

	#registry .item_6 {
		width: 950px; margin-bottom: 30px; text-align: left;
	}

	#registry .item_7 {
		width: 350px; margin-bottom: 30px; text-align: left;
	}

	#registry .label {
		width: 800px; margin: 40px auto;
	}

	#registry label {
		display: block; margin-bottom: 10px; font-size: 16px; font-weight: 400; color: #20272d; text-align: left;
	}

	#registry input[type="text"] {
		width:80%; padding: 15px 20px; font-size: 18px; font-weight: 500; color: #20272d; border: 1px solid #e3e3e3;
	}

	#registry input[type="text"]:focus {
      color: #212529; background-color: #fff; border-color: #bdbdbd; outline: 0; box-shadow: 0 0 0 0.2rem rgba(158, 158, 158, 0.25);
	}

	#registry select {
		width:80%; padding: 15px 20px; font-size: 18px; font-weight: 300; color: #20272d; border: 1px solid #e3e3e3; background: #fff;
	}

	#registry .button {
	  margin-top: 50px; margin-bottom: 50px; display: inline-block; position: relative; text-decoration: none; text-align: center;
	}

	#registry .button > span {
	  display: block; padding: 20px 100px; font-size: 16px; font-weight: bold; color: #fff;
	  background: #d21724;
	}
	
	#registry .container {
	  display: block; position: relative; padding-left: 45px; margin-bottom: 50px; cursor: pointer; user-select: none;
	  font-family: 'Montserrat', sans-serif; font-size: 16px; font-weight: 300; font-style: normal; color: rgb(0, 0, 0); line-height: 24px; text-align: justify;
	}

	#registry .container input {
	  width: 0; height: 0; position: absolute; opacity: 0; cursor: pointer;
	}

	#registry .checkmark {
	  width: 25px; height: 25px; top: -1px; left: 0; position: absolute; background-color: #fff;
	}

	#registry .container input:checked ~ .checkmark {
	  background-color: #d21724;
	}

	#registry .checkmark:after {
	  content: ""; position: absolute; display: none;
	}

	#registry .container input:checked ~ .checkmark:after {
	  display: block;
	}

	#registry .container .checkmark:after {
	  width: 5px; height: 10px; top: 5px; left: 9px; border: solid white; border-width: 0 3px 3px 0;
	  -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg);  transform: rotate(45deg);
	}

/******************** PARTNERS ************************************************************/

	#partners {
		width: 100%; padding-top: 120px; padding-bottom: 80px;
	}

	#partners .wrapper {
		width: calc(100% - 100px); max-width: 1400px; min-width: 1400px; margin: 0 auto; padding: 0 50px; text-align: center;
	}

	#partners h2 {
		font-size: 32px; font-weight: bold; color: #203e5c; text-align: center; text-transform: uppercase;
	}

	#partners hr {
		width: 150px; height: 2px; margin: 20px auto 0; border: 0; background: #ed1c24;
	}

	#partners .container {
		margin: 50px 0; display: -webkit-flex; -webkit-flex-flow: row wrap; -webkit-align-content: flex-end; -webkit-justify-content: center; display: flex; flex-flow: row wrap; align-content: flex-end; justify-content: center;
	}

	#partners .item {
		width: 350px; margin: 40px 30px;
	}

	#partners .item img {
		width: 100%; height: auto; border: 5px solid #f1f4f6;
	}

/******************** CONTACTS ************************************************************/

	#contacts {
		width: 100%; padding-top: 80px; padding-bottom: 50px;
	}

	#contacts .wrapper {
		width: calc(100% - 100px); max-width: 1400px; min-width: 1400px; margin: 0 auto; padding: 0 50px; text-align: center;
	}

	#contacts h2 {
		font-size: 32px; font-weight: bold; color: #203e5c; text-align: center; text-transform: uppercase;
	}

	#contacts hr {
		width: 150px; height: 2px; margin: 20px auto 0; border: 0; background: #ed1c24;
	}

	#contacts .container {
		margin: 50px 0; display: -webkit-flex; -webkit-flex-flow: row wrap; -webkit-align-content: flex-end; -webkit-justify-content: center; display: flex; flex-flow: row wrap; align-content: flex-end; justify-content: center;
	}

	#contacts .item {
		width: 25%;
	}

	#contacts .item img {
		width: 100%; height: auto; 
	}

	#contacts span {
		margin-top: 60px; display: inline-block; font-size: 18px; font-weight: 500; color: #2a2a2a;
	}

/******************** CONTENT ************************************************************/

	#content {
		width: 100%; padding-top: 80px; padding-bottom: 100px; min-height: 60vh;
	}

	#content .wrapper {
		width: calc(100% - 100px); max-width: 1200px; min-width: 1200px; margin: 0 auto; padding: 0 50px; text-align: center;
	}

	#content h2 {
		font-size: 32px; font-weight: bold; color: #203e5c; text-align: center; text-transform: uppercase;
	}

	#content hr {
		width: 150px; height: 2px; margin: 20px auto 20px; border: 0; background: #ed1c24;
	}

	#content p {
		padding-top: 30px; font-size: 16px; font-weight: 400; color: #2a2a2a; text-align: center; line-height: 28px;
	}

	#content a {
		font-size: 16px; font-weight: 400; color: #001dcf; text-align: justify; text-decoration: underline;
	}

/******************** LOGIN ************************************************************/

	#login {
		width: 100%; padding-top: 80px; padding-bottom: 100px; min-height: 60vh;
	}

	#login .wrapper {
		width: calc(100% - 100px); max-width: 400px; min-width: 400px; margin: 0 auto; padding: 0 50px; text-align: center;
	}

	#login h2 {
		font-size: 32px; font-weight: bold; color: #203e5c; text-align: center; text-transform: uppercase;
	}

	#login hr {
		width: 150px; height: 2px; margin: 20px auto 20px; border: 0; background: #ed1c24;
	}

	#login p {
		padding-top: 30px; font-size: 16px; font-weight: 400; color: #2a2a2a; text-align: center; line-height: 28px;
	}

	#login a {
		font-size: 16px; font-weight: 400; color: #001dcf; text-align: justify; text-decoration: underline;
	}

	.input {
		padding-top: 15px;
	}

	.input input[type="text"] {
		width: 280px; padding: 15px 20px; font-size: 18px; font-weight: 500; color: #20272d; border: 1px solid #e3e3e3;
	}

	.input input[type="text"]:focus {
		color: #212529; background-color: #fff; border-color: #bdbdbd; outline: 0; box-shadow: 0 0 0 0.2rem rgba(158, 158, 158, 0.25);
	}

	.input input[type="password"] {
		width: 280px; padding: 15px 20px; font-size: 18px; font-weight: 500; color: #20272d; border: 1px solid #e3e3e3;
	}

	.input input[type="password"]:focus {
		color: #212529; background-color: #fff; border-color: #bdbdbd; outline: 0; box-shadow: 0 0 0 0.2rem rgba(158, 158, 158, 0.25);
	}

	#login .button {
	  margin-top: 15px; margin-bottom: 15px; display: inline-block; position: relative; text-decoration: none; text-align: center;
	}

	#login .button > span {
	  display: block; padding: 20px 50px; font-size: 16px; font-weight: bold; color: #fff;
	  background: #d21724;
	}

/******************** CABINET ************************************************************/

	#cabinet {
		width: 100%; padding-top: 80px; padding-bottom: 100px; min-height: 60vh;
	}

	#cabinet .wrapper {
		width: calc(100% - 100px); max-width: 800px; min-width: 800px; margin: 0 auto; padding: 0 50px; text-align: left;
	}

	#cabinet h2 {
		font-size: 32px; font-weight: bold; color: #203e5c; text-align: center; text-transform: uppercase;
	}

	#cabinet hr {
		width: 150px; height: 2px; margin: 20px auto 20px; border: 0; background: #ed1c24;
	}

	#cabinet p {
		padding-top: 5px; font-size: 16px; font-weight: 400; color: #2a2a2a; line-height: 28px;
	}

	#cabinet a {
		font-size: 16px; font-weight: 400; color: #001dcf; text-align: justify; text-decoration: underline;
	}

