/*!
Theme Name: practus
Theme URI: https://squeaky.com/
Author: Squeaky Wheel Media
Author URI: https://squeaky.com/
Description: Custom Theme for Practus Website
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: practus
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

practus is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

.spinner-loader {
    margin-top: 45px;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    border: 0.25rem solid rgba(0, 0, 0, 0.2);
    border-top-color: black;
    -webkit-animation: spin 1s infinite linear;
    animation: spin 1s infinite linear;
}

ul.autocomplete li {
    opacity: 1;
    display: block;
}

/* practice areas services */
div#services ul {
    margin: 50px auto;
    padding: 0 24px;
    list-style: none;
    max-width: 744px;
    display: flex;
    flex-wrap: wrap;
}

div#services ul li {
    width: 50%;
    position: relative;
    line-height: 1.5;
    padding-left: 1em;
    padding-right: 2em;
    margin-top: 1em;
}

#services ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 9px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4px 0 4px 8px;
    border-color: transparent transparent transparent #fff;
}


.header_section .video {
    position: absolute;
    top: 0;
    right: 0;
    max-height: 390px;
    overflow: hidden;
    z-index: 1;
}

.header_section .video video {
    max-height: 390px;
}

.header_section {
    background-color: #033632;
}


.hidden {
    display: none !important;
}

#contact .container.flex,
#work .container.flex,
.practus_model .flex.cols_2 {
    overflow-x: hidden;
}



/* Gallery */

ul.swiper-wrapper {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

/*.swiper {
    max-width: 100%;
}

.swiper img {
    width: 100%;
    height: auto;
}

.swiper-slide {
    width: 80%;
}

.swiper-pagination-bullet {
    width: 34px;
    height: 34px;
    text-align: center;
    line-height: 34px;
    font-size: 14px;
    color: #000;
    opacity: 1;
    background: rgba(0, 0, 0, 0.3);
    transition: background-color 0.5s ease, color 0.5s ease;
}

.swiper-pagination-bullet:hover {
    transition: background-color 0.5s ease;
    background: rgba(0, 0, 0, 1);
    color: white;
}

.swiper-pagination-bullet-active {
    color: #fff;
    background: black;
}*/

.block_articles.block {
    position: relative;
}

.swiper {
    width: 100%;
    height: 100%;
}

.swiper-slide {
    text-align: center;
    font-size: 18px;

    /* Center slide text vertically */
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}

.swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mySwiper .swiper-slide {
    position: relative;
}

.mySwiper .swiper-slide img {
    height: 192px;
    width: 100%;
    object-fit: cover;
}

.mySwiper .swiper-slide .text_content {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1em;
    text-align: center;
    line-height: 1.2;
    font-size: 1rem;
    opacity: 0;
    transition: all .3s ease;
}

.mySwiper .swiper-slide .text_content:hover {
    opacity: 1;
}

.mySwiper {
    padding: 50px 30px;
}

.swiper-button-next,
.swiper-button-prev {
    color: #fff;
}

.swiper-button-next::after,
.swiper-button-prev::after {
    font-size: 24px;
}

.swiper-button-next {
    right: -6px;
}

.swiper-button-prev {
    left: -6px;
}

.swiper-pagination-bullet,
.swiper-pagination-bullet-active {
    background-color: #fff;
}

.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: 0;
}

@media (max-width:540px) {
    .mySwiper .swiper-slide img {
        /*height: 100px;*/
    }
}

/* lighbox image */
.pswp__img {
    object-fit: contain;
}

.pswp__img--placeholder--blank {
    background: transparent;
}

/* spotify block */
.spotify-block {
    width: 86%;
    margin: 8em auto;
    position: relative;
}

.spotify-block .wp-block-columns {
    margin: 2em 0;
}

.spotify-block .wp-block-column>p {
    margin: 0 0 2em;
}

@media (max-width:860px) {
    .spotify-block {
        margin: 2em auto 6em;
        display: flex;
        flex-direction: column;
        flex-wrap: inherit !important;
    }

    .spotify-block .wp-block-columns {
        flex-direction: column;
        margin: 0;
    }

    .spotify-block .wp-block-column>p {
        margin: 2em 0 1em;
    }

    .spotify-block .wp-block-column:not(:first-child) {
        margin-left: inherit !important;
    }

    .spotify-block .wp-block-columns {
        flex-wrap: inherit !important;
    }
}

/**/
/* loading */

/*#page*/
.home_hero {
    /*display: none;*/
}
#loading {
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 99999999;
    background-color: #fff;
}

#loader {
    border: 8px solid #f3f3f3;
    border-radius: 50%;
    border-top: 8px solid #02A2C4;
    width: 52px;
    height: 52px;
    -webkit-animation: spin 1s linear infinite;
    /* Safari */
    animation: spin 1s linear infinite;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -26px;
}

@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
    }
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* Newsletter Signup */
.newsletter-signup {
  position: relative;
  max-width: 762px;
  width: 86%;
  margin: 50px auto 0;
  padding: 50px;
  background-color: #EFEFEE;
  z-index: 50;
}

.newsletter-signup .gform_footer {
  display: flex;
  justify-content: center;
}

.newsletter-signup input[type="submit"],
.newsletter-signup button[type="submit"],
.gform_button[type="submit"] {
  display: inline-block;
  width: auto;
  padding: 12px 24px;
  border: 1px solid #ff7a59;
  border-radius: 3px;
  background-color: #ff7a59;
  font-weight: 700;
  font-size: 16px;
  line-height: 1;
  color: #ffffff;
}

/* "Blog" page */
.page-template-default .newsletter-signup {
  max-width: unset;
  margin: -50px auto 100px;
  padding: 0 0 50px;
  background-color: transparent;
}

/* About page team image max-width override */
.about_page #team .img_team {
  max-width: unset !important;
}

/* Single attorney */
.single-attorney .print-only,
.single-team .print-only {
  display: none;
}

.single-attorney .icons-row,
.single-team .icons-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: calc(100% + 10px);
  margin-left: -5px;
}

.single-attorney .icons-row a,
.single-team .icons-row a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 44px;
  height: 44px;
  margin: 5px;
  border-radius: 50%;
  background-color: #da621e;
  font-size: 24px;
  color: #fff;
  text-align: center;
  text-decoration: none;
}

.single-attorney .icons-row a:focus,
.single-attorney .icons-row a:hover,
.single-team .icons-row a:focus,
.single-team .icons-row a:hover {
  background-color: #02A2C4;
}

.single-attorney .icons-row a i,
.single-team .icons-row a i {
  font-size: 24px;
}

.single-attorney .extra_links a i,
.single-team .extra_links a i {
  font-size: 18px;
  margin-right: 5px;
}

@media screen and (max-width: 768px) {
  .single-attorney .icons-row,
  .single-team .icons-row {
    justify-content: center;
    margin-bottom: 20px;
  }
}
/* Edits */

.featured-image-block {
    width: 100%;
    height: 200px;
}

.article_container>div:first-child .featured-image-block,
.article_container>div:nth-child(2) .featured-image-block {
    height: 260px;
}

/* Search results */
.search-results-group {
    margin-top: 50px;
    border-top: 1px solid #093145;
    padding-top: 50px;
}

.search-results-group:first-of-type {
    border-top: none;
    padding-top: 0;
}

.search-results-group h3 {
    font-size: 22px;
}

.search-results-group__section-link {
    display: inline-block;
    margin-top: 25px;
}

/* New Practice Areas */
.areas_list ul {
    grid-template-columns: repeat(4, 1fr) !important;
}

.areas_list li {
    padding: 0;
    background-color: transparent;
}

.areas_list button  {
    position: relative;
    display: inline-block;
    width: 100%;
    height: 100%;
    -webkit-appearance: none;
    border: none;
    padding: 15px 50px 15px 30px;
    background-color: #f0efee;
    font-weight: 700;
    font-size: 22px;
    font-family: "brandon-grotesque", sans-serif;
    color: #093145;
    text-align: left;
    text-decoration: none;
    outline: none;
}

.areas_list button:after {
    content: '';
    position: absolute;
    right: 20px;
    top: 0;
    bottom: 0;
    width: 0;
    height: 0;
    margin: auto;
    transform: translateY(-50%);
    border-style: solid;
    border-width: 6px 0 6px 12px;
    border-color: transparent transparent transparent #02a2c4;
}

.areas_list button:focus,
.areas_list button:hover {
    background-color: #e1dfde;
    color: #da621e;
}

.areas_list button:focus:after,
.areas_list button:hover:after {
    border-color: transparent transparent transparent #da621e;
}

.areas_list button.active {
    background-color: #083145;
    color: #fff;
}

.areas_list button.active:after {
    border-color: transparent transparent transparent #02a2c4;
    transform: rotate(90deg);
}

.areas_list .areas_list__items {
    display: block !important;
    column-count: 2;
    column-gap: 100px !important;
}

.areas_list .areas_list__items ul li {
    display: inline-block !important;
    background-color: transparent !important;
}

.areas_list .areas_list__items li {
    padding: 8px 0;
    background-color: transparent !important;
}

.areas_list .areas_list__items li a {
    display: block;
    padding: 0;
    background-color: transparent;
    font-size: 18px;
}

.areas_list .areas_list__items li a:before {
    display: none;
}

.areas_list__panel {
    display: none;
    padding: 50px 0;
}

.areas_list__panel.open {
    display: block;
}

.areas_list__panel__link {
    font-weight: 400;
    font-size: 22px;
    text-decoration: none;
}

.areas_list__panel h3 {
    margin: 50px 0 30px;
    font-weight: 500;
    font-size: 28px;
    line-height: 1.2;
}

/* Service Area banner/hero */
.banner-back-link {
    position: relative;
    display: inline-block;
    margin-top: 10px;
    font-weight: 500;
    font-size: 22px;
    color: #fff;
    text-decoration: none;
}

.banner-back-link:before {
    content: '';
    display: inline-block;
    width: 0;
    height: 0;
    margin-right: 10px;
    border-style: solid;
    border-width: 6px 12px 6px 0;
    border-color: transparent #02a2c4 transparent transparent;
}

.banner-back-link:focus,
.banner-back-link:hover {
    color: #da621e;
}

.banner-back-link:focus:before,
.banner-back-link:hover:before {
    border-color: transparent #da621e transparent transparent;
}

/* Practice Area Featured Attorneys */
.featured-attorneys {
    margin-top: 50px;
}

/* Attorneys search */
.attorneys .btn.active,
.attorneys .btn-blue {
    background-color: #01A2C4;
}

.attorneys .btn-blue:focus,
.attorneys .btn-blue:hover {
    background-color: #da621e;
}

.attorneys .btn-clear {
    background-color: transparent;
    color: #6F6F6F;
}

.attorneys .btn-clear:focus,
.attorneys .btn-clear:hover {
    background-color: #01A2C4;
    color: #fff;
}

.attorney-filters-panel {
    display: none;
    margin: 15px 0;
    border: 1px solid #e1dfde;
    padding: 15px;
    background-color: #fff;
}

.attorney-filters-panel.open {
    display: block;
}

.attorney-filters-panel__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    padding: 0 0 15px;
    border-bottom: 1px solid #707070;
}

.attorney-filters-panel__header h3 {
    margin: 0;
    font-weight: 700;
    font-size: 24px;
    color: #6f6f6f;
}

.attorney-filters-panel p {
    color: #6F6F6F;
}

.attorney-filters-panel__columns {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.attorney-filters-panel__column {
    flex: 1 1 33.3%;
    padding-right: 20px;
}

.attorney-filters-panel__checkboxes {
    height: 300px;
}

.attorney-filters-panel__checkboxes > div {
    height: 100%;
    overflow-y: scroll;
    scrollbar-color: #E1DFDE #fff;
    scrollbar-width: 6px;
}

.attorney-filters-panel__checkboxes > div::-webkit-scrollbar {
    width: 6px;
    -webkit-appearance: none;
}

.attorney-filters-panel__checkboxes > div::-webkit-scrollbar-track {
    box-shadow: 0 0 0 #E1DFDE;
    -webkit-box-shadow: inset 0 0 6px #E1DFDE; 
    border-radius: 10px;
}

.attorney-filters-panel__checkboxes > div::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background-color: #E1DFDE;
    box-shadow: 0 0 0 #E1DFDE;
    -webkit-box-shadow: inset 0 0 5px #E1DFDE; 
}

.attorney-filters-panel .checkbox-row {
    margin: 10px 0;
}

.attorney-filters-panel input[type="checkbox"],
.attorney-filters-panel input[type="radio"] {
    position: relative;
    display: inline-block;
    width: 30px;
    height: 30px;
    margin: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    outline: none;
    vertical-align: middle;
}

.attorney-filters-panel input[type="checkbox"] + label,
.attorney-filters-panel input[type="radio"] + label {
    display: inline-block;
    width: calc(100% - 50px);
    margin: 0 0 0 10px;
    vertical-align: text-top;
    color: #6F6F6F;
}

.attorney-filters-panel input[type="checkbox"]:before,
.attorney-filters-panel input[type="radio"]:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: block;
    width: 30px;
    height: 30px;
    margin: auto;
    border: 1px solid #e1dfde;
    border-radius: 0;
    background-color: #fff;
    transition: all .4s ease;
}

.attorney-filters-panel input[type="checkbox"]:after, 
.attorney-filters-panel input[type="radio"]:after{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    line-height: 1;
    color: transparent;
    z-index: 1;
    transition: all .4s ease;
}

.attorney-filters-panel input[type="checkbox"]:after {
    content: '\f00c';
    font: var(--fa-font-regular);
    width: 20px;
    height: 20px;
    font-size: 18px;
    font-weight: 400;
}

.attorney-filters-panel input[type="radio"]:before {
    border-radius: 50%;
}

.attorney-filters-panel input[type="radio"]:after {
    content: '\f111';
    left: 2px;
    font: var(--fa-font-regular);
    width: 12px;
    height: 12px;
    font-size: 12px;
    font-weight: 900;
}

.attorney-filters-panel input[type="checkbox"]:checked:after,
.attorney-filters-panel input[type="radio"]:checked:after  {
    color: #093145;
}

.attorney-filters-panel input[type="checkbox"]:focus:before,
.attorney-filters-panel input[type="checkbox"]:active:before,
.attorney-filters-panel input[type="radio"]:focus:before,
.attorney-filters-panel input[type="radio"]:active:before {
    border-color: #01A2C4;
}

#attorneys-container .block_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
    width: calc(100% + 24px);
    margin-left: -12px;
}

#attorneys-container .block_list .item {
    flex-direction: column;
    flex: 0 1 calc(33% - 24px);
    padding: 0 !important;
    margin: 0 12px 24px;
}

#attorneys-container .block_list .item .picture img {
    max-width: 100%;
}

#attorneys-container .block_list .item .description h5,
#attorneys-container .block_list .item .description h5 a {
    font-size: 24px;
}

#attorneys-container .block_list .item .contact_links {
    padding: 0 24px 24px 24px;
}
 
/* Media Queries */
@media screen and (max-width: 1024px) {
    /* New Practice Areas */
    .areas_list ul {
        grid-template-columns: repeat(2, 1fr) !important;
        column-gap: 1em;
    }
}

@media screen and (max-width: 768px) {
    /* New Practice Areas */
    .areas_list ul {
        grid-template-columns: 1fr !important;
        column-gap: 1em;
    }

    /* Attorneys search */
    .attorneys .block_search {
        flex-direction: row !important;
        flex-wrap: wrap;
        max-width: 70%;
        margin: 0 auto;
    }

    .attorneys .block_search input[type="text"] {
        width: 100%;
        margin: 0 auto;
    }

    .attorneys .block_search .btn {
        margin: 16px 8px 0 !important;
    }

    .attorney-filters-panel__columns {
        flex-wrap: wrap;
    }

    .attorney-filters-panel__column {
        flex: 1 1 100%;
        padding-right: 0;
    }

    .attorney-filters-panel__checkboxes {
        height: 240px;
        margin-bottom: 30px;
        border-bottom: 1px solid #6F6F6F;
        padding-bottom: 30px;
    }

    #attorneys-container .block_list .item {
        flex: 0 1 calc(50% - 24px);
    }

    #attorneys-container .block_list .description {
        padding: 24px !important;
    }
}

@media screen and (max-width: 600px) {
    .areas_list .areas_list__items {
        column-count: 1;
    }
}

@media screen and (max-width: 550px) {
    .attorney-filters-panel__header {
        flex-direction: column;
    }

    .attorney-filters-panel__header h3 {
        margin-top: 10px;
        margin-bottom: 20px;
    }

    #attorneys-container .block_list .item {
        flex: 0 1 calc(100% - 24px);
    }
}