.search-groups {
  margin-bottom: 20px;
}

#contact-list-search {
  margin-bottom: 20px;
}

#search-contacts {
  margin-bottom: 20px;
  padding: 5px 12px;
  border: 1px solid #bbb;
  width: 400px;
}

input[type="text"].search-all-contacts {
  margin-bottom: 10px;
  padding: 5px 12px;
  border: 1px solid #bbb;
  width: 400px;
}

@media (max-width: 500px) {

  #search-contacts {
    width: 100%;
  }
  
  input[type="text"].search-all-contacts {
    width: 100%;
  }
  
}

.contact-subcategory {
  padding-left: 1rem;
}

#contact-list-search ul,
#main ul.contact-list-groups,
#all-contacts {
  list-style: none;
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.contact-list-groups,
.entry-content ul.contact-list-groups {
  list-style: none;
  list-style-type: none;
  margin: 0;
  padding: 0;
}

#contact-list-search ul li {
  padding: 0;
  margin: 0 0 40px 0;
  border-radius: 10px;
}

.contact-list-groups li {
  padding: 0;
  margin: 0 0 4px 0;
}

#contact-list-search .contact-list-main-elements {
  margin-bottom: 10px;
  color: #333;
  line-height: 1.6;
}

#contact-list-search .contact-list-main-elements h3 {
  color: #333;
}

#contact-list-search ul li h3 {
  font-size: 20px;
  font-weight: bold;
  margin: 2px 0 0 0;
}

.contact-list-all-contacts-search #contact-list-search ul li .contact-list-main-elements {
  padding-top: 0;
  margin-top: 10px;
}

.contact-list-all-contacts-search #contact-list-search ul li h3 {
  padding: 0;
}

.contact-list-contact-groups span {
  background: #f7f7f7;
  padding: 0.25rem 0.5rem;
  margin-right: 0.25rem;
  display: inline-block;
}

#contact-list-search ul li a {
  cursor: pointer;
}

#contact-list-search .contact-list-job-title {
  display: block;
}

#contact-list-search .contact-list-email {
  display: block;
}

#contact-list-search .contact-list-phone {
  display: block;
}

#contact-list-files-found {
  display: none;
  margin-bottom: 20px;
}

#contact-list-nothing-found {
  display: none;
}

.contact-list-groups-found {
  display: none;
  margin-bottom: 20px;
}

.contact-list-no-groups-found {
  display: none;
}

.contact-list-all-contacts-list {
  display: none;
}

.contact-list-all-contacts-contacts-found {
  display: none;
  margin-top: 20px;
  margin-bottom: 20px;
}

.contact-list-all-contacts-nothing-found {
  display: none;
  margin-top: 1rem;
}

.contact-list-some-elements a {
  float: left;
  display: inline-block;
  width: 37px;
}

.contact-list-address {
  margin-top: 8px;
}

.contact-list-address span {
}

.contact-list-address-title {
  font-weight: bold;
  display: block;
}

.contact-list-address-line-1 {
  display: block;
}

.contact-list-address-line-2 {
  display: block;
}

.contact-list-address-line-3 {
  display: block;
}

.contact-list-address-line-4 {
  display: block;
}

.contact-list-description {
  margin-top: 8px;  
}

.contact-list-description-title {
  font-weight: bold;
  display: block;
}

.contact-list-description p {
  margin-bottom: 10px;
}

h2.contact-list-group-title,
.entry-content h2.contact-list-group-title {
  margin: 20px 0 12px 0;
  padding: 0;
}

.subgroups-list-container {
  margin-bottom: 20px;
}

.contact-list-form-wrap .form-field input {
  margin-bottom: 20px;
  display: block;
}

.contact-list-form-wrap .form-field input[type=checkbox] {
  margin: 0 5px 0 0;
  display: inline-block;
  padding-top: 0;
  border: 1px solid #f00;
}

.contact-list-form-wrap .form-field .contact-list-checkbox-title {
  display: inline-block;
  padding-top: 0;
  font-weight: 400;
  text-transform: none;
}

.form-field-categories {
  margin-bottom: 1.25rem;
}

.contact-list-form-wrap label {
  font-weight: 400;
  display: block;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
  font-weight: 700;
}

.contact-list-form-wrap h3 {
  font-weight: bold;
}

input[type="submit"].contact-list-form-submit {
  margin-top: 20px;
}

.input-email {
  position: absolute;
  left: -9000px;
}

.contact-list-form-field-required {
  color: #b22222;
  border: 1px solid #b22222;
  padding: 20px;
  margin-bottom: 20px;
  text-align: center;
  background: #fff;
  display: none;
}

.contact-list-custom-fields-container {
  margin-bottom: 14px;
}

.contact-list-custom-field-with-icon {
  display: flex;
  flex-direction: row;
  margin-bottom: 3px;
}

.contact-list-custom-field-with-icon i {
  flex: 0 0 28px;
  font-size: 28px;
  margin-right: 8px;
  text-align: right;
}

.contact-list-custom-field-with-icon span {
  line-height: 25px;
  padding-top: 1px;
}

.contact-list-custom-field-1 {
  margin-top: 10px;
}

.contact-list-custom-field-1 strong {
  display: block;
  margin-top: 8px;
}

.contact-list-custom-field-2 strong {
  display: block;
  margin-top: 8px;
}

.contact-list-custom-field-3 strong {
  display: block;
  margin-top: 8px;
}

.contact-list-custom-field-4 strong {
  display: block;
  margin-top: 8px;
}

.subgroup-title {
  margin-top: 0;
  padding-top: 20px;
}

.contact-list-image-container {
  position: relative;
}

.contact-list-image {
  position: absolute;
  right: 0;
}

.contact-list-image img {
  max-width: 160px;
  max-height: 200px;
  margin-top: 0;
}

.contact-list-container.contact-list-3-cards-on-the-same-row .contact-list-image img {
  display: none;
}

.contact-list-container.contact-list-4-cards-on-the-same-row .contact-list-image img {
  display: none;
}

.pro-feature {
  background: #fff;
  color: #bbb;
  padding: 2rem;
  font-size: 20px;
  font-style: italic;
  text-align: center;
  margin-right: 2rem;
  border: 1px solid #bbb;
}

hr.clear,
.entry-content hr.clear {
  background: none;
  border: 0;
  clear: both;
  display: block;
  float: none;
  font-size: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  visibility: hidden;
  width: 0;
  height: 0;
  margin: 0;
}

.select_v2 {
  font-size: 13px;
  color: #32373c;
  border: 1px solid #7e8993;
  box-shadow: none;
  border-radius: 3px;
  padding: 3px 24px 3px 8px;
  height: 36px;
  line-height: 1;
  max-width: 250px;
  vertical-align: middle;
  -webkit-appearance: none;
  background:
  #fff url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E') no-repeat right 5px top 55%;
  background-size: auto;
  background-size: 16px 16px;
  cursor: pointer;  
  margin-right: 8px;
  margin-bottom: 10px;
  float: left;
}

.contact-list-container button.filter-contacts {
  font-size: 13px !important;
  color: #32373c;
  background-color: #fff;
  border: 1px solid #7e8993;
  box-shadow: none;
  border-radius: 3px;
  padding: 4px 8px 3px 8px;

  Xpadding: 3px 24px 3px 8px;
  height: 36px;
  line-height: 1;

  max-width: 250px;
  vertical-align: middle;
  -webkit-appearance: none;
  cursor: pointer;  
  margin-right: 10px;
  margin-bottom: 10px;
}

.contact-list-pagination {
  padding: 10px;
}

.contact-list-pagination span.contact-list-more-contacts {
  font-weight: bold;
  margin-right: 10px;
}

.contact-list-pagination a {
  padding: 5px 10px;
  background: #fff;
  display: inline-block;
}

.contact-list-2-cards-on-the-same-row #all-contacts li {
  float: left;
  width: 50%;
  padding: 10px;
}

.contact-list-2-cards-on-the-same-row #all-contacts li .contact-list-contact-container {
  height: 380px;
  border-radius: 10px;
  padding: 10px;
}

.contact-list-3-cards-on-the-same-row #all-contacts li {
  float: left;
  width: 33.333%;
  padding: 10px;
}

.contact-list-3-cards-on-the-same-row #all-contacts li .contact-list-contact-container {
  height: 380px;
  border-radius: 10px;
  padding: 10px;
}

.contact-list-4-cards-on-the-same-row #all-contacts li {
  float: left;
  width: 25%;
  padding: 10px;
}

.contact-list-4-cards-on-the-same-row #all-contacts li .contact-list-contact-container {
  height: 380px;
  border-radius: 10px;
  padding: 10px;
}

.contact-list-send-email a {
  display: inline-block;
  text-transform: uppercase;
  text-decoration: none;
  background: rgb(253, 253, 253);
  color: #333;
  font-size: 14px;
  font-weight: 600;
  margin-top: 3px;
  margin-bottom: 8px;
  padding: 1px 10px;
  border: 1px solid #eee;
  border-radius: 4px;
  transition: all 0.3s;  
}

.contact-list-send-email a:hover {
  background: #333;
  color: #fff;
  border: 1px solid #333;
}

.cl-modal-container {
  background: rgba(0, 0, 0, .5);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  max-width: 100% !important;
  height: 100%;
  z-index: 9999999999;
  overflow: auto;
  display: none;
}
  
.cl-modal-container .cl-modal {
  background: #fff;
  position: relative;
  top: 50%;
  transform: perspective(1px) translateY(-50%);    
  max-width: 600px;
  margin: 0 auto;
  min-height: 500px;
  padding: 2rem;
}

@media (max-width: 620px) {

  .cl-modal-container .cl-modal {
    max-width: none;
    width: 95%;
  }
}

.cl-modal-container .close-modal-container {
  position: relative;
}

.cl-modal-container .cl-close-modal {
  font-weight: bold;
  font-size: 1.6rem;
  position: absolute;
  top: -24px;
  right: -10px;
  padding: 10px;
  color: #000;
  text-decoration: none;
}

.cl-modal-container h3 {
  margin-bottom: 20px; 
  font-size: 24px;
}

.cl-modal-container label {
  line-height: 1.3;
  margin-bottom: 5px;
}

.cl-modal-container span {
  font-size: 16px;
  line-height: 1.3;
  display: block;
  margin-bottom: 18px;
}

.cl-modal-container span.contact-list-recipient {
  display: inline;
}

.cl-modal-container span.contact-list-recipient-email {
  display: inline;
}

.cl-modal-container input {
  line-height: 1.3; 
  margin-bottom: 20px;
  width: 100%;
  border: 1px solid #eee; 
  border-radius: 3px;
  padding: 8px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;  
}

.cl-modal-container input.contact-list-send-single {
  width: auto;
  padding: 5px 40px;
  text-transform: uppercase;
  font-size: 18px;
  font-weight: 700;
  border: none;
}

.contact-list-message-error {
  color: crimson;
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 10px;
}

.contact-list-sending-message {
  font-size: 16px;
  padding-top: 20px;
}

.contact-list-sf-1 {
  position: absolute;
  left: -3000px;
  width: 50px;
}

.contact-list-sf-2-container {
  height: 2px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}

.cl-modal-container textarea {
  line-height: 1.3;
  margin-bottom: 20px; 
  width: 100%; 
  border: 1px solid #eee; 
  border-radius: 3px;
  padding: 8px;
  height: 140px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;  
}

.cl-modal-container input[type="submit"].contact-list-send-single {
  font-size: 16px;
  padding: 10px 30px !important;
  line-height: 1;
  width: auto;
  border-radius: 3px;
  border: none;
}

.cl-modal-container input[type="submit"].contact-list-send-single:disabled {
  background: #bbb;
}

@media (max-width: 575px) {

  .cl-modal-container .cl-modal {
    padding-top: 1.5rem;
  }

  .cl-modal-container .close-modal {
    top: -12px;
    right: -10px;
  }
}


@media (max-width: 991px) {

  .contact-list-image img {
    max-width: 100px;
    max-height: 140px;
  }
  
}

@media (max-width: 500px) {

  .contact-list-image img {
    max-width: 56px;
    max-height: 110px;
  }
  
}

@media (max-width: 820px) {

  .Xcontact-list-3-cards-on-the-same-row #all-contacts li {
    width: 50%;
  }
  
  .Xcontact-list-4-cards-on-the-same-row #all-contacts li {
    width: 50%;
  }

}

@media (max-width: 820px) {

  .contact-list-2-cards-on-the-same-row #all-contacts li {
    float: left;
    width: 100%;
    height: auto;
    padding: 0;
  }

  .contact-list-2-cards-on-the-same-row #all-contacts li .contact-list-contact-container {
    height: auto;
  }  
  
  .contact-list-3-cards-on-the-same-row #all-contacts li {
    float: left;
    width: 100%;
    height: auto;
    padding: 0;
  }

  .contact-list-3-cards-on-the-same-row #all-contacts li .contact-list-contact-container {
    height: auto;
  }  
  
  .contact-list-4-cards-on-the-same-row #all-contacts li {
    float: left;
    width: 100%;
    padding: 0;
  }

  .contact-list-4-cards-on-the-same-row #all-contacts li .contact-list-contact-container {
    height: auto;
  }  
}
