/*______________HTML ELEMENTS ______________*/
* {
  box-sizing: border-box;
}
html {
  height: 100%;
}
body {
  font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;
  line-height:1.8;
  min-height: 100%;
  position: relative;
}
button {
  color: rgb(51, 51, 51);
}
img {
  display: block;
  height: auto;
  width: 100%;
}
figcaption.caption {
    color: #6a5584;
    font-weight: 600;
    line-height: 1.6em;
    text-transform: uppercase;
    text-align: center;
  }

h1 {
  font-size:44px;
  font-weight: 700;
  line-height: 50px;
  margin:0;
  padding:0;
}
h2 {
  color:#333;
  font-size:30px;
  font-weight: 700;
  line-height: 36px;
  margin:0;
  margin-bottom:45px;
  padding:0;
  text-align: center;
}
h3 {
  color:#333;
  font-size:19px;
  font-weight: 700;
  line-height: 24px;
  text-align: center;
}
hr {
  border:0;
  border-bottom:1px solid #e5e5e5;
}
p {
  color:#333;
}

/*___________ GLOBAL ELEMENTS _______________*/
.center {
  margin:0 auto;
  text-align: center;
}
.bg-grey {
  background-color:#f5f5f5;
}
.fnt-bold {
  font-weight: 700;
}
.fnt-light {
  font-weight: 200;
}
.fnt-red {
  color:#d22323;
}

.fnt-white {
  color:#fff;
}

.fnt20 {font-size:20px;line-height: 32px;}


/*______________ HEADER ______________*/

header .headline {
  background-image: 
  url(http://image.e.yelp-business.com/lib/fe5915707c6207757012/m/3/d3000904-a288-411a-bc04-8cc0e9259acb.jpg);
  background-position: center center;
  background-repeat:no-repeat;
  background-size: cover;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
}

header img {
  max-width: 150px;
  padding-top:90px;
  padding-bottom:50px;
}

header h1 {
  color:#fff;
  font-size:30px;
  line-height: 37px;
}

header .headline div {
  margin:0 auto;
  max-width: 800px;
  padding:0 5%;
  text-align: center;
}
header img {margin:0 auto;}
header .headline h1 {text-align: center;}
header .header-p {
  color:#fff;
  font-size:20px;
  line-height: 26px;
  padding:40px 0;
  text-align: center;
}

header button {
  cursor:pointer;
  background: #d22323;
  border: none;
  border-radius: 4px;
  -moz-border-radius: 4px;
  color: #fff;
  font-weight: bold;
  font-size: 30px;
  height: 54px;
  margin: 0 auto;
  margin-bottom: 45px;
  position:relative;
  padding: 5px 76px;
  text-decoration: none;
}
header button:hover {
  background-color: #911818;
  cursor: pointer;
}

@media screen and (min-width: 480px){
  header .headline div {padding:0 3%;}
  header h1 {font-size:44px;line-height: 52px;}
  header .header-p {font-size:30px;
  line-height: 36px;}
  header button {
  margin-bottom: 90px;
  }
}

/*_____________HIDDEN FORM______________*/

.rsvp-form {
  max-width: 870px;
  margin:0 auto;
}
.hidden-form {
  margin:45px auto;
  padding:0 5%;
}
.hidden-form hr {
  max-width: 870px;
}
.hidden-form h2 {
  margin-bottom:0;
}
.hidden-form .subtext {
  color:#666;
  font-size: 15px;
  line-height: 21px;
  padding-bottom:40px;
  text-align: center;
}

.form-container {
  display: grid;
  grid-template-columns: 1fr;
}

label{
  color:#272425;
}

.form-control {
  display: block;
  width: 100%;
  padding: 6px 12px;
  font-size: inherit;
  line-height: 1.42857143;
  color: #555;
  background-color: #fff;
  background-image: none;
  border-radius: 4px;
  -moz-border-radius: 4px;
  border: 1px solid #ccc;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
  -webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
  }

input {
  margin-bottom:1em;
}

input.submitbtn,
a.submitbtn {
  cursor:pointer;
  background: #d22323;
  border: none;
  border-radius: 4px;
  -moz-border-radius: 4px;
  color: #fff;
  font-weight: bold;
  font-size: 30px;
  height: 54px;
  margin: 0 auto;
  margin-top: 40px;
  position:relative;
  padding: 5px 76px;
  text-decoration: none;
  -webkit-appearance: none;
  -moz-appearance:none;
}

input.submitbtn:hover,
a.submitbtn:hover {
  background-color: #911818;
  cursor: pointer;
}

.error-message {
  color:red;
  font-size:12px;
  font-style: italic;
  line-height: 16px;
  margin:0;
  margin-top:-15px;
  margin-bottom:10px;
  padding:0;
  text-align: left;
}

@media screen and (min-width: 480px){
  .form-container {
    display: grid;
    grid-gap: 2em;
    grid-template-columns: 1fr 1fr 1fr;
  }
  .hidden-form {
  margin:75px auto;
  }
}

/*________ 1 COLUMN CENTERED SECTION ______________*/
.one-col {
  background-color:#f5f5f5;
  padding:45px 0;
}
.one-col div {
  margin:0 auto;
  max-width: 900px;
  padding:0 5%;
  text-align: center;
}
.one-col h2 {
  color:#d22323;
}
.one-col-p {
    text-align: left;
}
.one-col-p {
    font-size:19px;
    line-height: 26px;
}

@media (min-width: 580px){
  .one-col {
  padding:90px 0;
  }
  .one-col-h2, .one-col-p {
    text-align: center;
  }
}

/*________ 1 COLUMN LEFT ALIGNED SECTION ______________*/
.one-col-left {
  background-color: #f5f5f5;
  padding:45px 0;
}
.one-col-left div {
  margin:0 auto;
  max-width: 1000px;
  padding:0 5%;
}
.program-info p{
  text-align: left;
}
.program-info p:nth-child(n+2) {
  margin-left:2em;
}
.program-info hr {
  margin:37px 0;
}

@media (min-width: 580px){
  .one-col-left {
  padding:90px 0;
  }
}

/*________ 2 COLUMN SECTION ______________*/
.two-col {
  display: grid;
  grid-template-columns: 1fr;
}
.two-col .container1 {
  background-image: url(http://image.e.yelp-business.com/lib/fe5915707c6207757012/m/3/4057f55d-afb3-4a22-b7b3-9f512998d60f.jpg); 
  background-position: center center;
  background-repeat:no-repeat;
  background-size: cover;
  min-height: 450px;
}
.two-col .container2 {
  margin:0 5%;
  padding:45px 0;
}
.two-col-p {
  text-align: left;
}
.two-col .container2 p:last-child {
  padding-top:30px;
}
@media (min-width: 580px){
  .two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  }
  .two-col .container2 {
  padding:90px 1em;
  }
  .two-col .container1 {
  min-height: 200px;}
  .two-col-h2 {
    text-align: left;
  }
}

/*________ 3 COLUMN SECTION ______________*/
.three-col-section {
  padding:45px 0;
  padding-bottom:70px;
}
.three-col {
  display: grid;
  grid-gap: 1.4em;
  grid-template-columns: 1fr;
}
.copy-container {
  margin:6% 5%;
}
.three-col-h2 {
  margin-left:5%;
  margin-right:5%;
}
.three-col-p {
  text-align: left;
}
@media (min-width: 620px){
  .three-col {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  }
  .three-col-h2 {
    text-align: center;
  }
}

/*________ 3 COLUMN AVATAR SECTION ______________*/
.three-col-section {
  padding:45px 0;
}
.three-col-section-avatar {
  background-color:#f5f5f5;
  padding:45px 0;
}
.three-col-section-avatar .three-col {
  display: grid;
  grid-gap: .2em;
  grid-template-columns: 1fr;
}
.avatar1 {
  border-radius: 50%;
  height:122px;
  margin:0 auto;
  width:122px;
}
.three-col-section-avatar h2 {
  color:#D22323;
  margin-bottom: 55px;
}
.three-col-section-avatar .copy-container {
  margin:6% 5%;
}
@media (min-width: 580px){
  .three-col-section {
  padding:90px 0;
  }
  .three-col-section-avatar {
  padding:90px 0;
  }
  .three-col-section-avatar .three-col {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  }
  .three-col-section-avatar .copy-container {
  margin:6% 14%;
  }
}

/*________ 4 COLUMN SECTION ______________*/
.four-col-section-avatar {
  background-color:#f5f5f5;
  padding:45px 0;
}
.four-col-section-avatar .four-col {
  display: grid;
  grid-gap: .2em;
  grid-template-columns: 1fr;
}
.avatar1 {
  border-radius: 50%;
  height:122px;
  margin:0 auto;
  width:122px;
}
.four-col-section-avatar h2 {
  color:#d22323;
  margin-bottom: 55px;
}
.four-col-section-avatar .copy-container {
  margin:6% 5%;
}
@media (min-width: 580px){
  .four-col-section-avatar {
  padding:90px 0;
  }
  .four-col-section-avatar .four-col {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  }
  .four-col-section-avatar .copy-container {
  margin:6% 14%;
  }
}

/*________ 2 COLUMN GOOGLE LOCATOR SECTION ______________*/
.two-col-map {
  background-color:#FFFFFF;
  display: grid;
  direction: rtl;
  grid-template-columns: 1fr;

}
.container1-map, .container2-map {
  direction: ltr;
}
.two-col-map .container1-map {
  background-image: url(http://image.e.yelp-business.com/lib/fe5915707c6207757012/m/3/4057f55d-afb3-4a22-b7b3-9f512998d60f.jpg); 
  background-position: center center;
  background-repeat:no-repeat;
  background-size: cover;
  min-height: 450px;
}
.two-col-map .container2-map {
  margin:0 6% 0 5%;
  padding:45px 0;
}
.two-col-map .container2-map p {
  text-align: left;
}
.two-col-map .container2-map h2 {
  color:#d22323;
}
.two-col-map .container2-map h3 {
  font-size:22px;
  line-height: 30px;
  text-align: left;
}
.two-col-map .container2-map p {
  font-style: italic;
  padding-bottom:20px;
  padding-left:20px;
  padding-top:10px;
  text-align: left;
}
.two-col-map .container2-map ul {
  color:#333;
 list-style-type: disc;
 list-style-position: outside;
 margin-left:1em;
}
.location-icon {
  width:27px;
  display: inline-block;
  padding-right:10px;
}
@media (min-width: 800px){
  .two-col-map {
  display: grid;
  grid-template-columns: 1fr 1fr;
  }
  .two-col-map .container1-map {
  min-height: 200px;
  }
  .two-col-map .container2-map {
    margin:0 6% 0 15%;
    padding:90px 0;
  }
  .container2-map h2 {text-align: left;}
}


/*________ 2 COLUMN TESTIMONIAL SECTION ______________*/
.testimonials {
  padding:45px 0;
}
.two-col-testimonial, .testimonial-container-hide {
  display: grid;
  grid-template-columns: 1fr;
  max-width: 1200px;
}
.two-col-testimonial .container1 img {
  margin:0 auto;
}
.two-col-testimonial .container2 {
  padding:0 5%;
}
.two-col-testimonial h3 {
  font-size: 16px;
  line-height: 20px;
  text-align: left;
}
.two-col-testimonial .container2 blockquote {
  color:#424243;
  font-family:Georgia, serif;
  font-size: 33px;
  font-style: italic;
  line-height: 40px;
  padding-bottom:20px;
  padding-top:25px;
}


.testimonial-container-hide {
  display: none;
}

@media (min-width: 580px){
  .testimonials {
  padding:90px 0;
  }
  .two-col-testimonial, .testimonial-container-hide {
  grid-template-columns: 30% 70%;
  margin:0 auto;
  }
  .two-col-testimonial {
  padding-bottom:0;
  }

  .two-col-testimonial .container1 img {
  text-align: right;
  }
  .two-col-testimonial .container2 h3, p, blockquote {
  text-align: left;
  }
  .two-col-testimonial .container2 blockquote {
  padding-top:0;
  }

  .testimonial-container-hide {
  display: grid;
  padding-top:45px;
  }
  .testimonial-container-hide .container2 {
  padding:0 5%;
  }
  .testimonial-container-hide h3, p {
  font-size: 16px;
  line-height: 22px;
  }
  .testimonial-container-hide .container1 img {
  text-align: right;
  }
  .testimonial-container-hide h3, p, blockquote {
  text-align: left;
  }
  .testimonial-container-hide .container2 blockquote {
  font-family:Georgia, serif;
  font-size: 33px;
  font-style: italic;
  line-height: 40px;
  padding-bottom:20px;
  }
}

/*______________ BOTTOM HEADER ______________*/

.bottom-header{
  background-image: 
  url(http://shawscott.com/client_folders/yelp/rsvp/images/hero2x.png);
  background-position: center center;
  background-repeat:no-repeat;
  background-size: cover;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
}

.bottom-header h2 {
  color:#fff;
  text-align: center;
  margin-bottom:25px;
}

.bottom-header div {
  margin:0 auto;
  max-width: 800px;
  padding:90px 5%;
  text-align: center;
}

.bottom-headline button {
  cursor:pointer;
  background: #d22323;
  border: none;
  border-radius: 4px;
  -moz-border-radius: 4px;
  color: #fff;
  font-weight: bold;
  font-size: 30px;
  height: 54px;
  position:relative;
  padding: 5px 76px;
  text-decoration: none;
}
.bottom-headline button:hover {
  background-color: #911818;
  cursor: pointer;
}

@media screen and (min-width: 480px){
  .bottom-header .headline div {
  text-align: center;
  }
  .bottom-header h2 {font-size:44px;margin-bottom: 45px;}
  .bottom-header img {margin:0 auto;}
}

/*______________ BUTTONS ______________*/

.btn {
  display: inline-block;
  padding: 10px 20px;
  margin-bottom: 0;
  font-size: inherit;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  }

.primarybtn:hover{
  background-color: #911818;
  cursor: pointer
  }

/*______________ FORMS 2 and 3______________*/



#idForm-03 {
  position: relative;
  margin:0 auto;
  background-color: #fff;
  padding:10px;
  width:100%;
  max-width:400px;
}
 
 /*_____________FOOTNOTES______________*/
 .footnotes {
   border-top:1px solid #b8babc;
   padding: 14px 40px;
 }
 sup {
   font-size:7px;
   line-height:0;
   vertical-align: 5px;
   padding-right:2px;
 }
 .footnotes p {
   font-size:13px;
   line-height:17px;
   color:#909295;
   padding-bottom:5px;
 }

/*______________ FOOTER ______________*/

footer {
  background-color: #E2E2E2;
  padding:30px 0;
  }
footer ul {
  padding: 0px;
  margin:0 auto;
  position: relative;
  display: inline-block;
  width:100%;
  text-align: center;
  }
footer ul li {
  padding: 10px;
  display: inline-block;
  }
footer > ul > li {
  display: inline-block;
  }
footer ul li {
  color: #888888;
  }
footer ul li a {
  text-decoration: none;
  color: #888888;
  }
footer ul li a:hover {
  text-decoration: underline;
  color: #888888;
  }
footer ul li.hover > a {
  text-decoration: underline;
  color: #888888;
  }




