/**
Theme Name: FPG Project Theme
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra child theme to be used for FPG Project sites
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: fpg-projects
Template: astra
*/

/* =============================================================================
 *   Color Variables
 * ========================================================================== */

:root {
  --blue: #047fae;
  --medium-blue: #325083;
  --light-orange: #f0ac5e;
  --dark-blue: #174a63;
  --orange: #f69e25;
  --red: #bf432c;
}

/* =============================================================================
 *   HTML
 * ========================================================================== */

h1.entry-title,
h1.wp-block-post-title {
  margin-top: 40px !important;
  font-size: 24px !important;
  font-weight: 700 !important;
}

/* Most header settings in theme config. This covers what can't be set there */
h2, .entry-content h2  {
  margin: 15px 0;
}

h3, .entry-content h3, h4, .entry-content h4, h5, .entry-content h5, h6, .entry-content h6 {
  margin: 10px 0;
}

h6, .entry-content h6 {
  text-transform: uppercase;
}

/* =============================================================================
  *  Header and main menu
  * ========================================================================== */

.ast-main-header-wrap {
  border-top: 3px solid var(--red);
}

header#masthead {
  padding-bottom: 8px;
  background: url('images/header-border3.png') bottom left repeat-x;
}

.ast-builder-menu-1 .menu-link:focus,
.ast-builder-menu-1 .menu-item:hover > .menu-link,
.ast-builder-menu-1 .inline-on-mobile .menu-item:hover > .ast-menu-toggle {
  background: var(--dark-blue) !important;
  color: #fff;
}

.header-links {
  font-size: 18px;
  color: #bbb;
}

@media (max-width: 920px) {
  .header-links {
    font-size: 14px;
  }
}

.header-links a {
  padding: 0 10px;
}

.header-links a:hover,
.header-links a:focus {
  text-decoration: underline;
}

.main-header-menu .menu-item {
  max-width: 250px;
}

.main-header-menu #menu-item-536 {
  max-width: 210px;
}

#ast-hf-mobile-menu .menu-item,
#ast-hf-mobile-menu #menu-item-536 {
  max-width: none;
}

.main-header-menu .menu-item a {
  line-height: 1.4em;
}

.site-below-header-wrap.ast-container {
  padding: 0 10px !important;
}


/* =============================================================================
 *   Footer 
 * ========================================================================== */

/* footer menu */
.footer-nav-wrap #astra-footer-menu li a {
  display: block;,
  padding: 0;
  margin-bottom: 10px;
}

.footer-nav-wrap #astra-footer-menu li a:hover,
.footer-nav-wrap #astra-footer-menu li a:focus {
  text-decoration: underline;
}

.site-above-footer-wrap {
  text-align: center;
}

.site-above-footer-wrap a {
  display: inline-block;
  vertical-align: middle;
}

.site-above-footer-wrap a img {
  margin: 0 30px 15px 30px !important;
}

.site-below-footer-wrap .ast-builder-grid-row-container-inner,
.site-primary-footer-wrap[data-section="section-primary-footer-builder"] .ast-builder-grid-row {
  max-width: 1060px;
  margin: 0 auto 20px auto;
}

.footer-bottom-links {
  text-align: center;
  margin-top: 15px;
}

.footer-bottom-links a {
  padding: 0 15px;
}

.ast-footer-copyright img {
  float: left;
  margin-right: 10px;
}

.ast-footer-copyright p {
  margin-bottom: 15px;
}

/* =============================================================================
  *  Layout
  * ========================================================================== */

#primary, #secondary {
  margin-top: 0px !important;
}

.home #primary {
  margin-top: 0 !important;
}

.ast-container, .ast-container-fluid {
  padding-left: 40px !important;
  padding-right: 40px !important;
}

/* =============================================================================
 *  Home page
 * ========================================================================== */
@media (max-width:600px) {
  .home-banner p {
    padding-left: 30px !important;
  }

  .home-banner img {
     object-position: 100% 0% !important;
  }

  .home-banner {

  }
}

.home .gradient-box {
  background-size: auto 100% !important;
}

.social-outcomes {
  min-width: 180px !important;
}

/* =============================================================================
 *  Adjustment to gutenberg blocks
 * ========================================================================== */

/* too much spacing by default around images and spectra containers */
.wp-block-image.size-full {
  margin: 10px 0 !important;
}

.uagb-container-inner-blocks-wrap {
  row-gap: 0 !important;
}

.home .wp-block-group {
  padding-top: 0px !important;
}

/* button borders not showing */
.wp-block-button .wp-block-button__link {
  border: 2px solid var(--blue);
  padding: 10px 30px !important;
}

.wp-block-separator {
  border: 0px !important;
  color: #000 !important;
}

/* widths keep getting unset.  use classes instead */

.max-width-700 {
  max-width: 700px !important;
  margin: 30px auto !important;
}

.max-width-800 {
  max-width: 800px !important;
  margin: 30px auto !important;
}

.max-width-900 {
  max-width: 900px !important;
  margin: 30px auto !important;
}

.max-width-1000 {
  max-width: 1000px !important;
  margin: 30px auto !important;
}

.orange-box {
  background: #fff url('images/orange-grad.png') top right no-repeat !important;
  background-size: auto 230px  !important;
  margin-left: -40px;
  margin-right: 40px;
  min-height: 230px;
}

.orange-box .wp-block-group__inner-container {
  max-width: 500px;
  padding: 10px 0 20px 0;
  margin: 0 auto;
  min-height: 210px;
}

.blue-box {
  background: #fff url('images/blue-grad.png') top left no-repeat !important;
  background-size: auto 240px  !important;
  margin-right: -40px;
  margin-left: 40px;
}

.blue-box .wp-block-group__inner-container {
  max-width: 500px;
  padding: 10px 0 20px 0;
  margin: 0 auto;
  min-height: 210px;
  color: #fff;
}

@media (max-width: 700px) {
  .blue-box {
    background-color: #15475f !important;
    background-image: none !important;
    background-size: auto auto  !important;
    margin-left: -40px;
  }

  .orange-box {
    background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(246,158,37,1) 100%) !important;
    background-size: auto auto  !important;
    margin-right: -40px;
  }
}
/* =============================================================================
 *  Forms
 * ========================================================================== */

input[type="email"], input[type="number"],
input[type="password"], input[type="reset"],
input[type="search"], input[type="tel"], input[type="text"],
input[type="url"], select, textarea {
  padding: 10px;
}

/* =============================================================================
 *  Posts, general
 * ========================================================================== */

/* hide previous next options for posts */
nav.post-navigation {
  display: none;
}

/* =============================================================================
 *  Highlighted resource boxes on different pages
 * ========================================================================== */
.page-id-530 .recommended-tools p {
  margin: 0;
}

.featured-resource p,
.page-id-530 .recommended-tools p.recommended {
  padding-bottom: 15px !important;
  border-bottom: 1px solid #ccc !important;
  margin-bottom: 15px !important;
  margin-top: 0px !important;
  font-size: 13px !important;
}

.featured-resource h3 {
  font-size: 16px !important;
  font-weight: normal !important;
  margin: 0px !important;
}


/* =============================================================================
 *  Implementation Practice section
 * ========================================================================== */

.imp-banner {
  padding: 20px 40px 0px 40px !important;
  margin-bottom: 30px;
}

.imp-banner .wp-block-group__inner-container {
  max-width: 1050px;
}

/* tabs */
.implementation-tabs .uagb-tab {
  border-width: 10px !important;
  border-radius: 0px !important;
}

.implementation-tabs .uagb-tab a {
  text-decoration: none !important;
  display: block !important;
  padding: 15px 10px !important;
}

.uagb-tabs__panel .uagb-tab:hover {
  cursor: pointer !important;
}

.implementation-tabs #uagb-tabs__tab0 {
  border-color: var(--medium-blue) !important;
}

.implementation-tabs #uagb-tabs__tab5 {
  border-color: var(--red);
}

.implementation-tabs #uagb-tabs__tab1,
.implementation-tabs #uagb-tabs__tab2,
.implementation-tabs #uagb-tabs__tab3,
.implementation-tabs #uagb-tabs__tab4 {
  border-color: var(--orange);
}

.implementation-tabs #uagb-tabs__tab1,
.implementation-tabs #uagb-tabs__tab2,
.implementation-tabs #uagb-tabs__tab3 {
  border-bottom-width: 0px !important;
}

.implementation-tabs  .uagb-tabs__body-wrap {
  border-width: 8px !important;
  border-color: #fff !important;
}

.implementation-tabs #uagb-tabs__tab1.uagb-tabs__active a,
.implementation-tabs #uagb-tabs__tab1 a:hover,
.implementation-tabs #uagb-tabs__tab1 a:focus,
.implementation-tabs #uagb-tabs__tab2.uagb-tabs__active a,
.implementation-tabs #uagb-tabs__tab2 a:hover,
.implementation-tabs #uagb-tabs__tab2 a:focus,
.implementation-tabs #uagb-tabs__tab3.uagb-tabs__active a,
.implementation-tabs #uagb-tabs__tab3 a:hover,
.implementation-tabs #uagb-tabs__tab3 a:focus,
.implementation-tabs #uagb-tabs__tab4.uagb-tabs__active a,
.implementation-tabs #uagb-tabs__tab4 a:hover,
.implementation-tabs #uagb-tabs__tab4 a:focus {
  background-color: var(--orange) !important;
  outline: none !important;
}

.implementation-tabs #uagb-tabs__tab0 a {
  padding-left: 50px !important;
  background: #fff url("images/flag.png") 2% 50% no-repeat !important;
  background-size: 30px auto !important;
}

.implementation-tabs #uagb-tabs__tab0.uagb-tabs__active a,
.implementation-tabs #uagb-tabs__tab0 a:hover,
.implementation-tabs #uagb-tabs__tab0 a:focus {
  background-color: var(--medium-blue) !important;
  background-image: url('images/flag-wh.png') !important;
  color: #fff !important;
  outline: none !important;
}

.implementation-tabs #uagb-tabs__tab5 a {
  padding-left: 50px !important;
  background: #fff url("images/gears.png") 2% 50% no-repeat !important;
  background-size: 30px auto !important;
}

.implementation-tabs #uagb-tabs__tab5.uagb-tabs__active a,
.implementation-tabs #uagb-tabs__tab5 a:hover,
.implementation-tabs #uagb-tabs__tab5 a:focus {
  background-color: var(--red) !important;
  background-image: url('images/gears-wh.png') !important;
  color: #fff !important;
  outline: none !important;
}

/* tab content */
h2.start,
.uagb-tabs__body-wrap .start h2,
.uagb-tabs__body-wrap .read h2,
.uagb-tabs__body-wrap .watch h2,
.uagb-tabs__body-wrap .listen h2,
.uagb-tabs__body-wrap .reflect h2,
.uagb-tabs__body-wrap .apply h2 {
  padding-left: 50px;
  background: url('images/flag.png') center left no-repeat;
  background-size: 40px auto;
  line-height: 40px;
  margin-top: 0;
}

.uagb-tabs__body-wrap .read h2 {
  background: url('images/read.png') center left no-repeat;
  background-size: auto 40px;
}

.uagb-tabs__body-wrap .watch h2 {
  background: url('images/watch.png') center left no-repeat;
  background-size: auto 40px;
}

.uagb-tabs__body-wrap .listen h2 {
  background: url('images/listen.png') center left no-repeat;
  background-size: auto 40px;
}

.uagb-tabs__body-wrap .reflect h2 {
  background: url('images/reflect.png') center left no-repeat;
  background-size: auto 40px;
}

.uagb-tabs__body-wrap .apply h2 {
  background: url('images/gears.png') center left no-repeat;
  background-size: auto 40px;
}

.uagb-tabs__body-wrap .resource {
  border: 1px solid #ddd;
  padding: 10px 20px 0px 20px;
  margin-bottom: 15px;
}

.uagb-tabs__body-wrap .start .resource {
  border-top: 5px solid var(--medium-blue);
}

.uagb-tabs__body-wrap .read .resource,
.uagb-tabs__body-wrap .watch .resource,
.uagb-tabs__body-wrap .listen .resource,
.uagb-tabs__body-wrap .reflect .resource {
  border-top: 5px solid var(--orange);
}

.uagb-tabs__body-wrap .apply .resource {
  border-top: 5px solid var(--red);
}

.uagb-tabs__body-wrap .resource p {
  font-size: 12px;
}

.uagb-tabs__body-wrap .resource h3 {
  margin: 0;
  font-size: 14px;
  font-weight: normal;
}

/* bottom links */
.framework-boxes .uagb-container-inner-blocks-wrap {
  max-width: 1000px !important;
  padding: 30px;
}

.framework-boxes .uagb-container-inner-blocks-wrap img {
  max-height: 100px !important;
  width: auto !important;
}

.framework-boxes .uagb-container-inner-blocks-wrap .framework-desc {
  min-width: 250px;
  margin-right: 30px;
  padding-left: 15px;
}

.framework-boxes .uagb-container-inner-blocks-wrap .framework-desc p {
  margin-bottom: 0px;
}

/* =============================================================================
 *  ISPC section
 * ========================================================================== */

.ast-plain-container.ast-no-sidebar .entry-content .alignfull .wp-block-cover__inner-container {
  max-width: 1060px !important;
}

.ispc-boxes .inner-column {
  min-height: 110px;
}

.ispc-boxes .inner-column h2 {
  font-size: 18px;
  font-weight: normal;
  margin: 0;
}

.ispc-boxes p.has-small-font-size {
  min-height: 80px;
}

.ispc-banner {
  padding: 20px 40px 0px 40px !important;
  margin-bottom: 30px;
}

.ispc-banner .wp-block-group__inner-container {
   max-width: 1050px;
}

/* tabs */
.ispc-tabs .uagb-tab {
  border-width: 10px !important;
  border-radius: 0px !important;
}

.ispc-tabs .uagb-tab a {
  text-decoration: none !important;
  display: block !important;
  padding: 15px 10px !important;
}


.ispc-tabs #uagb-tabs__tab3 {
  border-color: var(--red);
}

.ispc-tabs #uagb-tabs__tab0,
.ispc-tabs #uagb-tabs__tab1,
.ispc-tabs #uagb-tabs__tab2 {
  border-color: var(--orange);
}

.ispc-tabs #uagb-tabs__tab0,
.ispc-tabs #uagb-tabs__tab1 {
  border-bottom-width: 0px !important;
}

.ispc-tabs  .uagb-tabs__body-wrap {
  border-width: 8px !important;
  border-color: #fff !important;
}

.ispc-tabs #uagb-tabs__tab0.uagb-tabs__active a,
.ispc-tabs #uagb-tabs__tab0 a:hover,
.ispc-tabs #uagb-tabs__tab0 a:focus,
.ispc-tabs #uagb-tabs__tab1.uagb-tabs__active a,
.ispc-tabs #uagb-tabs__tab1 a:hover,
.ispc-tabs #uagb-tabs__tab1 a:focus,
.ispc-tabs #uagb-tabs__tab2.uagb-tabs__active a,
.ispc-tabs #uagb-tabs__tab2 a:hover,
.ispc-tabs #uagb-tabs__tab2 a:focus {
  background-color: var(--orange) !important;
  outline: none !important;
}

.ispc-tabs #uagb-tabs__tab3 a {
  padding-left: 50px !important;
  background: #fff url("images/gears.png") 2% 50% no-repeat !important;
  background-size: 30px auto !important;
}

.ispc-tabs #uagb-tabs__tab3.uagb-tabs__active a,
.ispc-tabs #uagb-tabs__tab3 a:hover,
.ispc-tabs #uagb-tabs__tab3 a:focus {
  background-color: var(--red) !important;
  background-image: url('images/gears-wh.png') !important;
  color: #fff !important;
  outline: none !important;
}

/*bottom boxes */
.comp-boxes .uagb-container-inner-blocks-wrap {
  max-width: 900px !important;
  padding: 30px;
}

.comp-boxes .uagb-container-inner-blocks-wrap img {
  max-height: 130px !important;
  width: auto !important;
}

.comp-boxes .uagb-container-inner-blocks-wrap .framework-desc {
  min-height: 100px;
  margin-right: 40px;
}

.comp-boxes .uagb-container-inner-blocks-wrap .framework-desc p {
  margin-bottom: 0px;
  padding-left: 15px;
}

/* =============================================================================
 *  Resources
 * ========================================================================== */

.resource-sidebar h2 {
  margin: 15px 0 5px 0;
  font-size: 14px;
}

.resource-sidebar .facetwp-facet {
  margin-block-start: 0px !important;
}

.resource-sidebar .facetwp-facet .facetwp-link {
  font-size: 13px;
}

.facetwp-facet-resource_type {
  margin-bottom: 15px !important;
}

.fwpl-item.resource-description {
  font-size: 13px;
}

.resource-content {
  padding: 0px !important;
}

.resource-content .tb-fields-and-text p {
  margin-bottom: 5px;
}

.resource-content .file-label {
  margin-bottom: 0;
}

/* =============================================================================
 *  NIRN Community
 * ========================================================================== */
.nirn-community .wp-block-button:hover,
.nirn-community .wp-block-button:focus {
  cursor: pointer;
}

.nirn-community p {
  font-size: 13px !important;
  line-height: 150%;
  min-height: 155px;
}

.nirn-community p.ipss {
  min-height: 125px;
}

@media (max-width: 600px) {
  .nirn-community p {
    min-height: 0px;
  }
  .nirn-community p.ipss {
    min-height: 0;
  }
}

.nirn-community h2 {
  margin-bottom: 10px;
}

/* =============================================================================
 *  Accordion updates
 * ========================================================================== */

.lightweight-accordion-body {
  background-color: #fff !important;
  border-top: 1px solid var(--medium-blue) !important;
  padding: 30px !important;
}

.lightweight-accordion .lightweight-accordion-title h2 {
  font-size: 18px !important;
  font-weight: 700px !important;
}

summary.lightweight-accordion-title::marker {
  font-size: 24px;
}

/* =============================================================================
 *  Intranet 
 * ========================================================================== */

.postid-2560 .uagb-tab a,
.page-id-1441 .uagb-tab a {
  text-decoration: none !important;
}

.postid-2560 .uagb-tab:hover,
.postid-2560 .uagb-tab:focus,
.page-id-1441 .uagb-tab:hover,
.page-id-1441 .uagb-tab:focus {
  background-color: var(--blue) !important;
}

.nirn-intranet-page-template-default  .entry-meta {
  display: none;
}

/* =============================================================================
 *  Search page
 * ========================================================================== */

.search h1 {
  margin-top: 60px;
  font-size: 24px !important;
  font-weight: bold;
  color: #0f172a;
  margin-bottom: 0px;
}

.search .ast-archive-description {
  margin-bottom: 20px;
  padding-bottom: 0;
  border-bottom: 0px;
}

.search .ast-article-post {
  margin-bottom: 10px !important;
}

.search .entry-header {
  margin-bottom: 0px !important;
}

.search h2 a {
  font-size: 18px !important;
  color: #007fae !important;
}

.search h2 a:focus,
.search h2 a:hover {
  text-decoration: underline;
}


/* =============================================================================
 *  Mobile
 * ========================================================================== */
@media (max-width: 1023px) {
  .uagb-tabs__wrap.uagb-tabs__vstyle6-tablet .uagb-tab {
    margin: 0px !important;
  }
}

@media (max-width: 767px) {
  .implementation-tabs .uagb-tab a,
  .ispc-tabs .uagb-tab a{
    padding: 7px 10px !important;
  }

  .implementation-tabs .uagb-tab,
  .ispc-tabs .uagb-tab {
    border-width: 6px !important;
  }

  .uagb-tabs__wrap {
    margin: 15px 0 !important;
  }

  .framework-boxes .uagb-container-inner-blocks-wrap img {
    max-height: 150px !important;
  }

  .ast-container, .ast-container-fluid {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .ispc-boxes p.has-small-font-size {
    min-height: auto;
    font-size: 14px !important;
  }
}

/* =============================================================================
 *   Styles for cookie banner
 * ========================================================================== */

.cookie-notice-container {
  padding: 20px 40px !important;
  font-family: Verdana,Arial,sans-serif !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  text-align: left !important;
  color: #fff !important;
  background-color: #414141 !important;
  align-items: center;
  display: flex  !important;
  flex-direction: row !important;
}

#cookie-notice.cookie-notice-hidden .cookie-notice-container, 
#cookie-notice.cookie-revoke-hidden .cookie-revoke-container {
  display: none !important;
}

#cn-notice-text {
  padding: 0 30px 0 0;
  display: block !important;
}

#cn-notice-text a {
  color: #fff !important;
  text-decoration: underline !important;
}

#cn-notice-text a:hover,
#cn-notice-text a:focus {
  text-decoration: none;
}

#cn-notice-buttons {
  display: block !important;
  min-width: 150px !important;
}

#cn-notice-buttons a {
  padding: 10px 20px !important;
  font-size: 16px !important;
  color: #fff !important;
  margin: 10px !important;
  display: inline-block !important;
}

#cn-notice-buttons a:hover,
#cn-notice-buttons a:focus {
  background-color: #000 !important;
}

#cn-close-notice {
  display: none;
}

@media (max-width: 700px) {
  .cookie-notice-container {
    flex-direction: column !important;
  }
}



/* =============================================================================
 *  Fixes to add to all sites (leave at bottom)
 * ========================================================================== */

/* astra removed padding on last menu item ruining hover effects */
@media (min-width: 922px) {
  .ast-builder-menu .main-navigation > ul > li:last-child a {
    padding-right: 20px !important;
  }
}


