/*
Theme Name: Boat Show Promo - Win a Magazine Subscription
Theme URI: http://underscores.me/
Author: Codex Digital
Author URI: https://www.codexdigital.com.au/
Description: Custom Theme For Nautilus Marine Boat Show Promotion
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: boatshowpromo
*/

/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
html {
	font-family: sans-serif;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust:     100%;
}

body {
	margin: 0;
}

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

audio,
canvas,
progress,
video {
	display: inline-block;
	vertical-align: baseline;
}

audio:not([controls]) {
	display: none;
	height: 0;
}

[hidden],
template {
	display: none;
}

a {
	background-color: transparent;
}

a:active,
a:hover {
	outline: 0;
}

abbr[title] {
	border-bottom: 1px dotted;
}

b,
strong {
	font-weight: bold;
}

dfn {
	font-style: italic;
}

h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

mark {
	background: #ff0;
	color: #000;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

img {
	border: 0;
}

svg:not(:root) {
	overflow: hidden;
}

figure {
	margin: 1em 40px;
}

hr {
	box-sizing: content-box;
	height: 0;
}

pre {
	overflow: auto;
}

code,
kbd,
pre,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
	color: inherit;
	font: inherit;
	margin: 0;
}

button {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer;
}

button[disabled],
html input[disabled] {
	cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input {
	line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

fieldset {
	border: 1px solid #c0c0c0;
	margin: 0 2px;
	padding: 0.35em 0.625em 0.75em;
}

legend {
	border: 0;
	padding: 0;
}

textarea {
	overflow: auto;
}

optgroup {
	font-weight: bold;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

td,
th {
	padding: 0;
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/

@font-face {
	font-family: 'NSP';
	src: url('/wp-content/themes/boatshowpromo/fonts/NSP-Medium-Italic.woff') format('woff');
	font-weight: 500;
	font-style: italic;
}

@font-face {
	font-family: 'NSP';
	src: url('/wp-content/themes/boatshowpromo/fonts/NSP-Medium.woff') format('woff');
	font-weight: 500;
	font-style: normal;
}

@font-face {
	font-family: 'NSP';
	src: url('/wp-content/themes/boatshowpromo/fonts/NSP-Light.woff') format('woff');
	font-weight: 300;
	font-style: normal;
}

@font-face {
	font-family: 'NSP';
	src: url('/wp-content/themes/boatshowpromo/fonts/NSP-Light-Italic.woff') format('woff');
	font-weight: 300;
	font-style: italic;
}

@font-face {
	font-family: 'NSP';
	src: url('/wp-content/themes/boatshowpromo/fonts/NSP-Italic.woff') format('woff');
	font-weight: normal;
	font-style: italic;
}

@font-face {
	font-family: 'NSP';
	src: url('/wp-content/themes/boatshowpromo/fonts/NSP-Ultra-Italic.woff') format('woff');
	font-weight: 900;
	font-style: italic;
}

@font-face {
	font-family: 'NSP';
	src: url('/wp-content/themes/boatshowpromo/fonts/NSP-Ultra.woff') format('woff');
	font-weight: 900;
	font-style: normal;
}

@font-face {
	font-family: 'NSP';
	src: url('/wp-content/themes/boatshowpromo/fonts/NSP-Regular.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'NSP';
	src: url('/wp-content/themes/boatshowpromo/fonts/NSP-Bold.woff') format('woff');
	font-weight: bold;
	font-style: normal;
}

@font-face {
	font-family: 'NSP';
	src: url('/wp-content/themes/boatshowpromo/fonts/NSP-Bold-Italic.woff') format('woff');
	font-weight: bold;
	font-style: italic;
}

h1, h2 {
	line-height: 1.1em;
	font-family: NSP, sans-serif;
}

h1,
h2,
h3 {
	margin: 0;
	text-align: center;
}

h2 {
	font-size: 34px;
	color: #2d3949;
	font-weight: 400;
}

@media (min-width:768px) {
	h2 {
		font-size: 40px;
	}
}

@media (min-width: 992px) {
	h2 {
		font-size: 44px;
	}
}

@media (min-width:1270px) {
	h2 {
		font-size: 48px;
	}
}

h2.terms-and-conditions-heading {
	margin-bottom: 3rem !important;
}

h3 {
	display: block;
	font-family: "Source Sans Pro", Arial, sans-serif;
	font-style: normal;
	color: #6e6e6e;
	margin: 10px 0;
	font-weight: 400;
	font-size: 20px;
}

@media (min-width: 992px) {
	h3 {
		font-size: 23px;
	}
}

@media (min-width:1270px) {
	h3 {
		font-size: 26px;
	}
}

h4 {
	color: #445060;
	font-family: NSP, sans-serif;
	font-weight: 400;
	line-height: 1.4em;
	text-align: center;
	font-size: 20px;
}

@media (min-width: 992px) {
	h4 {
		font-size: 23px;
	}
}

@media (min-width:1270px) {
	h4 {
		font-size: 26px;
	}
}

h5 {
	color: #445060;
	font-family: NSP, sans-serif;
	font-weight: 400;
	line-height: 1.4em;
	text-align: left;
	font-size: 16px;
	margin: 0 0 0.5rem 0;
}

@media (min-width:1270px) {
	h5 {
		font-size: 18px;
	}
}

ol {
	margin-left: 0 !important;
}

li {
	padding-bottom: 0.5rem;
}

body,
button,
input,
select,
textarea {
	color: #404040;
	font-family: 'NSP', sans-serif;
	font-size: 1rem;
	line-height: 1.5;
}

input,
select {
	font-family: "Open Sans", Arial, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

p {
	margin-top: 0;
	margin-bottom: 1.5em;
}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
html {
	box-sizing: border-box;
}

*,
*:before,
*:after { /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
	box-sizing: inherit;
}

body {
	background: #fff; /* Fallback for when there is no custom background color defined. */
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
}

blockquote,
q {
	quotes: "" "";
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: bold;
}

dd {
	margin: 0 1.5em 1.5em;
}

img {
	height: auto; /* Make sure images are scaled correctly. */
	max-width: 100%; /* Adhere to container width. */
}

figure {
	margin: 1em 0; /* Extra wide images within figure tags don't overflow the content area. */
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/
a {
	color: #009cce;
}

a:visited {
	color: #009cce;
}

a:hover,
a:focus,
a:active {
	color: #009cce;
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

/*--------------------------------------------------------------
## Gift Card Promo - Start
--------------------------------------------------------------*/
body {
	background-color: white;
}


/*--------------------------------------------------------------
## Container
--------------------------------------------------------------*/

.container {
	margin: 0 20px;
}

@media (min-width:768px) {
	.container {
		width: 700px;
		margin: 0 auto;
	}
}

@media (min-width:992px) {
	.container {
		width: 880px;
	}
}

@media (min-width:1270px) {
	.container {
		width: 1170px;
	}
}




/*--------------------------------------------------------------
## Header
--------------------------------------------------------------*/

.site-header {
	height: 100px;
	background-color: white;
}

@media (min-width:768px) {
	.site-header {
		height: 130px;
	}
}

.site-header .container {
	height: 100px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

@media (min-width:768px) {
	.site-header .container {
		height: 130px;
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
	}
}

.site-header .container .brand {
	height: 60px;
	display: flex;
}

@media (min-width:768px) {
	.site-header .container .brand {
		height: 80px;
	}
}

.site-header .container .brand img {
	height: 60px;
}

@media (min-width:768px) {
	.site-header .container .brand img {
		height: 80px;
	}
}

.site-header .button {
	display: none;
}

@media (min-width:768px) {
	.site-header .button {
		display: flex;
		align-items: center;
		background-color: rgba(0, 0, 0, 0);
		background-image: none;
		background-origin: padding-box;
		background-size: auto;
		border-bottom-color: rgb(0, 156, 206);
		border-bottom-style: solid;
		border-bottom-width: 2px;
		border-left-color: rgb(0, 156, 206);
		border-left-style: solid;
		border-left-width: 2px;
		border-right-color: rgb(0, 156, 206);
		border-right-style: solid;
		border-right-width: 2px;
		border-top-color: rgb(0, 156, 206);
		border-top-style: solid;
		border-top-width: 2px;
		box-sizing: border-box;
		color: rgb(0, 156, 206);
		cursor: pointer;
		font-family: "Source Sans Pro", sans-serif;
		font-size: 16px;
		font-weight: 700;
		letter-spacing: 0.2px;
		line-height: 16px;
		margin-bottom: 0px;
		margin-left: 15px;
		margin-right: 0px;
		margin-top: 0px;
		padding-bottom: 12.8px;
		padding-left: 19.2px;
		padding-right: 19.2px;
		padding-top: 12px;
		text-align: left;
		text-decoration-color: rgb(0, 156, 206);
		text-decoration-line: none;
		text-decoration-style: solid;
		text-size-adjust: 100%;
		transition-delay: 0s;
		transition-duration: 0.2s;
		transition-property: all;
		transition-timing-function: ease-in-out;
		white-space: nowrap;
	}
}



/*--------------------------------------------------------------
## Banner
--------------------------------------------------------------*/

.banner {
	width: 100%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	padding: 6rem 0;
	background-image:url('img/banner-bg-small.jpg');
	overflow: hidden;
}

@media (min-width:768px) {
	.banner	{
		padding: 100px 0;
	}
}

@media (min-width:1270px) {
	.banner	{
		background-image:url('img/banner-bg-large.jpg');
	}
}

@media (min-width:1400px) {
	.banner	{
		height: 750px;
	}
}

.banner-container {
	margin: 0 auto;
	width: 90%;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

@media (min-width:768px) {
	.banner-container {

	}
}

@media (min-width: 992px) {
	.banner-container {

	}
}

@media (min-width:1270px) {
	.banner-container {
		flex-direction: row;
		width: 80%;
	}
}

@media (min-width:1400px) {
	.banner-container {

	}
}


.banner .text {
	width: 80%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 2;
}

@media (min-width:768px) {
	.banner .text {
		width: 80%;
	}
}

@media (min-width: 992px) {
	.banner .text {
		width: 70%;
	}
}

@media (min-width:1270px) {
	.banner .text {
		width: 50%;
	}
}

@media (min-width:1400px) {
	.banner .text {

	}
}


.banner .text .banner-text-image {
	transform-origin: center center;

}

@media (min-width:768px) {
	.banner .text .banner-text-image {
		width: 75%;
	}
}

@media (min-width: 992px) {
	.banner .text .banner-text-image {

	}
}

@media (min-width:1270px) {
	.banner .text .banner-text-image {
		width: 90%;
	}
}

@media (min-width:1400px) {
	.banner .text .banner-text-image {
		width: 80%;
	}
}

@media (min-width:2000px) {
	.banner .text .banner-text-image {
		width: 50%;
	}
}

.banner .text h4 {
	margin-bottom: 0;
}

@media (min-width:768px) {
	.banner .text h4 {

	}
}

@media (min-width: 992px) {
	.banner .text h4 {

	}
}

@media (min-width:1270px) {
	.banner .text h4 {

	}
}

@media (min-width:1400px) {
	.banner .text h4 {

	}
}

@media (min-width:2000px) {
	.banner .text h4 {
		width: 80%;
	}
}


.banner .image {
	width: 80%;
	transform-origin: center center;
	transform: scale(1) translateX(0);
}

@media (min-width:768px) {
	.banner .image {
		width: 60%;
	}
}

@media (min-width: 992px) {
	.banner .image {
		width: 60%;
	}
}


@media (min-width:1270px) {
	.banner .image {
		display: block;
		position: relative;
		z-index: 1;
		width: 50%;
		transform: scale(1.5) translateX(4rem);
	}
}

@media (min-width:1400px) {
	.banner .image {
		transform: scale(1.2) translateX(2rem);
	}
}

@media (min-width:1920px) {
	.banner .image {
		transform: scale(1.2) translateX(0);
	}
}



/*--------------------------------------------------------------*/
/* Content Body - Below */
/*--------------------------------------------------------------*/

.main-container {
	background-color: white;
	padding: 40px 0 80px 0;
	display: flex;
	flex-direction: column;
}

.main-container > :last-child {
	margin-bottom: 0;
}

@media (min-width: 768px) {
	.main-container {
		padding: 70px 0 100px 0;
	}
}

@media (min-width: 1270px) {
	.main-container  {
		padding: 90px 0 100px 0;
	}
}

.main-container h2 {
	margin: 0 auto;
	width: 70%;
}

@media (min-width: 768px) {
	.main-container h2 {
		width: 70%;
	}
}

@media (min-width: 992px) {
	.main-container h2 {
		width: 70%;
	}
}

@media (min-width: 1270px) {
	.main-container h2 {
		width: 100%;
	}
}

.main-container .small {
	font-size: 12px;
	font-weight: 400;
	text-align: center;
	color: #818181;
	font-family: "Open Sans", Arial, sans-serif;
	font-style: normal;
	width: 100%;
	margin: 2rem auto 0 auto;
}

@media (min-width: 992px) {
	.main-container .small {
		width: 70%;
	}
}

/*--------------------------------------------------------------*/
/* arrow */
/*--------------------------------------------------------------*/
.arrow {
	position: fixed;
	color: #009cce;
	bottom: 0;
	left: 0;
	z-index: 900;
	height: 100px;
	width: 100vw;
	/* background-color: #ff00007a; */
	text-align: center;
	font-size: 16px;
	pointer-events: none;
	display: none;
}

@media (min-width: 992px) {
	.home .arrow {
		display: block;
	}
}

@keyframes bounce {
	0%, 20%, 50%, 80%, 100% {
		transform: translateY(0);
		opacity:0.8;
	}

	40% {
		transform: translateY(-30px);
		opacity:0.3;
	}

	60% {
		transform: translateY(-15px);
		opacity:0.6;
	}
}

@keyframes bounce_two {
	100% {
		opacity:0;
	}

	0% {
		opacity:0.8;
	}
}

.bounce {
	animation: bounce 2s infinite;
}

.sticky .bounce {
	opacity: 0;
	animation: bounce_two 0.5s;
}




/*--------------------------------------------------------------*/
/* Gravity Forms */
/*--------------------------------------------------------------*/

.gform_wrapper {
	margin-top:50px;
}

.gform_fields,
.gform_fields li,
.gform_fields > div.gfield {
	margin: 0;
	padding: 0;
	list-style: none;
}

.gform_fields li,
.gform_fields > div.gfield {
	margin:20px 0;
}

@media (min-width:768px) {
	.gform_fields li,
	.gform_fields > div.gfield {
		width:49%;
		display:inline-block;
		vertical-align: top;
	}

	.gform_fields li:nth-of-type(odd),
	.gform_fields > div.gfield:nth-of-type(odd) {
		margin-right:1%
	}

	.gform_fields li:nth-of-type(even),
	.gform_fields > div.gfield:nth-of-type(even) {
		margin-left:1%
	}
}

.gfield_label {
	font-weight: 500;
	font-size: 22px;
	color: #0a0a0a;
	display: block;
	margin-bottom: 0.75rem;
}

.gfield_required {
	display: none;
}

input[type="text"],
input[type="email"],
select.gfield_select {
	height: 70px;
	width: 100%;
	padding: 20px;
	border-width: 0 0 4px 0;
	border-color: #e9e9e9;
	border-style: solid;
	background-color: rgba(240, 249, 252, 0.5);
	color: #0a0a0a;
}

input[type="text"]:focus,
input[type="email"]:focus,
select.gfield_select:focus {
	background-color: rgba(240, 249, 252, 1);
	outline:0;
	border-color: #33b0d8;
}

select.gfield_select option {
	color:#222;
	padding:10px;
	display:block;
}

.gform_footer {
	text-align: center;
}

input[type="submit"] {
	height: 90px;
	padding: 0 40px;
	margin-top: 30px;
	border-width: 0;
	text-transform: uppercase;
	background-color: #009cce;
	color: white;
	font-size: 18px;
	font-weight: bold;
}

@media (min-width:768px) {
	input[type="submit"] {
		font-size: 28px;
	}
}

/* Validation colors */
.validation_error {
	font-size: 16px;
	font-weight: 500;
	padding: 1.5rem;
	margin: 0 0 1rem 0;
	background-color: rgba(237, 27, 36, 0.1);
	text-align: center;
	color: #ff8d4a;
}

.validation_message {
	margin-top: 1rem;
	color: #ff8d4a;
	font-weight: 500;
}

.gfield_error .ginput_container input,
.gfield_error .ginput_container select {
	border-color: #ff8d4a;
}

/* Overwriting the default gravity forms spinner */
/* Pairs up with code in functions.php (Gravity Forms CSS spinner) */
.gform_ajax_spinner {
	margin-left: 20px;				/* give it some space from the Submit button */
	border: 4px solid white;	/* match with border-left */
	border-left: 4px solid #009cce;
	animation: spinner 1.1s infinite linear;
	border-radius: 50%;
	width: 30px;					/* match with height for a circle */
	height: 30px;
}

@keyframes spinner {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}


/*--------------------------------------------------------------*/
/* Gravity Forms - Calendar */
/*--------------------------------------------------------------*/
.screen-reader-text {
	display: none;
}

select[multiple] + .chosen-container li.result-selected, td.ui-datepicker-current-day a.ui-state-active, ul.chosen-results li.active-result.result-selected {
	background: #92d34b;
	color: white;
}

.ui-datepicker
{
	width:300px;
}

.ui-datepicker table
{
	margin:15px 0 0;
}

.ui-datepicker a
{
	color:#222;
	text-decoration:none;
	display:block;
}

.ui-datepicker a:hover
{
	background-color:#92d44b4a;
}

.ui-datepicker .ui-icon
{
	position:relative;
	display:none;
}

a.ui-datepicker-prev,
a.ui-datepicker-next {
	float: left;
	width: 2em;
	height: 2em;
	line-height:2em;
	margin-top: 0;
	text-align:center;
}

a.ui-datepicker-next {
	float: right;
}

a.ui-datepicker-prev:after,
a.ui-datepicker-next:after
{
	content:'\f053';
	font-family:'FontAwesome'
}

a.ui-datepicker-next:after
{
	content:'\f054';
}

#ui-datepicker-div {
	background: white;
	padding: .5em;
	box-shadow: 0 0 10px 0 rgba(0,0,0,0.5);
}

table.ui-datepicker-calendar th, table.ui-datepicker-calendar td {
	padding: .25em;
}

a.ui-datepicker-next.ui-corner-all {
	float: right;
}

.ui-datepicker-title {
	text-align: center;
}

.ui-datepicker-title select {
	padding: .3em 1em;
	margin: 0 .15em;
}

td.ui-datepicker-week-end {
	background: #efefef;
}

table.ui-datepicker-calendar td {
	padding: .25em;
	text-align: center;
}

select[multiple] + .chosen-container li.result-selected {padding-left:.75em; background:black; color:white;}

td.ui-datepicker-current-day a.ui-state-active {
	display: block;
	border-radius: 5px;
}

input.datepicker_with_icon + img {
	width: 1.5em;
	position: relative;
	left: .5em;
	top: .25em;
}




/*--------------------------------------------------------------*/
/* Footer */
/*--------------------------------------------------------------*/

.site-footer {
	font-size: 14px;
	padding: 60px 0;
	background-color: #f4f4f7;
	font-weight: 300;
}

.site-footer h4 {
	font-size: 16px;
	margin-bottom: 0.75rem;
	font-weight: 500;
	text-align:left;
	color: #818181;
	margin-top: 0;
}

.site-footer .terms {
	color: #818181;
}

.site-footer .textwidget {
	display: block;
	font-family: "Open Sans", Arial, sans-serif;
	font-style: normal;
}

/*--------------------------------------------------------------*/
/* Thanks Page Specific */
/* Footer */
/*--------------------------------------------------------------*/

.page-id-27 .return-button {
	margin: 30px auto 0 auto;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	background-color: rgb(0, 156, 206);
	color: rgb(255, 255, 255);
	font-family: "Open Sans", Arial, sans-serif;
	font-size: 22px;
	line-height: 1.2em;
	font-style: normal;
	font-weight: 700;
	height: 90px;
	padding: 0 40px;
	text-align: center;
	text-decoration: none;
}

@media (min-width:1270px) {
	.page-id-27 .return-button {
		font-size: 28px;
	}
}

.hero-container {
	background: #adcce8;
}

.hero {
	margin: 0 auto;
	width: 100%;
	max-width: 1200px;
	display: block;
}