*, ::after, ::before {
    box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
    margin: 0;
    padding: 0;
    font-family: "Roboto", sans-serif;
    font-optical-sizing: auto;
}

.container {
    position: relative;
    z-index: 10;
}

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

.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}

/* Buttons */

.btn {
    padding: 0.75rem 1.5rem;
  font-size: 1.125rem;
  text-decoration: none;
  display: inline-block;
  border-radius: 8px;
  font-weight: 600;
}

.btn-primary {
  background: #E8E8E8;
  color: black;
  border: none;
}

.btn-outline-primary {
  background: transparent;
  border: 2px solid;
}

header {
  padding: 1rem;
  position: absolute;
  width: 100%;
  box-sizing:border-box;
  z-index: 10;
}

nav {
    float: right;
}

nav ul {
	margin:0;
  padding: 0;
}

nav li {
	display: inline-block;
	list-style: none;
	padding: 1rem;
	margin:0;
}

nav a {
	color: white;
	text-decoration: none;
    font-weight: 700;
}


.logo {
    background: url(https://catechism.cph.org/img/catechism-colored-rose.png) no-repeat;
    background-size: 55px;
    height: 55px;
    display: inline-block;
    padding: 1rem 0;
    padding-left: 65px;
    color: white;
    text-decoration: none;
    font-weight: 700;
}
.hero {
  background: #535A53 url(../img/hero-bg-portrait.webp) no-repeat top center;
  /* background-attachment: fixed; */
  background-size: contain;
  padding: 7rem 0;
  text-align: center;
}

@media (min-width: 991px) {
  .hero {
  background: #535A53 url(../img/hero-bg.jpg) no-repeat top center;
  background-size: cover;
  }
}

.hero h1 {
  color: #EAD2AF;
  font-size: 3.25rem;
  line-height: 1.15;
  margin-bottom: 0;
}
.hero h2 {
  color: #EAD2AF;
  font-size: 1.8rem;
  margin: 0;
  font-weight: 300;
}

.hero .btn-primary {
  background: #B33B1E;
  color: white;
  border: none;
  padding: 0.75rem 1.5rem;
  font-size: 1.125rem;
  text-decoration: none;
  display: inline-block;
  margin-top: 1rem;
  border-radius: 8px;
  margin: 3rem auto
}

.chief-parts {
    text-align: center;
}

.chief-parts a {
    background: white;
    display: block;
    padding: 2rem 1rem;
    font-size: 1rem;
    border-radius: 8px;
    min-height: 255px;
    color: #365359;
    text-decoration: none;
}

.chief-parts img {
    width: 100%;
    max-width: 100px;
    margin: auto;
    height: auto;
}

.chief-parts .row .col-2 {
    margin: 0 1%;
    width: 14.66%;
}

.translations {
    padding: 3rem 0;
    position: relative;
    z-index: 10;;
}

@media (min-width: 991px) {
   .container.translations {
    max-width: 55rem;
    width: 100%;
  }
}

.translations h2 {
    margin-bottom: 1rem;
}

.translations .btn-outline-primary {
    background-color: #404741;
   color: #EAD2AF;
   border-color: #EAD2AF;
   width: 100%;
}

.translations .btn {
    font-size: 1.25rem;
}

.translations .btn span {
    display: block;
    font-size: 75%;
}



.history { 
  padding: 8rem 0;
  background: #C7DFF6 url(../img/martin-luther-statue-10-opacity.webp) no-repeat center top;
  background-size: cover;
  z-index: 10;
  position: relative;
  font-size: 1.5rem;
  color:#4C5D6A
}

@media (min-width: 1200px) {
  .history {
    background: #C7DFF6 url(../img/martin-luther-statue.webp) no-repeat left top;
    background-size: 90%;
  }
}


.download-app {
    padding: 3rem 0;
    position: relative;
    z-index: 10;
    background: white;;
}


.download-app h2 {
    margin-top: 3rem;
}

.app-badges {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 0;
}
.app-badges img {
    width: auto;
    height: 50px;
    vertical-align: middle;
    object-fit: contain;
}

.alexa-callout {
    background: url(../img/amazon-echo.webp) no-repeat left;
    background-size: contain;
    padding: 2.5rem;
    padding-left: 10rem;
    margin: 2rem 0;
}
.alexa-callout a {
    color: black;
    text-decoration: none;
}
.alexa-callout span {
    font-weight: 700;
}

.shop-catechisms {
    padding: 3rem 0;
    position: relative;
    z-index: 30;
    min-height: 75vh;
    text-align: center;
}

footer {
    background: #4e5a50;
    color: white;
    padding: 2rem 0;
    position: relative;
    z-index: 30;
    color:#D7DAD7;
    font-size: 14px;
}

footer a {
    color: #D7DAD7;
    text-decoration: none;
}

footer nav a {
    color: #E3CCAB;
}

@media (max-width: 991px) {
  footer {
    text-align: center !important;
  }

  footer .text-right {
    text-align: center !important;
  }

  footer nav {
    float: none;
  }
}