.clearfix:after {
	content: "";
	display: block;
	clear: both;
}

.ellipsis {
	white-space: nowrap; /* 1 */
	text-overflow: ellipsis; /* 2 */
	overflow: hidden;
}

/* Buttons styles */

.btn {
	font-size: .75rem;
	border: 2px solid #fff;
	text-transform: uppercase;
	display: inline-block;
	vertical-align: middle;
	font-weight: 600;
	font-family: "Work Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	letter-spacing: 1px;
	padding: .5625rem 1.25rem;
	background-color: #5627ad;
}

.btn:hover {
	color: #5627ad;
	background-color: #fff;
	border: 2px solid #5627ad;
}

.btn:focus {
	box-shadow: 0 0 0 2px rgba(86, 39, 173, .3);
}

.btn-transparent {
	background-color: transparent;
	color: #fff;
}

.btn-select {
	background-color: transparent;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    border-radius: 0.25rem;
    -webkit-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.btn-select:hover {
    color: #495057;
    border: 1px solid #ced4da;
}
.btn-select:focus {
    color: #495057;
    background-color: #fff;
    border-color: #80bdff;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgb(0 123 255 / 25%);
}

/*common page styles*/

#wrapper {
	position: relative;
	overflow: hidden;
}

h2,
h4 {
	font-weight: 500;
}

img {
	max-width: 100%;
}

small {
	font-size: .875rem;
}

.container {
	max-width: 90.625rem;
	padding: 0 .9375rem;
}

/*blocks with gradient background*/

.gradient-bg {
	background-image: -webkit-linear-gradient(313deg, #d22b4f 0%, #65259f 50%, #03f 100%);
	background-image: linear-gradient(137deg, #d22b4f 0%, #65259f 50%, #03f 100%);
}

/*common shadow*/

.shadowed {
	box-shadow: 0 3px 40px rgba(0, 0, 0, .1);
}

a {
	-webkit-transition: color .3s linear, background-color .3s linear;
	transition: color .3s linear, background-color .3s linear;
	color: #fff;
}

a:hover {
	text-decoration: none;
}

input::-webkit-input-placeholder {
	color: #ccc;
}

input:-ms-input-placeholder {
	color: #ccc;
}

input::placeholder {
	color: #ccc;
}

.bg-stretch {
	background-color: rgba(86, 39, 173, .3);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: 50% 50%;
}

.page-top {
	position: relative;
	padding: 1.875rem 0;
}

.page-top:before,
.page-top:after {
	position: absolute;
	content: "";
	z-index: 1;
	left: 0;
	top: 100%;
	padding-top: 20%;
	background-size: cover;
	background-position: 50% 50%;
}

.page-top:before {
	right: 0;
	background-image: url("../images/waves-3x.png");
	background-position: 50% 100%;
}

body.join .page-top:before {
	background-image: none;
}

.page-top:after {
	padding: 0;
	left: 35%;
	width: 54.6875rem;
	height: 61.875rem;
	top: -21.25rem;
	background-image: url("../images/header-graph-2x.png");
}

.page-top .content-wrap {
	position: relative;
	z-index: 2;
}

.page-top .logo {
	margin-bottom: 3.125rem;
}

.logo {
	-webkit-transition: opacity .3s linear;
	transition: opacity .3s linear;
}

.logo a {
	display: inline-block;
	vertical-align: middle;
}

.logo:hover {
	opacity: .5;
}

.page-visual {
	padding-top: 25%;
	position: relative;
	margin-bottom: 6.25rem;
}

.page-visual .text-wrap {
	max-width: 54.0625rem;
	margin: 0 auto 3.75rem;
	padding: 0 .9375rem;
	text-align: center;
	color: #fff;
}

.page-visual .main-image {
	margin: 0 auto;
	position: relative;
	padding: 0 1.25rem;
	max-width: 17.5rem;
}

.page-visual .left-decor,
.page-visual .right-decor,
.page-visual .top-decor {
	position: absolute;
	content: "";
	border-radius: 50%;
	overflow: hidden;
}

.page-visual .left-decor {
	top: 2.4375rem;
	left: .5rem;
	width: 4.6875rem;
	height: 4.6875rem;
}

.page-visual .right-decor {
	top: 5rem;
	left: 11.875rem;
	width: 5rem;
	height: 5rem;
}

.page-visual .top-decor {
	top: 1.25rem;
	left: 12.75rem;
	width: 2.5rem;
	height: 2.5rem;
}

.anchor {
	position: absolute;
	top: 100%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 3.125rem;
	height: 3.125rem;
	background-color: #fff;
}

.anchor:hover {
	background-color: #ccc;
}

.info-box {
	margin-bottom: 3.125rem;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
	text-align: center;
}

.info-box.reverse {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
}

.info-box.reverse .decor-small {
	left: auto;
	right: 1.875rem;
}

.info-box.reverse .decor-big {
	left: auto;
}

.info-box h3 {
	font-weight: 300;
}

.info-box .image-block {
	position: relative;
	text-align: center;
	display: inline-block;
	vertical-align: middle;
}

.info-box .text-block {
	margin-bottom: 4.375rem;
}

/*rounded decor images*/

.decor-image {
	position: absolute;
	border-radius: 50%;
	box-shadow: 0 3px 40px rgba(0, 0, 0, .1);
}

.iconed-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-flow: row wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-around;
	margin: 0 auto 6.875rem;
	max-width: 31.25rem;
}

.iconed-list li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-bottom: 1.25rem;
}

.iconed-list .icon-wrap {
	margin-right: 2.1875rem;
	-ms-flex-negative: 0;
	flex-shrink: 0;
	min-width: 60px;
}

.call-to-action {
	padding: 3.125rem .9375rem;
	position: relative;
}

.call-to-action:before,
.call-to-action:after {
	position: absolute;
	content: "";
	background-size: cover;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	width: 31.25rem;
	top: 0;
	bottom: 0;
	pointer-events: none;
}

.call-to-action:before {
	background-image: url("../images/decor-set-left-2x.png");
	left: -30%;
}

.call-to-action form {
	max-width: 52.1875rem;
	margin: 0 auto;
}

.call-to-action .input-wrap {
	padding-top: 1.875rem;
}

.call-to-action .btn:hover {
	background-color: #fff;
	color: #5627ad;
}

/*form styles*/

form input {
	border: none;
	border-bottom: 2px solid white;
	background-color: transparent;
	outline-color: rgba(255, 255, 255, .3);
	margin: 0 1.25rem 1.875rem 0;
	padding: 5px 10px;
	color: #fff;
	-webkit-appearance: none;
	border-radius: 0;
}
form input[type=checkbox] {
	-webkit-appearance: checkbox;
	margin: 0 0.25rem 1.875rem 0;
}

form input.input-error {
	border-bottom: 2px solid #dc3545;
}

form input.input-error::-webkit-input-placeholder {
	color: #dc3545;
}

form input.input-error:-ms-input-placeholder {
	color: #dc3545;
}

form input.input-error::placeholder {
	color: #dc3545;
}

.page-header {
	max-width: 90.625rem;
	margin: 0 auto;
	padding: 2.5rem .9375rem;
	text-align: right;
}

.page-header .btn {
	color: #5627ad;
	border: 2px solid #5627ad;
	position: relative;
	z-index: 2;
	background-color: #fff;
}

.page-header .btn:hover {
	color: #fff;
	background-color: #5627ad;
}

/*footer styles*/

.page-footer {
	padding: 1.875rem 0;
	color: #b4b4b4;
}

.page-footer .copyright {
	font-size: .75rem;
}

.page-footer .copyright a {
	color: #b4b4b4;
}

.page-footer .copyright a:hover {
	color: #000;
}

body {
	min-width: 320px;
}

@media (min-width: 768px) {
	body {
		font-size: 1.25rem;
	}

	small {
		font-size: 1rem;
	}

	.page-top {
		padding: 1.875rem 0 7.8125rem;
	}

	.page-top .content-wrap {
		max-width: 40.625rem;
	}

	.page-visual .main-image {
		max-width: 43.125rem;
		padding: 0 3.125rem;
	}

	.page-visual .left-decor {
		width: 12.1875rem;
		height: 12.1875rem;
	}

	.page-visual .right-decor {
		top: 11.25rem;
		left: 32.25rem;
		width: 11.25rem;
		height: 11.25rem;
	}

	.page-visual .top-decor {
		top: -1.25rem;
		left: 25.25rem;
		width: 7.5rem;
		height: 7.5rem;
	}

	.info-box.reverse .decor-big {
		right: -6.25rem;
	}

	.decor-image.decor-small {
		width: 9.375rem;
		height: 9.375rem;
		left: 1.875rem;
		top: -3.5rem;
	}

	.decor-image.decor-big {
		width: 11.25rem;
		height: 11.25rem;
		top: 5rem;
		left: -6.25rem;
	}

	.iconed-list {
		max-width: 70.625rem;
	}

	.iconed-list li {
		width: 47%;
	}

	.call-to-action:after {
		background-image: url("../images/decor-set-right-2x.png");
		right: -30%;
	}

	.call-to-action {
		min-height: 36.875rem;
	}

	form input {
		margin-bottom: 0;
	}
}

@media (min-width: 992px) {
	.page-top .content-wrap {
		padding-left: 8.125rem;
	}

	.page-visual {
		margin-bottom: 9.375rem;
	}

	.page-visual .main-image {
		padding: 0;
	}

	.page-visual .right-decor {
		width: 16.25rem;
		height: 16.25rem;
	}

	.info-box {
		text-align: left;
		margin-bottom: 7rem;
		padding-left: 7.5rem;
	}

	.info-box:last-of-type {
		margin-bottom: 9.6875rem;
	}

	.info-box.reverse {
		padding: 0 7.5rem 0 0;
	}

	.info-box.reverse .decor-big {
		right: -7.5rem;
	}

	.info-box.reverse .image-block {
		margin: 0 0 0 1.875rem;
	}

	.info-box .image-block {
		margin: 0 1.875rem 0 0;
		min-width: 28.125rem;
	}

	.info-box .text-block {
		margin-bottom: 0;
		width: 49%;
	}

	.decor-image.decor-big {
		width: 13.125rem;
		height: 13.125rem;
		left: -7.5rem;
	}

	.call-to-action:before {
		left: -10%;
	}

	.call-to-action:after {
		right: -10%;
	}
}

@media (min-width: 1200px) {
	.info-box {
		padding: 0 7.5rem;
	}

	.info-box.reverse {
		padding: 0 7.5rem;
	}
}

strong {
	font-weight: 700;
}

/* fake honeypot class */
.display-required-join-form {
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
	height: 0;
	width: 0;
	z-index: -1;
}