/****************************************
*  Baseline
****************************************/

@import url("/library/styles/base.css");
@import url("/library/fonts/webfonts.css");
@import url("/library/fonts/font-awesome.css");

/****************************************
*  Baseline
****************************************/

body {
  background-color:#511C74;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color:#4C4C4C;
  font:normal normal 30px/1.3em "OpenSans";
}

a,
li,
p,
label {
  color:#B4970D;
  font:normal 18px/1.3em "OpenSans";
  text-transform:none;
}

ul {
  margin-left:20px;
  padding-bottom:10px;
}

li {
  padding-left:10px;
  margin-bottom:10px;
}

h1 {
  color:#FFFDDE;
  font:normal normal 94px/1em "BigNoodleTitling";
  text-transform:uppercase;
}

div.mobile h1 {
  font:normal normal 50px/1em "BigNoodleTitling";
}

h1 span {
  font:normal bold 24px/1em "OpenSans ExtraBold";
  color:#84CFCD;
  display:block;
  paddding-top:5px;
}

div.mobile h1 span {
  font:normal bold 24px/1.2em "OpenSans ExtraBold";
}

h2 {
  font:normal bold 36px/1em "OpenSans ExtraBold";
  text-transform:uppercase;
  color:inherit;
  margin:0px 0px 15px 0px;
}

* + h2 {
  margin-top:50px;
}

div.mobile h2 {
  font:normal bold 28px/1em "OpenSans ExtraBold";
}

h2 span {
  font:normal normal 36px/ 1.5em"OpenSans";
  margin-left:18px;
  color:inherit;
}

div.mobile h2 span {
  font:normal normal 20px/ 1.5em"OpenSans";
  display:block;
  margin:0px;
}

td.primary h2,
td.primary h2 span,
td.primary h3,
td.primary p,
td.primary a,
td.primary li,
td.primary li a,
td.primary label {
  color:inherit;
}

h3 {
  font:normal bold 18px/1.5em "OpenSans SemiBold";
  text-transform:uppercase;
}

h4 {
  font:normal bold 24px/1em "OpenSans ExtraBold";
  text-transform:uppercase;
  color:#FFFDDE;
}

h5 {
  font:normal bold 24px/1em "OpenSans ExtraBold";
  text-transform:uppercase;
  color:#FFFBDD;
  margin:0px 0px 36px 0px;
}

h5.alt {
  color:#511C74;
}

p {
  margin:0px 0px 20px 0px;
}

a {
  outline:none;
  text-decoration:underline;
  transition:0.3s all;
}

strong,
strong a {
  font-weight:bold;
}

em {
  font-style:italic;
}

/****************************************
*  Parcel
****************************************/

table.parcel {
  width:1200px;
  margin:0 auto;
}

table.parcel > tbody > tr > td {
  padding:63px 42px;
}

div.mobile table.parcel {
  width:100%;
}

/****************************************
*  Interior
****************************************/

div.interior {
  height:100%;
  width:100%;
}

div.interior td.primary {
  background-color:transparent;
}

/****************************************
*  Exterior
****************************************/

div.exterior td.primary > table > tbody > tr:nth-child(3) > td {
 background-color:#84CFCD;
 color:#511C74;
}
 div.exterior td.primary > table > tbody > tr:nth-child(3) > td p, div.exterior table.parcel > tbody > tr > td.third {
 text-align:center;
}
 div.exterior td.primary > table > tbody > tr:nth-child(3) > td h2 {
 color:#FFFBDD;
}
 div.exterior td.primary > table > tbody > tr:nth-child(3) > td img {
 margin:0px auto 21px auto;
}
 div.exterior td.primary > table > tbody > tr:nth-child(3) > td > table.parcel > tbody > tr > td {
 padding-bottom:340px;
}
 div.exterior td.primary > table > tbody > tr:nth-child(5) > td > table.parcel > tbody > tr > td {
 padding-top:450px;
}

div.exterior td.primary a.button {
  border:2px solid #511C74;
}

/****************************************
*  Navigation
****************************************/

td.navigation {
  background:#3D135D;
  vertical-align:middle;
  height:96px;
}

div.nav {
  top:0px;
  left:0px;
  right:0px;
  padding:10px 5%;
  position:fixed;
  background:#3D135D;
  width:100%;
  z-index:100;
}

td.navigation table.parcel > tbody > tr > td {
  padding:16px 42px 12px;
  vertical-align:middle;
}

td.navigation a {
  border-radius:4px;
  color:#84CFCB;
  display:inline-block;
  font-family:"OpenSans";
  font-size:16px;
  font-style:normal;
  font-weight:bold;
  letter-spacing:0px;
  line-height:1;
  padding:10px;
  text-decoration:none;
  text-transform:uppercase;
  white-space:nowrap;
  transition:0.3s all;
  vertical-align:middle;
}

td.navigation a:hover,
td.navigation a:active {
  background-color:rgba(255, 255, 255, 0.2);
  color:#FFFFFF;
}

td.navigation a#wbc {
  color:#FFFFFF;
  font:italic bold 28px/1em"OpenSans";
  padding:2px 8px 2px 0px;
  margin:0px 32px 0px 0px;
  white-space:nowrap;
}

td.navigation a#wbc span {
  color:#84CFCB;
}

td.navigation a.button {
  float:right;
}

td.navigation a.button + a.button {
  margin-right:21px;
}

div.nav a.mobile-nav {
  display:none;
}

/****************************************
*  Header
****************************************/

td.header {
  background:#511C74;
}

td.header td {
  text-align:center;
}

td.header h1,
td.header a {
  display:inline-block;
  vertical-align:middle;
}

td.header img {
  margin-right:30px;
  display:inline-block;
}

/****************************************
*  Billboard
****************************************/

td.billboard {
  height:650px;
  position:relative;
  background-size:cover;
  background-position:center center;
}

td.billboard:after {
  content:"\f005";
  bottom:-25px;
  left:50%;
  color:#3D135D;
  font:normal normal normal 40px/1 FontAwesome;
  position:absolute;
  transform:translate(-50%, 0);
}

td.billboard:before {
  content:"\f103";
  color:#f47e58;
  border-radius:50%;
  border:4px solid #f47e58;
  font:normal normal normal 50px/1 FontAwesome;
  width:50px;
  height:50px;
  text-align:center;
  position:absolute;
  bottom:50px;
  left:50%;
  transform:translate(-50%, 0);
}

td.billboard > tbody > tr > td {
  text-align:center;
  vertical-align:bottom;
}

td.billboard i.fa-angle-double-down {
  color:#f47e58;
  border-radius:50%;
  border:4px solid #f47e58;
  font-size:50px;
  display:block;
  width:50px;
  height:50px;
  text-align:center;
  margin-bottom:42px;
}

td.billboard i.fa-star {
  color:#3D135D;
  font-size:40px;
  display:block;
}

/****************************************
*  Primary Content
****************************************/

td.primary {
  height:100%;
  width:100%;
}

td.primary > tbody > tr > td {
  height:270px;
}

div.workshop {
  border-radius:6px;
  padding:21px 63px 21px 21px;
  max-height:100px;
  overflow:hidden;
  margin-bottom:22px;
  transition:all 1s;
  position:relative;
}

div.workshop.clickable div.synopsis p img {
  width:180px;
  float:left;
  height:auto !important;
  margin:0 25px 20px 0;
}

@media(max-width:568px) {
  div.workshop.clickable div.synopsis p img {
    width:auto !important;
    float:none !important;
    margin-right:0 !important;
    max-width:250px;
  }
}

td.primary div.workshop.active {
  max-height:2000px !important;
  transition:max-height 1.5s ease-in-out, 1s background;
}

td.primary div.workshop:after {
  position:absolute;
  content:"\f107";
  font:normal normal normal 40px/0.8em FontAwesome;
  top:21px;
  right:21px;
  border-radius:50%;
  height:40px;
  width:40px;
  text-align:center;
  border:inherit;
  border-width:4px;
  color:inherit;
  background:inherit;
  transition:0.5s transform;
}

td.primary div.workshop p {
  margin:0px 0px 21px 0px;
}

td.primary div.workshop > p:first-child {
  font-size:12px;
  text-transform:uppercase;
  color:#777777;
  margin:0;
}

td.primary div.workshop.active > h3,
td.primary div.workshop.active > p {
  color:#FFFFFF;
}

td.primary div.workshop p:last-child {
  margin:0px;
}

td.primary div.workshop.no-details:after {
  display:none;
}

td.primary div.workshop.active:after {
  -ms-transform:rotate(180deg);
  -webkit-transform:rotate(180deg);
  transform:rotate(180deg);
}

/* Even Sessions */
td.primary > table > tbody > tr:nth-child(even) > td {
 background-color:#FFFBDD;
 color:#511C74;
}

td.primary > table > tbody > tr:nth-child(even) > td h2 span {
 color:#F47E58;
}

td.primary > table > tbody > tr:nth-child(even) > td div.workshop {
 background-color:#FFFBDD;
 border:2px solid #F47E58;
}

td.primary > table > tbody > tr:nth-child(even) > td div.workshop.active {
 background-color:#F47E58;
}

/* Odd Sessions */
td.primary > table > tbody > tr:nth-child(odd) > td {
 background-color:#B33654;
 color:#FFFBDD;
}

td.primary > table > tbody > tr:nth-child(odd) > td h2 span {
 color:#F47E58;
}

td.primary > table > tbody > tr:nth-child(odd) > td div.workshop {
 background-color:#B33654;
 border:2px solid #972944;
}

td.primary > table > tbody > tr:nth-child(odd) > td div.workshop > p:first-child {
  color:#FFFFFF;
}

td.primary > table > tbody > tr:nth-child(odd) > td div.workshop.active {
 background-color:#972944;
}

/* First Session */
div.interior td.primary > table > tbody > tr:first-child > td,
div.exterior td.primary > table > tbody > tr:first-child > td {
  background-color:#00B191;
  color:#FFFBDD;
}

td.primary > table > tbody > tr:first-child > td > table.parcel > tbody > tr > td {
  padding-bottom:120px;
}

td.primary > table > tbody > tr.featured-banner + tr > td > table.parcel > tbody > tr > td {
  padding-top:120px;
}

td.primary.gallery > table > tbody > tr:first-child > td > table.parcel > tbody > tr > td {
  padding-bottom:340px;
}

td.primary.gallery > table > tbody > tr:nth-child(3) > td > table.parcel > tbody > tr > td {
  padding-top:550px;
}

td.primary > table > tbody > tr:first-child > td h2 span {
  color:#3D135D;
}

td.primary > table > tbody > tr:first-child > td div.workshop {
  background-color:#00B191;
  border:2px solid #198F79;
}

td.primary > table > tbody > tr:first-child > td div.workshop.active {
  background-color:#198F79;
}

table.parcel > tbody > tr > td.third {
  padding:63px 30px;
}

table.parcel > tbody > tr > td.third:last-child {
  padding-right:42px;
}

table.parcel > tbody > tr > td.third:first-child {
  padding-left:42px;
}

td.third {
  width:33.33%;
}

div.exterior iframe {
  width:100% !important;
}

td.half {
  width:50%;
  padding:21px 0px 0px 0px;
}

tr > td.half:first-child {
  padding-right:21px;
}

tr > td.half:last-child {
  padding-left:21px;
}

/****************************************
*  Featured Banner
****************************************/

td.featured {
  cursor:pointer;
}

td.featured table.parcel > tbody > tr > td {
  padding:0px;
  background:#3D135D;
  background-size:cover;
  position:relative;
}

td.featured table.parcel div {
  background: url(/images/layout/featured-banner.jpg);
  background-size:cover;
  width:100%;
  margin:-70px 0px;
  position:absolute;
  padding:42px;
  transition:0.3s box-shadow;
}

td.featured table.parcel div:hover {
  box-shadow:inset 0px 0px 40px rgba(0, 0, 0, 0.6);
}

td.featured table.parcel div p {
  margin:8px 0 0 0;
  color:#FFFFFF !important;
}

td.featured table.parcel div a {
  position:absolute;
  right:42px;
  top:50%;
  transform:translateY(-50%);
  color:#9BD13E;
  text-decoration:none;
  text-transform:uppercase;
  font-weight:bold;
  vertical-align:middle;
}

td.featured table.parcel div a i {
  font-size:30px;
  vertical-align:middle;
  border:3px solid #9BD13E;
  border-radius:50%;
  width:40px;
  height:40px;
  text-align:center;
  line-height:1.2em;
  transition:0.3s border;
  padding-left:4px;
}

td.featured table.parcel div:hover a {
  color:#FFFFFF;
}

td.featured table.parcel div:hover a i {
  border:3px solid #FFFFFF;
}

/****************************************
*  Photo Gallery
****************************************/

td.photo-gallery table.parcel > tbody > tr > td {
  padding:0px;
  position:relative;
}

td.photo-gallery table.parcel div.image-gallery {
  width:100%;
  margin:-295px 0px;
  position:absolute;
  padding:0px;
  background-color:#3D135D;
}

/****************************************
*  Sponsor Section
****************************************/

div.sponsors {
  text-align:center;
}

div.sponsors span {
  display:inline-block;
  border-radius:4px;
  width:180px;
  height:180px;
  margin:10px;
  background-size:90% auto;
  background-position:center;
  background-repeat:no-repeat;
  background-color:#FFF;
}

td.primary > table > tbody > tr:nth-child(even) > td div.sponsors span {
  border:2px solid #972944;
}

td.primary > table > tbody > tr:nth-child(odd) > td div.sponsors span {
  border:2px solid #F47E58;
}

/******************************
  Scrolling Logos Styles
*******************************/

td.scrolling-sponsors > table > tbody > tr > td {
  position:relative;
}

td.scrolling-sponsors > table > tbody > tr > td > a {
  position:absolute;
  top:48%;
  z-index:3;
  left:-10px;
  font-size:50px;
}

td.scrolling-sponsors > table > tbody > tr > td > a:last-child {
  right:-10px;
  left:auto;
}

td.scrolling-sponsors div.sponsor-wrapper {
  height:180px;
  overflow:hidden;
  position:relative;
  margin:0 auto;
  text-align:center;
}

td.scrolling-sponsors div.sponsor-wrapper > div {
  position:absolute;
  left:100%;
  transition:left 1s;
  width:100%;
  background:#FFFFFF;
  z-index:1;
}

td.scrolling-sponsors div.sponsor-wrapper > div#current {
  left:0;
  z-index:1;
}

td.scrolling-sponsors div.sponsor-wrapper > div#previous {
  left:-100%;
  z-index:1;
}

td.scrolling-sponsors div.sponsor-wrapper > div.hidden {
  z-index:-1 !important;
}

td.scrolling-sponsors div.sponsor-wrapper > div a {
  display:inline-block;
}

/****************************************
*  Footer
****************************************/

td.footer {
  background:#84CFCD;
}

td.footer td.reactive {
  width:50%;
}

td.footer td.reactive img {
  margin:0px auto 21px auto;
}

td.footer td.reactive:first-child td {
  text-align:center;
}

td.footer td.reactive:first-child {
  background:#3D135D url(/images/layout/footer-bg.jpg);
  background-size:cover;
  background-position:center center;
  position:relative;
}

td.footer td.reactive:first-child:after {
  content:"\f005";
  top:50%;
  right:-37px;
  color:#FFFBDD;
  font:normal normal normal 40px/1 FontAwesome;
  position:absolute;
  transform:translate(-50%, -50%);
}

td.footer td.reactive:first-child > table {
  float:right;
}

td.footer td.reactive > table {
  float:left;
}

td.footer table.parcel > tbody > tr > td a {
  display:block;
  color:#511C74;
  margin-bottom:10px;
}

td.footer table.parcel > tbody > tr > td a:hover {
  color:#FFFFFF;
}

td.footer table.parcel > tbody > tr > td p.icons a {
  display:inline-block;
  border-radius:50%;
  border:2px solid #511C74;
  text-align:center;
  width:34px;
  height:34px;
  font-size:20px;
  margin-bottom:0px;
  line-height:1.5em;
}

td.footer table.parcel > tbody > tr > td p.icons a + a {
  margin-left:10px;
}

td.footer table.parcel > tbody > tr > td p.icons a:hover {
  color:#FFFFFF;
  border:2px solid #FFFFFF;
}

td.footer td.reactive > table.parcel {
  width:370px;
}

td.footer table.parcel > tbody > tr > td a.button {
  color:#FFFBDD;
  border:2px solid #FFFBDD;
  width:auto;
  display:inline-block;
}

td.footer table.parcel > tbody > tr > td a.button.alt {
  color:#511C74;
  border:2px solid #99CC33;
}

td.footer table.parcel > tbody > tr > td a.button.alt:hover {
  border:2px solid #00B191;
}

/****************************************
*  Attribution
****************************************/

td.attribution {
  margin:auto;
}

td.attribution table.parcel > tbody > tr > td {
  padding:21px 42px;
}

td.attribution table.parcel > tbody > tr > td:first-child {
  padding-right:0;
}

td.attribution table.parcel > tbody > tr > td:first-child > a > img {
  width:125px;
}

td.attribution table.parcel > tbody > tr > td + td {
  padding-left:20px;
}

td.attribution p {
  color:#FFFBDD;
  font:italic normal 13px/1.6em "OpenSans";
  margin:0px;
  text-align:center;
}

td.attribution a {
  color:#FFFBDD;
  font:italic normal 13px/1.6em "OpenSans";
  text-decoration:none;
}

td.attribution a:hover,
td.attribution a:active {
  background-color:rgba(255, 255, 255, 0.2);
  text-decoration:underline;
}

td.attribution a.emphasis {
  color:#9BD13F;
}

/****************************************
*  Disclaimer
****************************************/

td.disclaimer {
  background:#3D135D;
}

td.disclaimer p {
  color:#FFFBDD;
  font:italic normal 12px/1.3em "OpenSans";
  margin:0px;
}

td.disclaimer table.parcel > tbody > tr > td {
  padding:21px 42px;
}

td.disclaimer table.parcel > tbody > tr > td + td {
  padding-left:0px;
}

/****************************************
*  Mobile
****************************************/

div.mobile {
}

div.mobile table.parcel > tbody > tr > td {
  padding:42px 5%;
}

div.mobile td.footer td.reactive {
  width:100%;
  padding:42px 5%;
}

div.mobile td.header {
  padding:0px;
}

div.mobile td.third {
  padding:21px 0px;
  width:100%;
}

div.mobile td.third + td.third {
  padding-top:0px !important;
}

div.mobile table.parcel > tbody > tr > td.reactive > p:last-child {
  margin:0px;
}

div.mobile td.half {
  width:100%;
  padding:0px;
}

div.mobile td.half + td.half {
  padding:21px 0px 0px 0px;
}

div.mobile.exterior tr > td.half:first-child {
  padding:0px 0px 42px 0px;
}

div.mobile td.reactive {
  display:block;
}

div.mobile td.reactive + td.reactive {
  padding-top:0px;
}

div.mobile form td.reactive + td.reactive {
  padding:0px;
}
 div.mobile td.primary > table > tbody > tr > td > table.parcel > tbody > tr > td, div.mobile.exterior td.primary > table > tbody > tr:nth-child(3) > td > table.parcel > tbody > tr > td, div.mobile.exterior td.primary > table > tbody > tr:nth-child(5) > td > table.parcel > tbody > tr > td {
 padding:42px 5%;
}

div.mobile td.featured table.parcel div {
  background-size:cover;
  background-position:center center;
  padding-bottom:80px;
}

div.mobile td.featured table.parcel div a {
  top:auto;
  bottom:21px;
  left:50%;
  transform:translate(-50%, 0px);
  white-space:nowrap;
}

div.mobile td.primary > table > tbody > tr > td.featured > table.parcel > tbody > tr > td {
  padding:0px;
}

div.mobile td.primary > table > tbody > tr > td.photo-gallery > table.parcel > tbody > tr > td {
  padding:0px;
}

div.mobile td.disclaimer table.parcel > tbody > tr > td + td {
  padding-left:5%;
}

div.mobile table.header > tbody > tr > td,
div.mobile table.primary > tbody > tr > td,
div.mobile table.footer > tbody > tr > td {
  padding:21px 5%;
}

div.mobile table.header img {
  width:100%;
  max-width:350px;
  margin:0 auto;
}

div.mobile td.featured table.parcel div,
div.mobile td.photo-gallery table.parcel div.image-gallery {
  margin:0px;
  position:relative;
  height:auto;
}

div.mobile div.image-gallery img {
  top:0;
  transform:translateY(0);
  -webkit-transform:translateY(0);
  -ms-transform:translateY(0);
}

div.mobile td.footer td.reactive > table.parcel {
  width:100%;
}

div.mobile td.footer td.reactive:first-child:after {
  display:none;
}

div.mobile td.primary td.other-albums td.reactive {
  padding:10px 0px;
}

div.mobile td.footer td.reactive > table {
  float:none;
}

div.mobile td.footer td.reactive {
  padding:0px;
}

div.mobile td.footer td.reactive a.button:last-child,
div.mobile td.footer p.icons {
  margin-bottom:0px;
}

div.mobile div.sponsors img {
  width:40%;
  height:auto;
}

div.mobile td.scrolling-sponsors div.sponsor-wrapper {
  width:70%;
}

div.mobile td.scrolling-sponsors > table > tbody > tr > td > a {
  left:5px;
}

div.mobile td.scrolling-sponsors > table > tbody > tr > td > a:last-child {
  right:5px;
  left:auto;
}

/****************************************
*  Mobile Navigation
****************************************/

div.mobile td.navigation table.parcel > tbody > tr > td {
  padding:0px 5%;
}

div.mobile td.navigation {
  height:63px;
  position:relative;
}

div.mobile div.nav > div {
  width:100%;
  height:100%;
  max-height:450px;
  transition:all 1s;
  background:#3D135D;
  padding:5px;
  border-radius:5px;
  overflow:hidden;
  margin-top:10px;
}

div.mobile.navigation-off div.nav > div {
  max-height:0px;
  height:0px;
  padding:0px;
  transition:all 0.5s;
}

div.mobile table.header > tbody > tr > td {
  padding:0px;
}

div.mobile div.nav > tbody > tr > td > ul {
  background:#AAAAAA;
  overflow:hidden;
  height:100%;
  max-height:1500px;
  transition:1s all;
}

div.mobile div.nav div a {
  font-size:24px;
  padding:7px 0px;
  display:block;
  text-align:center;
}

div.mobile div.nav > a.mobile-nav.nav-button {
  background:transparent;
  display:block;
  text-align:center;
  border-radius:5px;
  font-size:25px;
  color:#84CFCB;
  width:40px;
  height:40px;
  position:absolute;
  margin:0px;
}
 div.mobile.navigation-off div.nav a.nav-button i::before {
 content:"\f0c9";
}
 div.mobile div.nav a.nav-button i::before {
 content:"\f00d";
}

div.mobile div.nav .mobile-nav {
  display:block;
}

div.mobile div.nav li.sub {
  display:inline-block;
}

div.mobile div.nav li.sub a {
  font-size:16px;
}

div.mobile div.nav ul,
div.mobile div.nav ul > li {
  display:block;
  text-align:center;
}

div.mobile.navigation-off div.nav > tbody > tr > td > ul {
  max-height:0px;
  transition:0.3s all;
}

div.mobile table.navigation {
  width:100%;
}

div.mobile .hide-mobile {
  display:none !important;
}

div.mobile div.nav > a.mobile-nav,
div.mobile div.nav a#wbc {
  display:inline-block;
  margin-right:5px;
  margin-top:5px;
  vertical-align:middle;
}

div.mobile div.nav a#wbc {
  margin-left:30px;
}

/****************************************
*  Forms
****************************************/

form td.reactive {
  vertical-align:bottom;
}

form td.reactive,
form tr > td.reactive:first-child {
  padding:10px 10px 10px 0px;
}

form td.reactive + td.reactive {
  padding-left:10px;
}

form tr > td.reactive:last-child {
  padding-right:0px;
}

form td.reactive.middle {
  vertical-align:middle;
  text-align:center;
}

button,
input,
textarea {
  background-color:#FFFFFF;
  border:1px solid #AAAAAA;
  display:inline-block;
  color:#333333;
  font:normal normal 16px/1.5em "OpenSans";
  margin:10px 0px 10px 0px;
  padding:6px 6px 6px 6px;
  vertical-align:middle;
  width:100%;
}

input:focus {
  outline:0;
}

input[type=reset],
input[type=checkbox],
input[type=radio] {
  border-style:outset;
  padding-top:4px;
}

input[type=image] {
  border:0px;
  margin:0px;
  padding:0px;
}

input[type=checkbox],
input[type=radio] {
  height:14px;
  width:14px;
}

input[type="radio"],
input[type="checkbox"] {
  display:none;
}
 input[type="radio"] + label::before, input[type="checkbox"] + label::before {
 font:normal normal normal 20px/1 FontAwesome;
 display:inline-block;
 width:25px;
 vertical-align:middle;
 margin-left:20px;
}
 input[type="radio"] + label::before {
 content:"\f10c";
}
 input[type="radio"]:checked + label::before {
 content:"\f05d";
}
 input[type="checkbox"] + label::before {
 content:"\f096";
}
 input[type="checkbox"]:checked + label::before {
 content:"\f046";
}

select {
  background-color:#FFFFFF;
  border:1px solid #AAAAAA;
  box-sizing:border-box;
  display:inline-block;
  color:#333333;
  font:normal normal 16px/1.5em "OpenSans";
  margin:10px 0px 10px 0px;
  padding:6px 6px 6px 6px;
  vertical-align:middle;
  width:100%;
}

div.custom-select {
  overflow:hidden;
  background:#FFFFFF;
  margin:10px 0px 10px 0px;
  border:1px solid #AAAAAA;
  position:relative;
}
 div.custom-select::after {
 font:normal normal normal 20px/1 FontAwesome;
 position:absolute;
 right:5px;
 top:5px;
 content:"\f107";
 font-size:30px;
 pointer-events:none;
 color:#AAAAAA;
}

div.custom-select select {
  background:transparent;
  -webkit-appearance:none;
  margin:0;
  width:calc(100% + 42px);
  border:none;
}

textarea {
  overflow:auto;
  resize:none;
  vertical-align:top;
}

img#captcha {
  border:1px solid #AAAAAA;
}

p#error-text {
  color:#511C74;
}

p#error-text span {
  color:#ED4337;
}

form table {
  width:100%;
}

td.captcha {
  text-align:center;
}

td.captcha img,
td.captcha input {
  display:inline-block;
  vertical-align:middle;
  width:140px;
  height:35px;
}

/****************************************
*  Buttons
****************************************/

a.button,
input.button,
button {
  border-radius:4px;
  display:inline-block;
  font:normal bold 14px/1em "OpenSans";
  padding:8px 8px 8px 8px;
  text-decoration:none;
  text-transform:uppercase;
  transition:0.3s all;
  border:2px solid #FFFFFF;
  color:#FFFFFF;
  text-align:center;
}

a.button.lg {
  border-radius:6px;
  font-size:18px;
  padding:16px;
}

a.button:hover,
input.button:hover,
button:hover {
  background:rgba(255, 255, 255, 0.2);
}

a.button.alt,
input.button.alt,
button.alt {
  color:#3D135D;
  background-color:#99CC33;
  border:2px solid #99CC33;
}

a.button.alt:hover,
input.button.alt:hover,
button.alt:hover {
  background:#00B191;
  border:2px solid #00B191;
  color:#000000;
}

td.primary > table > tbody > tr:nth-child(even) > td a.button {
  border-color:currentColor;
}


td.primary > table > tbody > tr:nth-child(even) > td a.button:hover {
  background-color:#511C74;
  color:#FFFFFF;
}

a.back-to-top {
  color:#511C74;
  background:#84CFCB;
  display:block;
  font:normal bold 18px/1em "OpenSans";
  padding:10px 0px;
  text-decoration:none;
  text-transform:uppercase;
  text-align:center;
}

/****************************************
*  Common
****************************************/

div.wrap-rel {
  position:relative;
}

div.wrap-abs {
  position:absolute;
}

div.no-show {
  display:none;
}

.clickable {
  cursor:pointer;
}

a.anchor {
  display:block;
  position:relative;
  top:-115px;
  visibility:hidden;
}

.no-padding-sides {
  padding-left:0px !important;
  padding-right:0px !important;
}

.no-margin {
  margin:0px !important;
}
