body {
	padding: 0;
	margin: 0;
	font-family: "Open Sans", Arial, Helvetica, sans-serif;
	color: #202020
}

* {
	box-sizing: border-box
}

.tc-newsletter {
	display: flex
}

.tc-newsletter-main {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: space-around
}

.tc-newsletter-content {
	width: 420px
}

.tc-newsletter-content h2 {
	font-size: 32px;
	font-weight: 800;
	line-height: 1.3em;
	margin-bottom: 20px;
	margin-top: 0
}

.tc-newsletter-content p {
	font-size: 17px;
	line-height: 1.6;
	margin-bottom: 30px
}

.tc-newsletter-content form {
	width: 100%
}

.tc-newsletter-content form input {
	border: none;
	border-bottom: 1px solid #b8b8b8;
	font-size: 16px;
	padding: 10px 0
}

.tc-newsletter-content form input::-moz-placeholder {
	font-weight: 700;
	color: #606060
}

.tc-newsletter-content form input::placeholder {
	font-weight: 700;
	color: #606060
}

.tc-newsletter-content form input:focus {
	border: none;
	outline: none;
	border-bottom: 1px solid #f23204
}

.tc-newsletter-content form input:focus::-moz-placeholder {
	color: rgba(96, 96, 96, .3)
}

.tc-newsletter-content form input:focus::placeholder {
	color: rgba(96, 96, 96, .3)
}

.tc-newsletter-content form button {
	padding: 15px;
	margin-top: 30px;
	background-color: #ffe1da;
	border: none;
	font-size: 18px;
	border-radius: 10px;
	color: #000;
	cursor: pointer
}

.tc-newsletter-content form button.btn-nextwave {
	background-color: #000
}

.tc-newsletter-content form button:hover {
	box-shadow: 0 6px 20px rgba(0, 0, 0, .11)
}

.tc-newsletter-content form input,
.tc-newsletter-content form button {
	width: 100%;
	margin-bottom: 20px;
	font-family: inherit;
	outline: none;
	transition: all 2s cubic-bezier(0.19, 1, 0.22, 1)
}

.tc-newsletter-background {
	flex: 1;
	display: flex;
	background-image: url("../img/tc-weekender-banner.png");
	background-size: cover
}

.tc-newsletter-background.nextwave-back {
	background-image: url("../img/next-wav-back.jpg")
}

.tc-newsletter-main,
.tc-newsletter-background {
	height: 100vh
}

.tc-newsletter-checkbox {
	margin-top: 10px;
	display: none;
	justify-content: space-between;
	grid-gap: .75em;
	font-size: 15px
}

.tc-newsletter .checkbox {
	display: grid;
	grid-template-columns: min-content auto;
	grid-gap: 0em;
	margin-bottom: 15px;
	flex-direction: column
}

.tc-newsletter .checkbox-control {
	display: inline-grid;
	width: 1em;
	border-radius: .25em;
	border: .1em solid currentColor
}

.tc-newsletter .checkbox-control svg {
	transition: transform .1s ease-in 25ms;
	transform: scale(0);
	transform-origin: bottom left
}

.tc-newsletter .checkbox-input {
	display: grid;
	grid-template-areas: "checkbox";
	align-items: center
}

.tc-newsletter .checkbox-input > * {
	grid-area: checkbox
}

.tc-newsletter .checkbox-input input {
	opacity: 0;
	width: 1em;
	margin-bottom: 0
}

.tc-newsletter .checkbox-input input:focus + .checkbox-control {
	box-shadow: 0 0 0 .05em #fff, 0 0 .15em .1em currentColor
}

.tc-newsletter .checkbox-input input:checked + .checkbox-control svg {
	transform: scale(1)
}

@media(max-width: 760px) {
	label {
		visibility: hidden
	}

	.tc-newsletter {
		max-width: 420px;
		margin: 0 auto;
		flex-direction: column-reverse
	}

	.tc-newsletter-main {
		padding: 0 25px 15px
	}

	.tc-newsletter-main h2 {
		font-size: 24px;
		text-align: center;
		margin-bottom: 30px
	}

	.tc-newsletter-main p {
		margin-bottom: 40px;
		font-size: 16px
	}

	.tc-newsletter-main {
		height: auto
	}

	.tc-newsletter .checkbox-input input {
		width: .5em
	}

	.tc-newsletter .checkbox-radio-label {
		font-size: 15px
	}

	.tc-newsletter-background {
		flex: none;
		height: 400px;
		margin-bottom: 30px;
		background-image: url("../img/tc-weekender-banner.png")
	}

	.tc-newsletter-background.nextwave-back {
		background-image: url("../img/next-wav-back.jpg")
	}

	.tc-newsletter-checkbox {
		flex-direction: column
	}

	.tc-newsletter-checkbox .checkbox {
		grid-gap: .5em
	}
}