@import url('https://fonts.googleapis.com/css?family=Quicksand&display=swap');

/* Default classes */

body {
  background-color: rgba(0,0,0,.03) !important;
  font-family: 'Quicksand', sans-serif;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 600;
  text-transform: uppercase;
}

h1, h2, h3, h4 {
  margin: 1.5rem 0;
}

h2 {
  border-top: 1px solid rgba(0,0,0,.1);
  padding-top: 1.5rem;
  color:#E94932;
}

h5 {
  font-size: 24px;
  font-weight: 700;
  text-transform: uppercase;
}

h5.sponsor-logo {
  border-top: 1px solid rgba(0,0,0,.1);
  padding-top: 1.5rem;
  color:#E94932;
}

.card h2 {
  font-size: 1.75rem;
}

a {
  color: #0063CE;
  font-weight: 600;
  transition: all 0.15s;
}

a:not(.nav-link):not(.navbar-brand):not(.fab) {
  text-decoration: underline;
}

a:hover,
a:focus,
a:active {
  color: #264c6b;
  text-decoration: none;
}

b, strong {
  color: #EA5455;
}

.fa,
.fab,
.fas {
  color: #EA5455 !important;
  margin-right: 0.5rem;
}

.bg-light {
  background-color: white !important;
}

/* Navigation */

.navbar {
  align-items: flex-end !important;
  border-bottom: 5px solid #4988AB;
  box-shadow: 0 .125rem .25rem rgba(0,0,0,.075);
  font-weight: 600;
  padding: 0.5rem 1.5rem 1.5rem 2rem;
  text-transform: uppercase;
}

.logo {
  height: 4rem;
}

.navbar-collapse {
  justify-content: flex-end;
}

/* Jumbotron */

.jumbotron {
  background-image: url("../images/banner_home.jpg");
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  box-shadow: 0 .125rem .25rem rgba(0,0,0,.075);
  font-weight: 600 !important;
  margin-bottom: 0;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.jumbotron * {
  font-weight: 600;
}

.jumbotron [class*="col-md-"] {
  color: #fff;
  background-color: rgba(73, 136, 171, 0.5);
  text-align: center;
  margin: auto;
  font-size: 5rem;
}

.contact .jumbotron {
  background-image: url("../images/banner_contact2.jpg");
}

.about .jumbotron {
  background-image: url("../images/banner_about.jpg");
}

.tickets .jumbotron {
  background-image: url("../images/banner_tickets.jpg");
}

.sponsors .jumbotron {
  background-image: url("../images/banner_sponsors.jpg");
}

.venue .jumbotron {
  background-image: url("../images/banner_venue.jpg");
  background-position: center center;
}

.becomesponsor .jumbotron {
  background-image: url("../images/banner_becoming-a-sponsor.jpg");
}

.policies .jumbotron {
  background-image: url("../images/banner_policies.jpg");
}

.inclusion .jumbotron {
  background-image: url("../images/banner_inclusion.jpg");
}

.jumbotron img {
  max-height: 100%;
  max-width: 100%;
}

/* Sponsors section under Jumbotron */

.diamondSponsors {
  background-color: #4988AB;
  border-bottom: 1px solid rgba(0,0,0,.125);
  box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,.075);
  padding: 1rem 3rem;
  text-align: center;
}

.diamondSponsors a:not(:last-child) {
  margin-right: 2rem;
}

.diamondSponsors img {
  height: 2rem;
}

.col-lg img.sponsor-logo {
  max-height: 5.5rem;
  height: auto;
  max-width: 100%;
}

/* Sections */

.card {
  border-radius: 0.5rem;
  box-shadow: 0 .125rem .25rem rgba(0,0,0,.075);
  height: 100%;
  padding: 2rem;
}

.card-title {
  text-align: center;
}

/* Footer */

.page-footer {
  background-color: #4988AB;
  padding: 3rem 0;
}

.page-footer * {
  color: #f4f4f4;
}

.page-footer a:hover,
.page-footer .fab:hover:before {
  color: #f4f4f4 !important;
  opacity: 0.7;
}

.page-footer .fa,
.page-footer .fab,
.page-footer .fas {
  color: #f4f4f4 !important;
}

.label {
  font-family: 'Quicksand', sans-serif;
  margin-left: 0.5rem;
  transition: all 0.15s;
}

sub {
  bottom: 0 !important;
}

/* PgEU */

table.table input.btn.btn-default.btn-xs.btn-primary {
  background-color: #0063CE;
  color: white;
}

section.wrapper.special h2 {
  width: 100%;
  text-align: center;
  border-bottom: 1px solid rgba(0,0,0,.1);
  padding-bottom: 1.5rem;
}

section.wrapper.special section.box {
  padding: 2rem;
  background: white;
  border-radius: 0.5rem;
  box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,.075);
}

section.wrapper.special section.box h4 {
  margin: 0;
}

.sessblock.roomheader {
  border-bottom: 1px solid rgba(0,0,0,.1);
  padding: 0.5rem 0;
}

.sessblock:not(.roomheader) {
  margin: 1.5rem 0;
}

@media (min-width: 768px) {
  section.wrapper.special .col-sm-3 {
    display: flex !important;
    -ms-flex: 0 0 33.333333% !important;
    flex: 0 0 33.333333% !important;
    max-width: 33.333333% !important;
  }

  .jumbotron {
    height: 30rem;
  }
}

@media (max-width: 767px) {
  section.wrapper.special .col-sm-3 {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    margin-bottom: 2rem;
  }
}

form.pgeucfpform input,
form.pgeucfpform textarea,
form.pgeucfpform select {
  background-color: white;
  border-radius: 1rem;
  border-style: solid;
  border-color: #0063CE;
  border-width: 1.5px;
  margin: 0 0 1rem 1rem;
  outline: none;
  padding: 0.25rem 1rem;
}

form input[type=button]:hover,
form input[type=submit]:hover {
  background-color: #0063CE ;
  color: white;
  transition: all 0.2s;
}

form.pgeuregform label {
  min-width: 35rem;
}

table#speakerprofile_table th {
  min-width: 8rem;
}

form.pgeuregform input,
form.pgeuregform select,
form.pgeuregform textarea,
table#speakerprofile_table input:not(#id_photofile),
table#speakerprofile_table select,
table#speakerprofile_table textarea,
form input#id_email,
form input[type=submit] {
  background-color: white;
  border-radius: 1rem;
  border-style: solid;
  border-color: #0063CE;
  border-width: 1.5px;
  margin: 0.5rem 0 1rem 0.5rem;
  outline: none;
  padding: 0.25rem 1rem;
  min-width: 35rem;
}

table#speakerprofile_table img {
  border-radius: 1rem;
  margin-left: 0.5rem;
}

table#speakerprofile_table input#id_photofile {
  margin: 0 0 1rem 0.5rem;
}

table#speakerprofile_table input#photofile-clear_id {
  text-align: left;
  margin: 1rem 0 0 0.5rem;
  min-width: 0 !important;
}

form input[type=submit] {
  min-width: 20rem;
  margin-left: 0 !important;
}

ul#id_sessions {
  list-style-type: none;
  padding-left: 0;
}

ul#id_sessions > li > label > input[type=checkbox] {
  margin-right: 0.5rem;
}

table.pgeuinvoicetable {
  margin-bottom: 2rem;
  border: none !important;
}

table.pgeuinvoicetable td {
  padding: 0.5rem 1rem 0.5rem 0;
}

table.pgeuinvoicetable td:first-child {
  font-weight: 600;
}

table.pgeuinvoicetable ul {
  list-style-type: none;
  margin: 0 !important;
  padding: 0 !important;
}

table.pgeuinvoicetable h3 {
  font-size: 1.2rem;
  text-transform: capitalize;
}

fieldset > legend {
  padding-top: 1.5rem;
}

/* Tables */

table.table.table-striped {
  margin-bottom: 2rem;
}

.thead-blue {
  background-color: #4988AB;
  border-color: #4988AB;
  color: #fff;
}

/* Style Hacks */
.col-md-4 img {
  width: 100%;
  padding: 10px;
}

img.a-la-carte-sponsor-logo {
  margin-left: 10px;
  min-height: 32px;
  max-width: 144px;
}

.carousel div {
  padding: 0 0.5em;
}

/* Small Desktop */

@media (max-width: 1024px) {
  .col-sm-4 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }

  .page-footer .col-sm-4:not(:last-child) {
    margin-bottom: 1.5rem;
  }

  .px-5 {
    padding: 0 2rem !important;
  }

  .page-footer > .container {
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: unset !important;
  }

  .jumbotron {
    backdrop-size: contain;
  }
}

/* Tablet */

@media (max-width: 991px) {
  .navbar {
    align-items: center !important;
    padding: 0.5rem 2rem;
  }

  .logo {
    display: none;
  }
  .py-5 {
    padding: 2rem !important;
  }
}

/* Phone */

@media (max-width: 768px) {
  .jumbotron h1 {
    margin: 0.5rem 0;
  }

  .jumbotron {
    padding: 4rem 1rem;
    text-align: right;
  }

  .jumbotron h1 {
    font-size: 2.5rem;
  }

  .px-5 {
    padding: 0 1rem !important;
  }

  form.pgeucfpform input,
  form.pgeucfpform textarea,
  form.pgeucfpform select,
  form.pgeuregform input,
  form.pgeuregform select,
  form.pgeuregform textarea,
  form input#id_email {
    width: 90%;
    margin-left: 0;
    min-width: unset;
  }

  form input#id_email {
    min-width: unset;
  }

  form input[type=submit],
  form.pgeucfpform input[type=button] {
    margin: 0.75rem 0 0 0;
  }

  table#speakerprofile_table th {
    min-width: 0 !important;
    padding-right: 0.5rem !important;
  }

  table#speakerprofile_table input:not(#id_photofile):not(#photofile-clear_id),
  table#speakerprofile_table select,
  table#speakerprofile_table textarea {
    margin-left: 0 !important;
    min-width: 0 !important;
    width: 95%;
  }

  table#speakerprofile_table input#id_photofile,
  table#speakerprofile_table input#photofile-clear_id,
  table#speakerprofile_table img {
    margin-left: 0 !important;
  }

  table#speakerprofile_table form input[type=submit] {
    text-align: center;
    margin: 0 auto;
  }
}

.jumbotron h2 {
  color: #ffffff;
}
