/* =================================
  Base Element Styles
==================================== */
label[for=exp-month] {
  padding-top: 1em;
}

* {
  box-sizing: border-box;
}

body,
input,
button {
  font: .7rem/1.5 'Merriweather', serif, Helvetica, 'Century Gothic';
}

body {
  margin: 0;
  color: #2d3944;
  background-color: #D3DDDC;
  min-height: 100vh;
}

h2 {
  font-weight: 300;
  color: #fff;
  margin: 0;
  font-size: 1.25em;
}

#formTitle {
  font-size: .75em;
  background-color: #2d3944;
  color: #fff;
  text-transform: uppercase;
  text-align: center;
  font-weight: bold;
  margin: 0;
  padding: 3em;
  width: 100%;
}

.container {
  /* background-color: #D3DDDC */
}

h1 {
	font-size: 2.5em;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.45);
	margin: 0;
}

a {
  text-decoration: none;
}

.errorDiv {
  position: relative;
  /* margin-bottom: 3.5em; */
}
span.error {
display: block;
margin-bottom: 1.125em;
border-radius: 5px;
text-align: center;
position: absolute;
background: #2F558E;
width: 250px;
padding: 7px 10px;
color: #fff;
}

span:after {
  left: 45%;
  top: 0%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
  border-color: rgba(136, 183, 213, 0);
  border-bottom-color: #2F558E;
  border-width: 8px;
  margin-top: -16px;
}

#mail {
  /* margin-bottom: 3em; */
}

#signup {
  margin-top: 2em;
  text-align: center;
  border-bottom: 4px solid #2d3944;
  padding: .75em .5em 1.5em;
  position: relative;
  margin-bottom: 2em;
}

#signup::before {
  content: "";
  position: absolute;
  width: 100%;
  border-bottom: 2px solid #2d3944;
  top: -8px;
  bottom: -9px;
  left: 0px;
  right: -8px;
}

#signup h1 {
  font-size: 2em;
  margin-bottom: .25em;
}

#signup h2 {
  font-size: 1.25em;
  color: #7c7c7c;
}


/* =================================
  Form Element Styles
==================================== */

form {
	/* padding: .875em 1.875em 1.875em; */
	/* background: #85b5ca; */
}

form {
  max-width: 600px;
  margin: auto;
  margin-top: 0;
  padding: 0 20px 12px;
  background: #D3DDDC;
}

fieldset,
legend,
button {
	padding: 0;
	border: none;
}

fieldset {
	margin-top: 1.5em;
}

legend,
button {
	font-size: 1.25em;
}

legend {
  font-size: 1.5em;
	font-weight: bold;
	padding-top: .5em;
	border-top: 2px solid #2d3944;
	margin-bottom: 1.125em;
  width: 100%;
}

.info {
  border: none;
}

/* input[type="text"],
input[type="email"],
legend {
	width: 100%;
} */

input[type="text"],
input[type="password"],
input[type="email"],
input[type="number"],
input[type="tel"],
textarea,
select {
  background: rgba(255,255,255,0.1);
  /* border: none; */
  border-radius: 8px;
  display: block;
  font-size: 16px;
  height: auto;
  margin: 0;
  outline: 0;
  width: 100%;
  background-color: #ededed;
  color: #8a97a0;
  margin-bottom: 22px;
  /* border:2px solid transparent;  */
  transition: all .25s ease-out;
}

input[type="email"] {
  /* padding: 0; */
  margin: .5em 0;
}

label[for="title"] {
  margin-top: 1.5em;
}

label {
	color: #7c7c7c;
  font-size: 1.25em;
	display: block;
	margin-bottom: .5em;
}

input,
select {
	margin-bottom: 1.125em;
}

input {
	font-size: 1em;
	font-weight: 500;
	padding: .8em;
	background: #c1deeb;
	border: 2px solid #c1deeb;
	outline: none;
}

input:focus {
	background: #fff;
	border-color: #5e97b0;
	transition: border-color .4s, background-color .4s;
}

input[type="checkbox"],
input[type="radio"] {
	display: inline-block;
}

button {
	color: #fff;
	padding: .55em 1.25em;
	background: #22627e;
	margin: 1.25em 0 .5em;
	cursor: pointer;
}

button:hover {
	background: #184c62;
}

.total, .activityError {
  font-size: 1.25em;
}

/* =================================
  Page Styles
==================================== */

.container {
	margin: 2em auto;
	max-width: 680px;
}

.shirt div {
	float: left;
	margin-right: .85em;
}

.interests input {
	margin-bottom: 0;
}

.credit-card {
	margin-top: 1.25em;
}

.error-message {
  color: #e5001a;
}

.error-border {
  border: 1px solid #e5001a;
}

footer {
  color: #8a97a0;
  text-align: center;
  font-style: italic;
  margin-top: 0;
  padding-bottom: 2.75em;
  background-color: #D3DDDC;
}
/* =================================
  Helper Classes
==================================== */

.is-hidden {
	display: none;
}

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

.test {
  float: right;
}

/* =================================
  Media Queries
==================================== */

@media (min-width: 0) and (max-width: 768px) {
	button {
		width: 100%;
	}
}

@media (min-width: 768px) {
  body {
    background-color: #fff;
  }
	header {
		/* padding: 4.65em 0 2.5em; */
	}
  form {
  max-width: 600px;
  margin: 10px auto;
  margin-top: 2em;
  border-radius: .2em;
  border: solid 1px #fff;
  box-shadow: 0 1px 14px rgba(0,0,0, .12);
  }
  button {
    margin-top: 0;
    padding: 1.5em 8em;
    text-align: center;
  }
  .button {
    margin: 1.25em auto;
    text-align: center;
  }
  footer {
  background-color: #fff;
  padding-top: 1.75em;
  }
	.col {
		float: left;
	}
	.col + .col {
		margin-left: 2.5%;
	}
	.col-3 {
		width: 23%;
	}
	.col-6 {
		width: 49%;
	}
}
