/* -------------------------------- 
xfilter 
-------------------------------- */
.cd-filter { content: ''; position: absolute; top: 0; left: 0; width: 100%; }
.cd-filter form { padding: 5px 20px 5px 20px; }

@media only screen and (min-width: 1170px) 
{
  .cd-filter { width: 100%; }
  .cd-filter form { padding: 0 10%; }
}

@media only screen and (min-width: 1170px) 
{
  .cd-filter-trigger { width: auto; left: 2%; text-indent: 0; color: #9a9a9a; text-transform: uppercase; font-size: 1.3rem; font-weight: 700; padding-left: 24px; background-position: left center; -webkit-transition: color 0.3s; -moz-transition: color 0.3s; transition: color 0.3s; }
  .no-touch .cd-filter-trigger:hover { color: #41307c; }
  .cd-filter-trigger.filter-is-visible, .cd-filter-trigger.filter-is-visible:hover { color: #ffffff; }
}

/* -------------------------------- 

xcustom form elements 

-------------------------------- */
.cd-filter-block { margin-bottom: -5px; }
.cd-filter-block h4 { position: relative; margin-bottom: .2em; padding: 10px 0 10px 20px; color: #9a9a9a; text-transform: uppercase; font-weight: 700; font-size: 1.3rem; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; cursor: pointer; } /* filter block title */
.no-touch .cd-filter-block h4:hover { color: #3071a9; }
.cd-filter-block h4::before 
{
  /* arrow */
  content: ''; position: absolute; left: 0; top: 50%; width: 16px; height: 16px; background: url("../img/cd-icon-arrow.svg") no-repeat center center;
  -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -o-transform: translateY(-50%); 
  transform: translateY(-50%); -webkit-transition: -webkit-transform 0.3s; -moz-transition: -moz-transform 0.3s; transition: transform 0.3s;
}
.cd-filter-block h4.closed::before { -webkit-transform: translateY(-50%) rotate(-90deg); -moz-transform: translateY(-50%) rotate(-90deg); -ms-transform: translateY(-50%) rotate(-90deg); -o-transform: translateY(-50%) rotate(-90deg); transform: translateY(-50%) rotate(-90deg); }
.cd-filter-block input, .cd-filter-block select,
.cd-filter-block .radio-label::before,
.cd-filter-block .checkbox-label::before { border-radius: 0; background-color: #ffffff; border: 2px solid #e6e6e6; }  /* shared style for input elements */
.cd-filter-block input[type='search'],
.cd-filter-block input[type='text'],
.cd-filter-block select { width: 100%; padding: .4em; -webkit-appearance: none; -moz-appearance: none; -ms-appearance: none; -o-appearance: none; appearance: none; box-shadow: none; }
.cd-filter-block input[type='search']:focus,
.cd-filter-block input[type='text']:focus,
.cd-filter-block select:focus { outline: none; background-color: #ffffff; border-color: #41307c; }
.cd-filter-block input[type='search'] { border-color: transparent; background-color: #e6e6e6; font-size: 1.6rem !important; }   /* prevent jump - ios devices */
.cd-filter-block input[type='search']::-webkit-search-cancel-button { display: none; }
.cd-filter-block .cd-select { position: relative; }  /* select element wrapper */
.cd-filter-block .cd-select::after 
{
  /* switcher arrow for select element */
  content: ''; position: absolute; z-index: 1; right: 14px; top: 50%;
  -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -o-transform: translateY(-50%); transform: translateY(-50%);
  display: block; width: 16px; height: 16px; background: url("../img/cd-icon-arrow.svg") no-repeat center center; pointer-events: none;
}
.cd-filter-block select { cursor: pointer; font-size: 1.4rem; }
.cd-filter-block select::-ms-expand { display: none; }
.cd-filter-block .list li { position: relative; margin-bottom: .8em; }
.cd-filter-block .list li:last-of-type { margin-bottom: 0; }
.cd-filter-block input[type=radio],
.cd-filter-block input[type=checkbox] { position: absolute; left: 0; top: 0; margin: 0; padding: 0; opacity: 0; z-index: 2; } /* hide original check and radio buttons */
.cd-filter-block .checkbox-label,
.cd-filter-block .radio-label { padding-left: 24px; font-size: 1.4rem; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }
.cd-filter-block .checkbox-label::before, .cd-filter-block .checkbox-label::after,
.cd-filter-block .radio-label::before ,
.cd-filter-block .radio-label::after { content: ''; display: block; position: absolute; top: 10px; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -o-transform: translateY(-50%); transform: translateY(-50%); }  /* custom radio and check boxes */
.cd-filter-block .checkbox-label::before,
.cd-filter-block .radio-label::before { width: 16px; height: 16px; left: 0; }
.cd-filter-block .checkbox-label::after,
.cd-filter-block .radio-label::after { display: none; } /* check mark - hidden */
.cd-filter-block .checkbox-label::after { width: 16px; height: 16px; background: url("../img/cd-icon-check.svg") no-repeat center center; } /* check mark style for check boxes */
.cd-filter-block .radio-label::before,
.cd-filter-block .radio-label::after { border-radius: 50%; }
.cd-filter-block .radio-label::after { width: 6px; height: 6px; background-color: #ffffff; left: 5px; } /* check mark style for radio buttons */
.cd-filter-block input[type=radio]:checked + label::before,
.cd-filter-block input[type=checkbox]:checked + label::before { border-color: #5bc0de; background-color: #5bc0de; }
.cd-filter-block input[type=radio]:checked + label::after,
.cd-filter-block input[type=checkbox]:checked + label::after { display: block; }

@media (max-width: 610px) 
{
.cd-filter-block select { cursor: pointer; font-size: 1.4rem; }
.cd-filter-block select::-ms-expand { display: none; }
.cd-filter-block .list li { position: relative; margin-bottom: .8em; }
.cd-filter-block .list li:last-of-type { margin-bottom: 0; }
.cd-filter-block input[type=radio],
.cd-filter-block input[type=checkbox] { position: absolute; left: 0; top: 0; margin: 0; padding: 0; opacity: 0; z-index: 2; } /* hide original check and radio buttons */
.cd-filter-block .checkbox-label,
.cd-filter-block .radio-label { padding-left: 24px; font-size: 1.4rem; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }
.cd-filter-block .checkbox-label::before, .cd-filter-block .checkbox-label::after,
.cd-filter-block .radio-label::before,
.cd-filter-block .radio-label::after { content: ''; display: block; position: absolute; top: 10px; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -o-transform: translateY(-50%); transform: translateY(-50%); }  /* custom radio and check boxes */
.cd-filter-block .checkbox-label::before,
.cd-filter-block .radio-label::before { width: 16px; height: 16px; left: 0; }
.cd-filter-block .checkbox-label::after,
.cd-filter-block .radio-label::after { display: none; } /* check mark - hidden */
.cd-filter-block .checkbox-label::after { width: 16px; height: 16px; background: url("../img/cd-icon-check.svg") no-repeat center center; } /* check mark style for check boxes */
.cd-filter-block .radio-label::before,
.cd-filter-block .radio-label::after { border-radius: 50%; }
.cd-filter-block .radio-label::after { width: 6px; height: 6px; background-color: #ffffff; left: 5px; } /* check mark style for radio buttons */
.cd-filter-block input[type=radio]:checked + label::before,
.cd-filter-block input[type=checkbox]:checked + label::before { border-color: #5bc0de; background-color: #5bc0de; }
.cd-filter-block input[type=radio]:checked + label::after,
.cd-filter-block input[type=checkbox]:checked + label::after { display: block; }
}

@media (max-width: 320px) 
{
.cd-filter-block select { cursor: pointer; font-size: 1.4rem; }
.cd-filter-block select::-ms-expand { display: none; }
.cd-filter-block .list li { position: relative; margin-bottom: .8em; }
.cd-filter-block .list li:last-of-type { margin-bottom: 0; }
.cd-filter-block input[type=radio],
.cd-filter-block input[type=checkbox] { position: absolute; left: 0; top: 0; margin: 0; padding: 0; opacity: 0; z-index: 2; } /* hide original check and radio buttons */
.cd-filter-block .checkbox-label,
.cd-filter-block .radio-label { padding-left: 24px; font-size: 1.4rem; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }
.cd-filter-block .checkbox-label::before, .cd-filter-block .checkbox-label::after,
.cd-filter-block .radio-label::before,
.cd-filter-block .radio-label::after { content: ''; display: block; position: absolute; top: 15%; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -o-transform: translateY(-50%); transform: translateY(-50%); }  /* custom radio and check boxes */
.cd-filter-block .checkbox-label::before,
.cd-filter-block .radio-label::before { width: 16px; height: 16px; left: 0; }
.cd-filter-block .checkbox-label::after,
.cd-filter-block .radio-label::after { display: none; } /* check mark - hidden */
.cd-filter-block .checkbox-label::after { width: 16px; height: 16px; background: url("../img/cd-icon-check.svg") no-repeat center center; } /* check mark style for check boxes */
.cd-filter-block .radio-label::before,
.cd-filter-block .radio-label::after { border-radius: 50%; }
.cd-filter-block .radio-label::after { width: 6px; height: 6px; background-color: #ffffff; left: 5px; } /* check mark style for radio buttons */
.cd-filter-block input[type=radio]:checked + label::before,
.cd-filter-block input[type=checkbox]:checked + label::before { border-color: #5bc0de; background-color: #5bc0de; }
.cd-filter-block input[type=radio]:checked + label::after,
.cd-filter-block input[type=checkbox]:checked + label::after { display: block; }
}

@-moz-document url-prefix() 
{
  /* hide custom arrow on Firefox - select element */
  .cd-filter-block .cd-select::after { display: none; }
}