/*
 Theme Name:   Astrid Child
 Theme URI:    http://athemes.com/theme/astrid
 Description:  This is a custom child theme of the theme "Astrid"
 Author:       Action Group Network
 Author URI:   http://actiongroups.net
 Template:     astrid
 Version:      1.1.40
 Text Domain:  astrid-child
*/

body {
  background: #ffffff;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 700;
}

small {
  font-size: .9em;
}

.hentry {
  padding: 40px;
}

@media (max-width: 500px) {
  .hentry {
    padding: 16px;
  }
}

/* Create Small Buttons */

button.small,
.button.small,
input[type="button"].small,
input[type="reset"].small,
input[type="submit"].small {
  font-size: 12px;
  padding: 6px 12px;
  letter-spacing: 2px;
}

button.filled,
.button.filled {
  color: #fff;
  background: #ff6120;
}

/* Widgets */
.widget-area .widget-title {
  margin-bottom: 15px;
}

.widget a.button {
  color: #ff6120;
  display: block;
  text-align: center;
}

.widget a.button:hover {
  color: #ffffff;
}

/* Group Listing */
#gw-group-list-content-wrapper {
  display: flex;
  flex-wrap: wrap;
}

#gw-group-list-page-error {
  background: #ebebeb;
  padding: 24px 24px 4px;
  text-align: center;
}

#gw-group-list-page-error h4 {
  max-width: 450px;
  margin: 0 auto 12px;
}

#gw-group-list-page-error p {
  margin-right: auto;
  margin-left: auto;
  max-width: 450px;
}

#gw-group-registration-callout {
  order: 2;
  padding: 0 0 0 24px;
  width: 40%;
}

@media (max-width: 500px) {
  #gw-group-registration-callout .button {
    padding: 12px;
    text-align: center;
    white-space: nowrap;
  }
}

#gw-group-registration-callout h4 {
  margin: 0 0 12px 0;
}

#gw-group-list {
	margin: 0;
	padding: 0;
	width: 100%;
	order: 3;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
}

#gw-group-filter-box {
  background: #ebebeb;
  padding: 24px 24px 14px;
  display: flex;
  flex-wrap: wrap;
  position: relative;
  order: 1;
  width: 60%;
}

@media (max-width: 1000px) {
  #gw-group-registration-callout {
    order: 1;
    width: 100%;
    padding: 0;
    margin: 0 0 24px;
  }
  
  #gw-group-filter-box {
    order: 2;
    width: 100%;
  }
  
  #gw-group-list {
    order: 3;
  }
}

#gw-group-filter-box .gw-filter-reset {
  position: absolute;
  right: 24px;
  top: 24px;
}

#gw-group-filter-box .filter-buttons-container {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin: 20px 0 10px;
}

@media (max-width: 500px) {
  #gw-group-filter-box .gw-filter-reset {
    top: auto;
    bottom: 16px;
    right: 16px;
  }
}

#gw-group-filter-box h6 {
  margin: 0 0 6px;
  text-transform: uppercase;
}

#gw-group-filter-box select {
  background: #fff url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0Ljk1IDEwIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6I2ZmZjt9LmNscy0ye2ZpbGw6IzQ0NDt9PC9zdHlsZT48L2RlZnM+PHRpdGxlPmFycm93czwvdGl0bGU+PHJlY3QgY2xhc3M9ImNscy0xIiB3aWR0aD0iNC45NSIgaGVpZ2h0PSIxMCIvPjxwb2x5Z29uIGNsYXNzPSJjbHMtMiIgcG9pbnRzPSIxLjQxIDQuNjcgMi40OCAzLjE4IDMuNTQgNC42NyAxLjQxIDQuNjciLz48cG9seWdvbiBjbGFzcz0iY2xzLTIiIHBvaW50cz0iMy41NCA1LjMzIDIuNDggNi44MiAxLjQxIDUuMzMgMy41NCA1LjMzIi8+PC9zdmc+) no-repeat 97% 50%;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border: 1px solid #ebebeb;
  height: 32px;
  padding: 0px 24px 0 12px;
  border-radius: 5px;
}

#gw-group-filter-box input[type="text"] {
  height: 32px;
  border-radius: 5px;
}

#gw-group-filter-box .location-filters-container {
  display: flex;
  flex-wrap: wrap
}

#gw-group-filter-box .location-filters-container .location-filters-header {
  width: 100%;
}

#gw-group-filter-box .location-filters-container .location-filters-or {
  margin: 9px 9px 0;
}

@media (max-width: 650px) {
  #gw-group-filter-box .location-filters-container .location-filters-or {
    width: 100%;
    margin: 9px 0 7px;
  }
}

#gw-group-filter-box .cities-filter-container,
#gw-group-filter-box .radius-filter-container {
  margin-left: 2px;
}

@media (max-width: 500px) {
  #gw-group-filter-box .cities-filter-container {
    width: 100%;
    margin: 2px 0 0 0;
  }
}

#gw-group-filter-box .zip-filter,
#gw-group-filter-box .radius-filter {
  width: 80px;
}

#gw-group-filter-box .state-filter,
#gw-group-filter-box .city-filter {
  width: 140px;
}

#gw-group-filter-box .categories-filter-container {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 24px;
}

#gw-group-filter-box .categories-filter-container h6 {
  width: 100%;
}

.ui-helper-hidden-accessible {
  display: none;
}

.ui-autocomplete {
  width: 400px;
  list-style-type: none;
  padding: 0;
  background: #fff;
  border: 1px solid rgba(0,0,0,0.15);
}

.ui-menu-item {
  border-bottom: 1px solid rgba(0,0,0,0.15);
  padding: 4px 12px;
}

.ui-menu-item:hover,
.ui-menu-item .ui-state-active {
  color: #ff6120;
  cursor: pointer;
}

.ui-menu-item:last-of-type {
  border-bottom: 0;
}

#gw-group-filter-box .categories-col {
  width: calc(33.3% - 10px);
}

@media (max-width: 500px) {
  #gw-group-filter-box .categories-col {
    width: 100%;
  }
}

#gw-group-filter-box .categories-col label {
  display: flex;
  line-height: 1.3;
  margin: 0 0 6px;
}

#gw-group-filter-box .categories-col input {
  flex-shrink: 0;
  margin: 2px 4px 0 0;
}

#gw-group-list .no-results-message {
  text-align: center;
  margin: 24px auto 0;
  max-width: 450px;
}

#gw-group-list .end-of-results-message {
  border: 1px solid rgba(0,0,0,0.15);
  text-align: center;
  margin: 24px 0 0;
  padding: 24px 24px 12px;
  width: 100%;
}

#gw-group-list .end-of-results-message h4 {
  max-width: 450px;
  margin: 0 auto 12px;
}

#gw-group-list .end-of-results-message p {
  max-width: 450px;
  margin-right: auto;
  margin-left: auto;
}

#gw-group-list .gw-group-list-state-heading {
  color: #ff6120;
  margin: 20px 0;
  width: 100%;
}

#gw-filter-results-count {
  width: 100%;
}

#gw-group-list .gw-group-listing {
  list-style-type: none;
  display: flex;
  flex-wrap: wrap;
  box-shadow: 0px 1px 3px 1px rgba(0,0,0,0.1);
  border-radius: 3px;
  padding: 16px;
  margin: 0 0 24px;
  width: calc(50% - 12px);
  align-items: flex-start;
  justify-content: space-between;
  flex-direction: row;
  align-content: flex-start;
}

@media (max-width: 1000px) {
  #gw-group-list .gw-group-listing {
    width: 100%;
    padding: 12px;
    margin: 0 0 16px;
  }
}

#gw-group-list .gw-group-listing-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  border-bottom: 1px solid rgba(0,0,0,0.15);
  padding-bottom: 8px;
  width: 100%;
}

#gw-group-list .gw-group-listing-heading h4 {
  margin: 0;
  width: calc(75% - 20px);
}

#gw-group-list .gw-group-listing-heading small {
  line-height: 1;
  text-align: right;
}

#gw-group-list .gw-group-listing-primary-info {
  box-sizing: border-box;
  margin: 0 20px 0 0;
  padding: 20px 20px 0 0;
  border-right: 1px solid rgba(0,0,0,0.15);
  width: calc(75% - 20px);
}

@media (max-width: 1000px) {
  #gw-group-list .gw-group-listing-primary-info {
    padding: 12px 12px 0 0;
    margin: 0 12px 0 0;
  }
}

#gw-group-list .gw-group-listing-secondary-info {
  width: 25%;
  padding: 20px 0 0 0;
}

#gw-group-list .gw-group-listing-links-container {
  margin: 0 0 28px;
}

#gw-group-list .gw-group-listing p {
  line-height: 1.3;
}

#gw-group-list .gw-group-listing h6 {
  text-transform: uppercase;
  color: #a3aaaa;
  margin: 0 0 4px;
}

#gw-group-list .gw-group-listing-meta {
  display: block;
  margin: 0 0 20px;
  line-height: 1.3;
}

#gw-group-list .gw-group-listing-meta:last-of-type {
  margin-bottom: 4px;
}

#gw-group-list .gw-group-listing-contact {
  display: block;
  margin: 0 0 4px;
  line-height: 1.3;
}

#gw-group-list .gw-group-listing .button.small {
  margin-right: 6px;
}

/* Full Width Page Templates */

.page-template-page_fullwidth header,
.page-template-page_fullwidth-wide header {
  text-align: center;
}

.page-template-page_fullwidth .site-content > .container,
.page-template-page_fullwidth-wide .site-content > .container {
  border: 0;
}

.page-template-page_fullwidth article,
.page-template-page_fullwidth-wide article {
  margin-right: auto;
  margin-left: auto;
}

.page-template-page_fullwidth .fullwidthnarrow article {
  max-width: 640px;
}

.page-template-page_fullwidth-wide article {
  max-width: 1000px;
}

.page-template-page_fullwidth .hentry {
  border: 0;
}

.page-template-page_fullwidth .entry-content p {
  line-height: 1.4;
}

/* Custom GW Forms */
.gw-form .form-row {
  width: 100%;
}

.gw-form .form-row:last-of-type {
  margin-bottom: 0;
}

.gw-form .form-row.double,
.gw-form .form-row.triple {
  display: flex;
  justify-content: space-between;
}

.gw-form .form-row.double .form-input-container {
  width: calc(50% - 8px);
}

.gw-form .form-row.triple .form-input-container {
  width: calc(33.3% - 11px);
}

.gw-form .form-text-label {
  display: block;
  line-height: 1.3;
  margin: 0 0 4px;
  width: 100%;
}

.gw-form .form-text-label small {
  display: block;
  margin: 4px 0;
}

.gw-form .required-label {
  color: rgba(0,0,0,0.4);
  font-size: .9em;
  position: relative;
  text-transform: lowercase;
  letter-spacing: 0;
}

.gw-form [type="text"],
.gw-form [type="email"],
.gw-form [type="url"],
.gw-form textarea,
.gw-form select {
  box-sizing: border-box;
  display: block;
  width: 100%;
  transition: all .25s ease-in-out;
}

.gw-form [type="text"]:focus,
.gw-form [type="email"]:focus,
.gw-form [type="url"]:focus,
.gw-form textarea:focus,
.gw-form select:focus {
  outline: none;
  border-color: #ff6120;
}

.gw-form select {
  background: url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0Ljk1IDEwIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6I2ZmZjt9LmNscy0ye2ZpbGw6IzQ0NDt9PC9zdHlsZT48L2RlZnM+PHRpdGxlPmFycm93czwvdGl0bGU+PHJlY3QgY2xhc3M9ImNscy0xIiB3aWR0aD0iNC45NSIgaGVpZ2h0PSIxMCIvPjxwb2x5Z29uIGNsYXNzPSJjbHMtMiIgcG9pbnRzPSIxLjQxIDQuNjcgMi40OCAzLjE4IDMuNTQgNC42NyAxLjQxIDQuNjciLz48cG9seWdvbiBjbGFzcz0iY2xzLTIiIHBvaW50cz0iMy41NCA1LjMzIDIuNDggNi44MiAxLjQxIDUuMzMgMy41NCA1LjMzIi8+PC9zdmc+) no-repeat 97% 50%;
	-moz-appearance: none; 
	-webkit-appearance: none; 
	appearance: none;
	height: 47px;
  border: 1px solid #ebebeb;
}

.gw-form textarea {
  padding: 8px 13px;
}

.gw-form .form-row.boolean .form-radio-input-container {
  margin: 0 19px 0 0;
  line-height: 1.3;
}

.gw-form .form-row.categories {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative;
}

.gw-form .form-row.categories .form-text-label {
  margin: 0 0 10px;
}

.gw-form .form-row.categories .categories-col {
  width: calc(33.3% - 10px);
}

.gw-form .form-row.categories .form-checkbox-input-container {
  display: flex;
  line-height: 1.3;
  margin: 0 0 10px;
}

.gw-form .form-row.categories [type="checkbox"] {
  flex-shrink: 0;
  margin: 2px 4px 0 0;
}

.gw-form .form-row.categories label#categories-error {
  position: absolute;
  bottom: -12px;
}

.gw-form .submit-wrapper {
  text-align: center;
}

.gw-form .form-submit-button {
  display: block;
  margin: 0 auto;
}

.gw-form fieldset {
  border: 1px solid rgba(0,0,0,0.15);
  position: relative;
  padding: 24px 16px 16px;
  margin: 0 0 24px;
}

.gw-form .field-set-title {
  position: absolute;
  margin: -31px 0 0 -6px;
  background: #fff;
  padding: 0 6px;
  text-transform: uppercase;
}

.gw-form label.error {
  color: #ff6120;
  display: block;
  font-size: .9em;
  letter-spacing: 0;
  line-height: 1.3;
  margin: 3px 0 0 0;
}

.gw-form .contact {
  background: rgba(0,0,0,0.05);
  padding: 16px;
  margin: 0 0 2px;
  position: relative;
}

.gw-form .contact:first-of-type {
  background: none;
  padding: 0;
  margin: 0 0 19px;
}

.gw-form .contact:last-of-type {
  margin-bottom: 19px;
}

.gw-form .contact .remove-field {
  width: 20px;
  height: 20px;
  position: absolute;
  top: 9px;
  right: 9px;
  color: #ff6120;
  border: 1px solid #ff6120;
  border-radius: 50%;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.gw-form .contact .remove-field:hover {
  text-decoration: none;
}

.gw-form .form-error-msg {
  display: none;
}
.gw-form.form-error .form-error-msg {
  display: block;
  text-align: center;
}

.gw-form .form-success-msg {
  display: none;
}
.gw-form .form-success-msg-header {
  margin-bottom: 8px;
}
.gw-form.form-success .form-success-msg {
  display: block;
  text-align: center;
  background: #ebebeb;
  padding: 12px 24px 40px;
}
.gw-form.form-success .form-fields {
  display: none;
}

@media (max-width: 500px) {
  .gw-form .form-row.double,
  .gw-form .form-row.triple {
    display: flex;
    flex-direction: column;
  }

  .gw-form .form-row.double .form-input-container {
    width: 100%;
  }

  .gw-form .form-row.double .form-input-container:first-of-type {
    margin-bottom: 19px;
  }

  .gw-form .form-row.triple .form-input-container {
    width: 100%;
    margin-bottom: 19px;
  }

  .gw-form .form-row.triple .form-input-container:last-of-type {
    margin-bottom: 0;
  }

  .gw-form .form-row.categories {
    flex-direction: column;
  }

  .gw-form .form-row.categories .categories-col {
    width: 100%;
  }
}

/* Google Autocomplete */
.pac-container {
  letter-spacing: 0 !important;
}

/* Logo Gallery */
#logo-gallery-container .gallery {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

#logo-gallery-container .gallery-icon {
  padding: 20px 12px;
}

@media (max-width: 600px) {
  #logo-gallery-container .gallery-icon {
    padding: 8px;
  }
}