@import url('https://fonts.googleapis.com/css?family=Oswald|Source+Sans+Pro');
body {
  font-family: 'Source Sans Pro';
}

img {
  max-width: 100%;
}

.fixedToTop {
  /* overflow: hidden; */
  position: sticky;
  top: 0;
  width: 100%;
  z-index: 100;
}

.noPadding {
  padding: 0px;
}

#topBar {
  background-color: #C1011D;
  padding: 5px;
  color: #ffffff;
  font-size: 13px;
}

.action-bar {
  display: flex;
  flex-direction: row;
  justify-content: center;
  position: relative;
  padding: 0 1rem;
}

.action-bar .covid-19 {
  margin: 0 auto;
}

.action-bar .covid-19 a {
  background-color: #ffffff;
  border-radius: 5px;
  padding: .5rem;
  color: #000000;
}

.action-bar .covid-19 a:hover {
  background-color: #f3f3f3;
  text-decoration: none;
}

@media(max-width: 500px) {
  .action-bar .covid-19 a {
    display: none;
  }
}

.navbar {
  border-bottom: 1px #C1011D solid;
  background-color: #ffffff;
}

@media(min-width: 1024px) {
  .navbar {
    justify-content: center;
  }
}

.navbar-collapse {
  flex-grow: 0;
}

.nav-link {
  color: grey;
  font-family: 'Source Sans Pro';
  font-size: 20px;
  margin-left: 18px;
  margin-top: 10px;
}

.nav-link:hover {
  color: #C1011D;
}

.dropdown-item:active {
  background-color: #C1011D;
  color: #ffffff;
}

.navbar .smactive {
  background-color: #C1011D;
  color: #ffffff;
}

.active {
  color: #C1011D;
}

@media (min-width: 979px) {
  .dropdown:hover>.dropdown-menu {
    display: block;
  }
  .dropdown-menu {
    margin-top: -1px;
  }
  #aboutUsSection {
    width: 80%;
    margin-left: 20px;
    margin-top: 10%;
  }
}

.darkBackground {
  background-color: #E8E8E8;
  padding: 2rem 1rem;
}

.darkBackground .container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.darkBackground img {
  margin: 0;
  width: 100%;
}

@media(min-width: 786px) {
  .darkBackground .container {
    grid-template-columns: repeat(4, 1fr);
    margin: 0 auto;
  }
}

.smallBanners {
  width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.eventSection,
.titleSection {
  margin-top: 50px;
  margin-bottom: 50px;
  text-align: center;
}

.eventSection h2,
.titleSection h1 {
  font-family: 'Oswald';
}

.getConnectedBanners {
  margin-bottom: 50px;
}

.getConnectedBanners img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.getConnectedBanners h1 {
  margin-top: 20px;
  text-align: center;
  font-family: 'Oswald';
  color: #C1011D;
}

.getConnectedBanners p {
  font-style: italic;
  text-align: center;
}

.getConnectedBanners .learnMore {
  display: block;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  width: 150px;
  padding: 10px;
  color: #C1011D;
  border: 1px #C1011D solid;
  border-radius: 20px;
  font-size: 16px;
  font-weight: 700;
}

.getConnectedBanners .learnMore:hover {
  text-decoration: none;
  background-color: #C1011D;
  color: #fff;
}

#aboutUsSection h1 {
  font-family: 'Oswald';
  font-size: 45px;
  font-weight: bolder;
}

#aboutUsSection a {
  display: block;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  width: 200px;
  background-color: #C1011D;
  color: #fff;
  border-radius: 20px;
  padding: 15px;
}

#aboutUsSection a:hover {
  text-decoration: none;
  background-color: #ffffff;
  color: #C1011D;
}

.leadershipImg {
  width: 100%;
  max-width: 200px;
  border-radius: 50%;
}

.greyBackground {
  background-color: #E8E8E8;
}

.redBackground {
  background-color: #C1011D;
  color: #fff;
}

.darkGreyBackground {
  background-color: #313030;
  color: #fff;
  padding-top: 80px;
}

.darkGreyBackground hr {
  background-color: #fff;
}

.darkGreyBackground #pav {
  display: block;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  width: 80%;
  background-color: #C1011D;
  color: #fff;
  border-radius: 10px;
  padding: 10px;
  text-align: center;
}

.darkGreyBackground #pav:hover {
  text-decoration: none;
  background-color: #ffffff;
  color: #C1011D;
}

.darkGreyBackground h1 {
  font-family: 'Oswald';
  font-size: 25px;
  font-weight: 700;
  text-align: center;
}

.darkGreyBackground .cont1 p {
  font-size: 15px;
  line-height: 10px;
  font-style: italic;
  text-align: center;
}

.locationSection {
  padding-top: 50px;
  padding-bottom: 50px;
  text-align: center;
}

.locationSection h1 {
  color: #ffffff;
  text-align: center;
  font-size: 40px;
  font-family: 'Oswald';
}

.smicons {
  width: 50px;
  padding-right: 5px;
  margin-top: -10px;
}

.LargeBanners {
  width: 100%;
}

.guestInfoSection h1 {
  color: #C1011D;
  text-align: center;
  margin-top: 20px;
  font-size: 60px;
  font-family: 'Oswald';
}

.weeklyBulletinSection h1 {
  text-align: center;
  color: #C1011D;
  font-size: 60px;
  font-family: 'Oswald';
}

#ministryTitle {
  color: #C1011D;
  text-align: center;
  margin-top: 20px;
  margin-bottom: 50px;
  font-size: 60px;
  font-family: 'Oswald';
}

.ministrySection h1 {
  color: #C1011D;
  font-size: 30px;
  font-family: 'Oswald';
}

.aboutSection h1 {
  text-align: center;
  color: #C1011D;
  font-size: 60px;
  font-family: 'Oswald';
  margin-top: 20px;
  margin-bottom: 40px;
}

#smallnav_bar {
  background-color: #C1011D;
  color: #ffffff;
  padding-bottom: 10px;
}

#smallnav_bar .active {
  background-color: #ffffff;
  color: #C1011D;
  border-radius: 20px;
}

#smallnav_bar a:hover {
  cursor: pointer;
}

.aboutBanners {
  width: 80%;
  display: block;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 40px;
  padding-top: 20px;
}

#cBeliefs {
  margin-top: 40px;
  margin-bottom: 40px;
}

/* Back to top button */

.scrollTop {
  position: fixed;
  right: 10px;
  bottom: 10px;
  background-color: rgba(155, 159, 165, 0.4);
  border-radius: 50%;
  padding: 20px;
  opacity: 0;
  transition: all 0.4s ease-in-out 0s;
}

.scrollTop img {
  width: 20px;
  color: #fff;
  margin-top: -5px;
}

.scrollTop:hover {
  cursor: pointer;
}

#errorMessage {
  color: #ffffff;
  border-radius: 20px;
  font-size: 12px;
  margin-top: 40px;
  margin-bottom: -100px;
  padding: 10px;
  position: fixed;
  left: 30px;
  top: -20px;
}

.bottom-right {
  position: absolute;
  bottom: 0px;
  left: 0px;
  width: 100%;
}

.top-right {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
}

.buildingImage {
  width: 100%;
  padding-left: 40px;
  padding-right: 40px;
}

#getBfText {
  font-family: 'Oswald';
  font-size: 18px;
  text-shadow: 4px 3px 16px rgba(112, 112, 112, 0.8);
}

#getBfText #current {
  padding-top: 50px;
  margin-bottom: -2px;
  font-weight: bolder;
  font-size: 22px;
}

#getBfText #goal {
  font-weight: lighter;
  margin-bottom: -10px;
}

#getBfProgress {
  padding-left: 100px;
  width: 300px;
}

.event_d {
  background-color: lightgrey;
  padding: 23px;
  height: 90px;
  border-radius: 40px;
  margin-top: 20px;
  margin-bottom: 20px;
}

.eDate_d {
  background-color: #C1011D;
  margin: -20px;
  color: #ffffff;
  text-align: center;
  height: 85px;
  width: 85px;
  border-radius: 50%;
}

#eDay_d {
  font-size: 30px;
  padding-top: 8px;
  font-weight: bolder;
}

#eMonth_d {
  margin-top: -35px;
  font-size: 20px;
}

#eTitle_d {
  font-size: 18px;
  font-weight: bolder;
}

@media (max-width: 991px) {
  .bottom-right {
    position: absolute;
    top: 400px;
    left: 0px;
    width: 100%;
  }
  .expandingTBImage {
    max-width: 100%;
    max-height: 700px;
    overflow: hidden;
  }
}

@media (max-width: 767px) {
  .bottom-right {
    position: absolute;
    top: 200px;
    left: 0px;
    width: 100%;
  }
  .buildingImage {
    width: 100%;
    padding-left: 10px;
    padding-right: 10px;
    margin-bottom: -140px;
  }
  .expandingTBImage {
    max-width: 100%;
    max-height: 800px;
    overflow: hidden;
  }
  .expandingTBImage table {
    width: 100%;
  }
  .expandingTBImage td {
    text-align: center;
  }
  #getBfText {
    padding-left: 40px;
  }
  #getBfText #goal {
    margin-bottom: 20px;
  }
  #getBfProgress {
    padding-left: 40px;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 530px) {
  .buildingImage {
    margin-bottom: -40px;
  }
}

@media (max-width: 450px) {
  .bottom-right {
    position: absolute;
    top: 150px;
    left: 0px;
    width: 100%;
  }
  .buildingImage {
    width: 100%;
    padding-left: 10px;
    padding-right: 10px;
  }
  .expandingTBImage {
    max-width: 100%;
    max-height: 900px;
    overflow: hidden;
  }
  .expandingTBImage table {
    width: 100%;
  }
  .expandingTBImage td {
    text-align: center;
  }
}

@media (min-width: 979px) {
  .navbar-brand img {
    width: 250px;
    height: 75px;
  }
  .greyBackground img {
    margin-left: -30px;
    margin-right: -30px;
    width: 100%;
  }
}

@media (max-width: 979px) {
  .navbar-brand img {
    width: 200px;
    height: 45px;
  }
  .smallBanners, .aboutBanners {
    width: 100%;
  }
  .leadershipImg {
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
  .leadershipText {
    text-align: center;
  }
  .greyBackground img {
    width: 100%;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
  .aboutUsSection h1 {
    text-align: center;
  }
  .getConnectedBanners .learnMore, .smallBanners, #aboutUsSection a, .darkGreyBackground #pav, .darkGreyBackground h1 {
    margin-bottom: 30px;
  }
}

footer a, footer a:hover {
  color: #ffffff;
}

footer a:hover {
  text-decoration: none;
}

/* Missing page */

.missing {
  text-align: center;
}

.missing a {
  margin-top: 3rem;
  background-color: #C1011D;
  border-radius: 20px;
  padding: 1rem 2rem;
  color: #ffffff;
}

.missing a:hover {
  background-color: #ffffff;
  border: 1px solid #C1011D;
  color: #C1011D;
  text-decoration: none;
}

.videoWrapper {
  position: relative;
  padding-bottom: 56.25%;
  /* 16:9 */
  height: 0;
}

.videoWrapper iframe,
.videoWrapper video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.videoWrapper + p {
  margin-top: 1rem;
}

/****************************************
* Buttons
****************************************/

.btn-plain {
  background-color: transparent;
  border: none;
  color: #ffffff;
}

.btn-plain:hover {
  cursor: pointer;
}

.btn-link {
  color: #C1011D;
}

.btn-link:hover {
  color: #C1011D;
  text-decoration: none;
}

/****************************************
* Give page
****************************************/

.giveSection {
  margin-top: 113px;
  padding-bottom: 5rem;
}

.giveSection h1 {
  color: #C1011D;
  font-size: 60px;
  font-family: 'Oswald';
}

.giveForm [type="submit"] {
  margin: 1rem 0;
  background-color: transparent;
  border: 1px solid #C1011D;
  border-radius: 10px;
  width: 100%;
  padding: 1rem;
  color: #C1011D;
  font-size: 20px;
  font-weight: 700;
}

.giveForm [type="submit"]:hover {
  background-color: #C1011D;
  color: #ffffff;
  cursor: pointer;
}

/****************************************
* Accordion
****************************************/

.accordion .card {
  background-color: transparent;
  border: none;
  border-bottom: 1px solid #b8b7b7 !important;
}

.accordion .card-header {
  background-color: transparent;
  border-bottom: none;
  padding: 0;
}

.accordion .card-header button {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  width: 100%;
  padding: 1rem 3rem 1rem 1rem;
  text-align: left;
  white-space: normal;
}

.accordion .card-header svg {
  position: absolute;
  right: 1rem;
  width: 20px;
  height: 20px;
  fill: #C1011D;
  transition: transform .4s ease;
}

.accordion .card-header svg.rotate {
  transform: rotate(-180deg);
}

.accordion .card-header h2>button {
  font-size: 18px;
  font-weight: 700;
}

.accordion span {
  font-size: 20px;
  font-family: 'Oswald';
  font-weight: 700;
}

/****************************************
* Faqs
****************************************/

.faqs {
  background-color: #efefef;
  padding: 5rem 0;
}

.faqs h2 {
  font-family: 'Oswald';
  font-size: 35px;
}

/****************************************
* Men's prayer breakfast banner
****************************************/

.prayerBreakfast {
  position: relative;
}

.prayerBreakfast p {
  position: absolute;
  margin: 0;
  bottom: calc(14px + (46 - 14) * (100vw - 320px) / (767 - 320));
  left: 0;
  right: 0;
  width: 100%;
  text-align: center;
  color: #ffffff;
  font-size: calc(12px + (32 - 12) * (100vw - 320px) / (767 - 320));
}

@media(min-width: 768px) {
  .prayerBreakfast p {
    bottom: 14px;
    font-size: 14px;
  }
}

@media(min-width: 1140px) {
  .prayerBreakfast p {
    bottom: calc(13px + (17 - 13) * (100vw - 1140px) / (1500 - 1140));
    font-size: calc(14px + (16 - 14) * (100vw - 1140px) / (1500 - 1140));
  }
}

/****************************************
* Building fund
****************************************/

.buildingFund {
  display: grid;
  margin: 0 auto;
  grid-gap: 2rem;
  max-width: 1400px;
  padding: 2rem;
}

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

.buildingFund .title h1 {
  font-weight: 700;
}

.buildingFund .title p {
  font-size: 20px;
}

.buildingFund .current {
  margin-bottom: 0;
  font: normal 100 14px/1.2em Helvetica;
}

.buildingFund .goal {
  font: normal 100 14px/1.2em Helvetica;
  text-align: right;
}

.buildingFund .current span {
  font-size: 20px;
  font-weight: 700;
}

.buildingFund .progressBar {
  position: relative;
  margin: 5px 0;
  background-color: #efefef;
  border-radius: 20px;
  height: 10px;
  overflow: hidden;
}

.buildingFund .progressBar .bar {
  position: absolute;
  top: 0;
  bottom: 0;
  background-color: #C1011D;
  border-radius: 20px;
}

.btn.btn-primary,
.buildingFund a {
  display: block;
  border: none;
  background-color: #C1011D;
  border-radius: 20px;
  width: 200px;
  padding: 15px;
  color: #ffffff;
  text-align: center;
  outline: none;
}

.btn.btn-primary:hover,
.btn.btn-primary:focus,
.buildingFund a:hover {
  background-color: #ffffff;
  border: 2px solid #C1011D;
  color: #C1011D;
  text-decoration: none;
  outline: none;
}

.buildingFund img {
  width: 100%;
}

@media(min-width: 768px) {
  .buildingFund {
    grid-template-columns: 1fr 1fr;
    grid-gap: 2rem;
    padding: 2rem 4rem;
  }
  .buildingFund .title {
    grid-column: span 2;
  }
}

@media(min-width: 1140px) {
  .buildingFund {
    grid-gap: 6rem;
    padding: 4rem 6rem;
  }
}

/****************************************
* FullCalendar
****************************************/

#calendar {
  margin: 0 auto;
  max-width: 800px;
}

.tooltip {
  position: absolute;
  z-index: 9999;
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.5);
  border-radius: 3px;
  background: #efefef;
  width: 150px;
  padding: 10px;
  text-align: center;
  color: #000000;
}

.tooltip .tooltip-arrow {
  position: absolute;
  margin: 5px;
  border-style: solid;
  width: 0;
  height: 0;
}

.tooltip .tooltip-arrow {
  border-color: #efefef;
}

.tooltip[x-placement^="top"] {
  margin-bottom: .5rem;
}

.tooltip[x-placement^="top"] .tooltip-arrow {
  bottom: -5px;
  left: calc(50% - 5px);
  margin-top: 0;
  margin-bottom: 0;
  border-width: 5px 5px 0 5px;
  border-left-color: transparent;
  border-right-color: transparent;
  border-bottom-color: transparent;
}

/****************************************
* Accents
****************************************/

.accent-1 {
  background-color: #6dba7b;
}

.accent-2 {
  background-color: #ecbb5e;
}

.accent-3 {
  background-color: #64bec2;
}

.accent-4 {
  background-color: #df5c57;
}

.accent-5 {
  background-color: #e8e8e8;
}

/****************************************
* Video container
****************************************/

.videoContainer {
  position: relative;
  padding-bottom: 56.5%;
}

.video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
}

.videoWrapper {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
}

.videoWrapper.small {
  padding-bottom: 52.7%; /* 16:9 */
}

.videoWrapper iframe,
.videoContainer video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

iframe {
  border: 0;
}

.videoContainer video {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

/****************************************
* Staff
****************************************/

.staff {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  gap: 2rem;
}

@media(min-width: 1400px) {
  .staff {
    gap: 4rem;
  }
}

.text-link,
.staff button {
  margin: 0;
  border: none;
  background-color: transparent;
  padding: 0;
}

.staff button {
  border-radius: 10px;
  padding: 1rem;
  transition: all .4s ease;
}

.staff button[data-target]:hover {
  background-color: rgba(0, 0, 0, .05);
  cursor: pointer;
}

.staff img {
  border-radius: 50%;
}

.staff img + h3 {
  margin-top: 1rem;
}

.staff h3,
.staff h3 + p {
  margin: 0;
}

.text-link {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
}

.text-link svg {
  margin-left: .5rem;
  width: 20px;
  height: 20px;
}

.text-link:hover,
.text-link:hover svg {
  color: #C1011D;
  cursor: pointer;
}

/****************************************
* Events
****************************************/

.calendar-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin: 1rem 0;
}

.calendar-wrapper + a {
  margin: 0 auto;
}

.calendar-card {
  display: flex;
  flex-direction: column;
  border: none;
  border-radius: 15px;
  box-shadow: 1px 1px 5px rgba(0, 0, 0, .1);
  padding: 0;
  text-align: left;
  overflow: hidden;
}

.calendar-card .details {
  padding: 1rem;
}

.calendar-card .date {
  align-items: center;
  gap: .5rem;
}

.calendar-card .day {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 8px;
  background-color: #C1011D;
  width: 30px;
  height: 30px;
  padding: .5rem;
}

.calendar-card .day p {
  font-size: 16px;
  font-weight: 700;
  color: #ffffff;
}

.calendar-card .dow {
  font-size: 13px;
  font-weight: 200;
  text-align: left;
}

.calendar-card .month {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  text-align: left;
}

.calendar-card hr {
  margin: .5rem 0;
  border: 1px solid #efefef;
}

.calendar-card svg {
  fill: #C1011D;
  width: 30px;
  height: 30px;
}

.calendar-card p {
  margin: 0;
  font-size: 15px;
  line-height: 1.2em;
}

.calendar-card .border {
  padding: 3rem;
}