html,
body {
    width: 100%;
    min-height: 100vh;
}

body {
    /*padding-top: 110px;*/
    /*padding-bottom: 30px;*/
    font-family: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    display: flex;
    flex-direction: column;
}

iframe {
    width: 100%;
}

a, button, .search-box div {
    -webkit-transition: all 0.3s ease !important;
    -moz-transition: all 0.3s ease !important;
    -o-transition: all 0.3s ease !important;
    transition: all 0.3s ease !important;
}

button {
    cursor: pointer !important
}

figure {
    margin: 0;
    padding: 0;
    height: auto;
    position: relative;
    display: block;
    overflow: hidden;
}

figcaption {
    width: 90%;
    line-height: 40px;
    padding: 0 15px;
    margin: 15px 5%;
    position: absolute;
    bottom: -60px;
    left: 0;
    background: rgba(255, 255, 255, 1);
    z-index: 2;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    -webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
    -o-transition: all .5s ease;
    -ms-transition: all .5s ease;
    transition: all .5s ease;
}

figure:hover figcaption {
    bottom: 0
}

figure img {
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -o-transition: all 0.5s;
    -ms-transition: all 0.5s;
    transition: all 0.5s !important;
}

figure:hover img {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -o-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1) !important;
}

/* 404 Page Styles */
.error-404 {
    font-size: 100px;
}

.control-label {
    font-weight: 600;
}

/* Navigation */
.navbar-dark .navbar-nav .nav-link {
    color: rgba(255, 255, 255, 0.7);
}

.navbar-dark .navbar-nav .nav-link:focus, .navbar-dark .navbar-nav .nav-link:hover {
    color: rgba(255, 255, 255, 0.9);
}

.navbar-dark .dropdown-item:focus, .dropdown-item:hover {
    background-color: #efefef;
}

nav {
    box-shadow: 0 3px 5px rgba(0, 0, 0, .4);
}

.active.dropdown-item > .nav-link {
    color: #fff;
}

/* banner */
.banner-container .banner-image {
    display: inline-block;
    background: no-repeat center center;
    width: 100%;
    background-size: cover;
}

.carousel.banners .carousel-control span {
    width: 0px;
    height: 100px;
    margin-top: -50px;
    font-size: 100px;
}

/* HOME packages */
.packages a {
    text-decoration: none;
}

.packages .card:hover {
    border-color: #035E7B;
}

.packages .card-body {
    text-align: center;
}

.packages .card .card-title {
    margin-top: 0px;
}

.packages .card .description {
    color: #333;
}

/* General */
footer {
    box-shadow: 0 -3px 5px rgba(0, 0, 0, .4);
}

footer a {
    color: #fff;
}

footer a:hover, footer a:focus {
    color: #adb5bd;
}

footer ul {
    padding: 0;
    list-style: none;
}

footer ul a {
    text-decoration: none;
    color: inherit;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

footer ul a:hover {
    padding-left: 5px
}

footer ul a:before {
    width: 0;
    font-family: "FontAwesome";
    content: "\f0da";
    margin-right: 5px;
}

.side .card {
    border-color: #f7f7f7;
}

.page-header {
    font-weight: 900;
    color: #255d78;
}

.content {
    position: relative;
    z-index: 1
}

.limit {
    height: 90px;
    overflow: hidden;
    margin-bottom: 10px
}

.limit:hover {
    overflow: auto;
}

.content .social {
    text-align: right;
    margin-top: -55px;
    margin-bottom: 10px
}

.content .social a {
    display: inline-block
}

.content .social span {
    text-transform: uppercase;
    font-size: 12px
}

.content .social i {
    font-size: 20px;
    padding: 10px 5px
}

.side-heading {
    font-size: 20px;
    margin-bottom: 10px;
    margin-top: 0
}

.side .card ul {
    padding: 0;
    list-style: none;
}

.side .card ul a {
    text-decoration: none;
    color: inherit;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.side .card ul a:hover {
    padding-left: 5px
}

.side .card ul a:before {
    width: 0;
    font-family: "FontAwesome";
    content: "\f0da";
    margin-right: 5px;
}

.side .card ul a.active {
    padding-left: 5px;
    font-weight: bold;
}

.content .body h2, .content .body h3, .content .body h4 {
    font-weight: bold;
}

.content .body h2 {
    border-bottom: 2px solid #f2f2f2;
    padding: 10px 0
}

/* News items */
.news img {
    width: 100%;
}

.news p {
    line-height: 25px;
    font-size: 14px
}

.news .media .limit {
    margin-bottom: 0
}

.news .media-body {
    overflow: hidden;
}

.news .media-heading {
    /*text-overflow: ellipsis;*/
    overflow: hidden;
    white-space: nowrap
}

.news .media {
    position: relative;
    margin-bottom: 10px;
}

.news .media .limit {
    height: 55px
}

.news .media .date {
    width: 60px;
    padding: 10px 5px 5px 5px;
    color: #fff;
    text-align: center;
    font-size: 10px;
    line-height: 20px;
    left: 0;
    border-radius: 0.25rem;
}

.news .media .date strong {
    display: block;
    font-size: 30px
}

/* UTILS */
.img-hover:hover {
    opacity: 0.8;
}

.spinner-content {
    color: #339999;
    font-size: 150%;
}

.text-red {
    color: #dd4b39 !important;
}

.form-group.has-error label {
    color: #dd4b39;
}

.form-group.has-error,
.form-group.has-error .input-group-addon {
    border-color: #dd4b39;
    box-shadow: none;
}

.paginator-footer .info-display {
    /*text-align: left;*/
    /*line-height: 40px;*/
    /*margin-bottom: 0px;*/
}

.paginator-footer .pagination {
    margin: 0px;
    /*text-align: right;*/
}

.btn.back-to-top {
    width: 50px;
    font-size: 20px;
    line-height: 46px;
    text-align: center;
    position: fixed;
    right: 20px;
    padding: 0;
    z-index: 10;
    bottom: -50px;
}

a[data-fancybox] {
    position: relative;
    display: block;
}

a[data-fancybox]:before {
    width: 50px;
    line-height: 50px;
    background: #255d78;
    font-family: "FontAwesome";
    content: "\f00e";
    font-size: 20px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    color: #fff;
    border-radius: 50%;
    text-align: center
}

.content .body .gallery figure img {
    width: 100%;
    margin: 10px 0;
}

.content .body .gallery figcaption {
    font-size: 14px
}

.content .body .gallery h2 {
    font-size: 100%;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    margin-top: 10px
}

@media (max-width: 1600px) {

}

@media (max-width: 1200px) {

}

@media (max-width: 992px) {

}

@media (max-width: 750px) {
}