
#expertmail-div-form {
    overflow-y: hidden;
    max-height: 600px;

    transition-property: all;
    transition-duration: 1s;
    transition-timing-function: cubic-bezier(0, 1, 0.5, 1);
}

#expertmail-div-form.hidden {
    max-height: 0;
}

.ais-hierarchical-menu--list__lvl1 > .hierarchicalmenu_item {
    margin-bottom: 0;
}

.pagination_active > .pagination_link {
    color: #fff;
}

.visually-hidden {
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
    clip: rect(1px, 1px, 1px, 1px);
}

.fade {
    opacity: 0;
    -webkit-transition: opacity 0.15s linear;
    -o-transition: opacity 0.15s linear;
    transition: opacity 0.15s linear;
}
.fade.in {
    opacity: 1;
}
.collapse {
    display: none;
}
.collapse.in {
    display: block;
}
tr.collapse.in {
    display: table-row;
}
tbody.collapse.in {
    display: table-row-group;
}
.collapsing {
    position: relative;
    height: 0;
    overflow: hidden;
    -webkit-transition-property: height, visibility;
    -o-transition-property: height, visibility;
    transition-property: height, visibility;
    -webkit-transition-duration: 0.35s;
    -o-transition-duration: 0.35s;
    transition-duration: 0.35s;
    -webkit-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease;
}

/* STRIPE */

.stripe-focus {
    box-shadow: 0 0 0 3px rgba(43, 142, 212, 0.25);
    border-color: #3898EC;
}
.stripe-error {
    border-width: 2px;
    border-color: #ef8f8f;
    background-color: #fff0f0;
    color: #bc2c29;
}
.stripe-success {
    border-width: 2px;
    border-color: #58d0a4;
    background-color: #eefcf5;
}

/* SPINNING ICONS */

.icon-spin {
    -webkit-animation: fa-spin 2s linear infinite;
    animation: fa-spin 2s linear infinite
}

@-webkit-keyframes fa-spin {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    to {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn)
    }
}

@keyframes fa-spin {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    to {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn)
    }
}

/* MAPBOX MAPS */

/* Mapbox Marker */

.mapbox-marker {
    background-image: url('/assets/images/map-marker.svg');
    background-size: cover;
    width: 32px;
    height: 48px;
    cursor: pointer;
}

a.mapboxgl-ctrl-logo {
    border-bottom: none;
}

/* PASSWORD STRENGTH */

#password-meter {
    display:block;
    border-radius: 2px;
    transition: all 0.2s linear;
    height: 4px;
    margin-top: -10px;
    margin-bottom: 16px;
}

#password-meter.risky {
    background-color: #e15b5b;
}
#password-meter.guessable {
    background-color: #e89f21;
}
#password-meter.weak {
    background-color: #f9d75d;
}
#password-meter.safe {
    background-color: #b0dc53;
}
#password-meter.secure {
    background-color: #31b48b;
}

#password-helper {

}

#password-helper.risky {
    color: #d42b2b;
}

#password-helper.guessable {
    color: #cd7618;
}

#password-helper.weak {
    color: #f5bf38;
}

#password-helper.safe {
    color: #b0dc53;
}

#password-helper.secure {
    color: #31b48b;
}

/* INDEX PAGE DOT MAPS */

#dot-map-svg {
    margin-left: auto;
    margin-right: auto;
}

#dot-map-svg > circle {
    fill: #fff;
    opacity: 0.15;
}

circle[class*='ping-'] {
    fill: #fff;
    -webkit-transition: all 3s cubic-bezier(0.33, 1, 0.68, 1);
    transition: all 3s cubic-bezier(0.33, 1, 0.68, 1);
    -webkit-animation: pulse 3s 1 cubic-bezier(0.33, 1, 0.68, 1);
    animation: pulse 3s 1 cubic-bezier(0.33, 1, 0.68, 1);
}

@keyframes pulse {
    0% {
        r: 1;
        opacity: 0.1;
    }
    20% {
        opacity: 0.2;
    }
    100% {
        r: 20;
        opacity: 0;
    }
}
