
.site-main {
  max-width: 100% !important;
  padding-inline-end: 0px !important;
  padding-inline-start: 0px !important;
}

/* Page Container */
.dp-page {
  display: flex; 
  flex-direction: column;
  margin: 0 auto;
  gap: 20px;
  padding: 10px 5px 20px;
}


/* Links */
/* Generic table links */
.dp-page a {
  color:#c5b542;
  font-weight: inherit;
  text-decoration: none;
  box-shadow: none;
  border: none;
  font-size: 0.9rem;
}

.dp-page a:hover {
  color: #f5f2d0;
  text-decoration: underline; 
}

.dp-page a:focus {
  outline: 2px solid rgba(255, 204, 0, 0.5);
  outline-offset: 2px;
}



/* Breadcrumbs */
.dp-breadcrumbs {
  font-size: 0.8rem;
  color: #cfcfcf;
  text-align: center;
}

.dp-breadcrumbs a {
  color: inherit;
  text-decoration: underline;
  color: #c5b542;
}

.dp-breadcrumbs a:hover {
  text-decoration: underline;
  color: #cfcfcf;
}

.dp-breadcrumb-sep {
  opacity: 0.7;
  margin: 0 3px;
}

.dp-breadcrumbs span {
  color: #cfcfcf;
  font-size: 0.8rem;
}

/* Page header */
.dp-header h1.dp-title {
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.6);
  margin: 0;
  text-align: center;
  font-size: 1.5rem;
}

/* Generic table captions */
h2.dp-table-caption {
  background: #222;
  color: #f5f2d0;
  border-bottom: 1px solid #000;
  font-family: "Days One", "Roboto", "Helvetica", sans-serif;
  font-size: 0.9rem !important;
  font-weight: normal;
  display: block;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.6);
  margin: 0;
  padding: 10px 5px;
}

/* Dartspress Buttons */

button.dp-btn {
  appearance: none;
  border: 0;
  border-radius: 6px;
  cursor: pointer;
  background: #666;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  padding: 4px 6px;
  font-size: 1.2rem;
}

button.dp-btn.is-active {
  background: #d4af37;
  color: #111;
  font-weight: 700;
}

button.dp-btn:hover {
  background: #d4af37;
  color: #111;
  outline: 2px solid rgba(0, 0, 0, 0.25);
  outline-offset: 2px;
}

button.dp-btn:focus {
  outline: 2px solid rgba(0, 0, 0, 0.25);
  outline-offset: 2px;
}

button.dp-btn.is-active:visited{
  color: #111;
}




/* ************************* */
/* ----Responsive Design---- */
/* ************************* */

@media (min-width: 360px) {

    .site-main {
        max-width: 100% !important;
        padding-inline-end: 0px !important;
        padding-inline-start: 0px !important;
    }

    .dp-page {
        gap: 20px;
        padding: 10px 5px 20px;
    }

    .dp-page a {
        font-size: 0.8rem;
    }


    .dp-header h1.dp-title {
        margin: 10px 0 5px;
        text-align: center;
        font-size: 1.5rem;
    }

    h2.dp-table-caption {
        margin: 0;
        padding: 10px 5px;
        font-size: 0.8rem !important;
        font-weight: normal;
    }

    button.dp-btn {
        font-size: 0.6rem !important;
    }
}

@media (min-width: 480px) {

    .site-main {
      max-width: 100% !important;
      padding-inline-end: 0px !important;
      padding-inline-start: 0px !important;
    }

}


@media (min-width: 768px) {

    .site-main {
      max-width: 100% !important;
      padding-inline-end: 0px !important;
      padding-inline-start: 0px !important;
    }

    .dp-page {
      gap: 20px;
      padding: 10px 20px 20px;
    }

    .dp-header h1.dp-title {
        margin: 10px 0 5px;
        text-align: center;
        font-size: 1.75rem;
    }

    h2.dp-table-caption {
        margin: 0;
        padding: 15px 10px;
        font-size: 1rem !important;
        font-weight: 400;
    }

    button.dp-btn {
        font-size: 0.7rem !important;
    }

}


@media (min-width: 1024px) { 

    .site-main {
      max-width: 100% !important;
      padding-inline-end: 0px !important;
      padding-inline-start: 0px !important;
    }   

    .dp-page {
      gap: 20px;
      padding: 20px 20px 30px;
    }

    /* Header and Intro */
    .dp-header h1.dp-title {
        margin: 15px 0 8px;
        font-size: 2rem;
        text-align: center;
    }

    h2.dp-table-caption {
        margin: 0;
        padding: 15px 10px;
        font-size: 1.25rem !important;
        font-weight: 400;
    }

    button.dp-btn {
        font-size: 0.8rem !important;
    }

}

@media (orientation: landscape) and (max-width: 1024px) {

    .site-main {
      max-width: 100% !important;
      padding-inline-end: 0px !important;
      padding-inline-start: 0px !important;
    }

    /*
    body[class*="elementor-kit-"] .dp-page {
        width: 100vw;
        max-width: none;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        padding-left: 12px;
        padding-right: 12px;
    }
    */

}

@media (min-width: 1200px) {

    .site-main {
      max-width: 1200px !important;
      padding-inline-end: 0px !important;
      padding-inline-start: 0px !important;
    }

    .dp-page {
      gap: 20px;
      padding: 20px 20px 30px;
    }

    .dp-header h1.dp-title {
        margin: 20px 0 10px;
        text-align: center;
        font-size: 2.2rem;
    }

    h2.dp-table-caption {
        margin: 0;
        padding: 15px 10px;
        font-size: 1.25rem !important;
        font-weight: 400;
    }

    button.dp-btn {
        font-size: 0.9rem !important;
    }

}
