/* General styles */

.underline {
    text-decoration: underline;
}

.hidden {
    display: none;
}

/* Element styles */

p.unit-attributes {
    margin-bottom: 0;
}

p.unit-attributes:last-child {
    margin-bottom: 1rem;
}

p.species-title {
    margin-bottom: .5rem;
}

.wrapper-family {
    margin-bottom: 2rem;
}

.wrapper-family:last-child {
    margin-bottom: 0;
}

#searchDropdown,
.navbar-light .searchbar-toggler {
    border: none;
    box-shadow: none;
    background-color: #fff;
}

/* Google Maps styles */

#collection-map {
    height: 500px;
}

.gm-infowindow {
    padding: .5em;
}

.gm-infowindow h1 {
    font-size: 1rem;
}

.gm-infowindow ul {
    margin: 0;
    padding: 0;
}

.gm-infowindow li {
    list-style-type: none;
}

/* AJAX loader */

.loader,
.loader-export {
    border: 4px solid #f3f3f3;
    border-top: 4px solid #606060;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    animation: spin 2s linear infinite;
    margin: 0 auto;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Filter styles */

.filter-option {
    margin-bottom: 1rem;
}

.filter-option select,
.filter-option input,
.filter-option .awesomplete {
    width: 100%;
}

.filter-option select {
    height: 2.2em;
    text-indent: 0.4em;
}

.filter-option .awesomplete ul[id^="awesomplete"] {
    min-width: 150%;
}

/* Pagination styles */

.btn.pagination-link {
    display: none;
}

.btn.back {
    position: absolute;
    top: 0;
    right: 0;
}

@media screen and (max-width: 575px) {
    .btn.back {
        right: 1em;
    }
}

/* Export button styles */

.btn.export {
    display: none;
    position: relative;
}

/* Boxes */

.content-wrap h2,
.content-wrap h3 {
    margin-bottom: 1em;
}

.content-wrap .box {
    display: inline-block;
    position: relative;
    width: 32%;
    margin: 0 0 2% 0;
    vertical-align: bottom;
}

.content-wrap .box:nth-of-type(3n+2) {
    margin: 0 1% 2% 1%;
}

.content-wrap .box.list-view {
    display: block;
    position: relative;
    width: 100%;
    margin: 2% 0;
}

.content-wrap .box.list-view .image,
.content-wrap .box.list-view .info {
    display: inline-block;
    vertical-align: top;
    max-width: 50%;
}

.content-wrap .box.list-view .image {
    margin-right: 1em;
}

.content-wrap .box img {
    width: 100%;
    max-width: 100%;
    height: auto;
}

.content-wrap .box .title {
    display: block;
    height: 4em;
    width: 100%;
    color: #fff;
    padding: .5em;
    background: rgba(0,0,0,.7);
    text-align: center;
}

.content-wrap .box:hover {
    cursor: pointer;
}

@media screen and (max-width: 991px) {
    .content-wrap {
        margin-bottom: 1em;
    }
}

@media screen and (max-width: 767px) {
    .content-wrap .box {
        width: 48%;
    }

    .content-wrap .box:nth-of-type(3n+2),
    .content-wrap .box.list-view:nth-of-type(even) {
        margin: 0 0 2% 0;
    }

    .content-wrap .box:nth-of-type(even) {
        margin: 0 0 2% 2%;
    }

    .content-wrap .box.list-view .image,
    .content-wrap .box.list-view .info {
        max-width: 48%;
    }

    .content-wrap .box.list-view .image {
        margin-bottom: 1em;
    }
}

@media screen and (max-width: 550px) {
    .content-wrap .box.list-view .image,
    .content-wrap .box.list-view .info {
        max-width: 45%;
    }
}

@media screen and (max-width: 450px) {
    .content-wrap .box,
    .content-wrap .box:nth-of-type(even) {
        width: 100%;
        margin: 0 0 2% 0;
    }

    .content-wrap .box.list-view .image,
    .content-wrap .box.list-view .info {
        max-width: none;
    }

    .content-wrap .box.list-view .image {
        margin-right: 0;
        width: 100%;
    }
}

/* Tabs collection specimens */

.tabbable.collection-specimens .tab-pane {
    padding: 0;
}

.tabbable.collection-specimens .nav-tabs {
    border: none;
}

.tabbable.collection-specimens .nav-item {
    position: absolute;
    top: 0;
    right: 8em;
    border: none;
}

.tabbable.collection-specimens .nav-item:first-child {
    right: 11em;
}

.tabbable.collection-specimens .nav-link {
    display: block;
    width: 35px;
    height: 35px;
    margin: 0;
    padding: 0;
    border: none;
}

.tabbable.collection-specimens .nav-link img {
    width: 100%;
    height: auto;
    vertical-align: top;
}

@media screen and (max-width: 575px) {
    .tabbable.collection-specimens h3 {
        margin-bottom: .5em;
    }

    .tabbable.collection-specimens .nav-tabs {
        display: block;
        text-align: center;
    }

    .tabbable.collection-specimens .nav-item {
        position: static;
        display: inline-block;
        margin-bottom: 1em;
    }
}

/* Slider styles */

.slider-contain {
    margin: 2em 0;
}

.slider-nav {
    width: 8.3em;
    margin: 0 auto;
}

.slider-prev,
.slider-next {
    padding: .5em 1.5em;
}

.slider-prev:hover,
.slider-next:hover,
.slider-prev:focus,
.slider-next:focus,
.slider-prev:active,
.slider-next:active {
    box-shadow: none !important;
}

.tns-item {
    vertical-align: bottom !important;
}

.tns-item img {
    display: block;
    margin: 0 auto;
}

.tns-item img.horizontal {
    width: 100%;
    height: auto;
}

.tns-item .image-caption {
    margin-top: 0.5em;
    text-align: center;
}

.tns-nav {
    margin: .5em 0;
    text-align: center;
}

.tns-nav > [aria-controls] {
    width: 9px;
    height: 9px;
    padding: 0;
    margin: 0 5px;
    border-radius: 50%;
    background: #ddd;
    border: 0;
}

.tns-nav > [aria-controls].tns-nav-active {
    background: #016b93;
}

.tns-nav > [aria-controls]:hover,
.tns-nav > [aria-controls]:focus,
.tns-nav > [aria-controls]:active {
    outline: none;
}

/* Zoom images */

.zoom-image-container img:hover {
    cursor: crosshair;
}

/* Accordions description */

.accordion {
    margin: 1em 0;
}

.accordion > .card:first-of-type {
    border-bottom: 1px solid rgba(0,0,0,.125);
}