@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    src: local('Montserrat Regular'), local('Montserrat-Regular'), url(Montserrat.woff2) format('woff2');
}

body, h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: 'Montserrat', sans-serif;
}

.page-section {
    padding: 50px 0;
    position: relative;
}

.navbar-nav.navbar-center { 
    position: relative; 
    left: 50%; 
    transform: translatex(-50%); 
}

.navbar-bg {
    background-color: #3299ba;
}

.navbar-transparent {
    background-color: rgb(0 0 0 / 40%);
}

.nav-link {
    font-weight: bold;
}

.masthead {
    position: relative;
}

#search_form {
    position: absolute;
    z-index: 10;
    bottom: 70px;
}

#portfolio {
    background-color: #002749;
    position: relative;
    z-index: 2;
    overflow: hidden;
}

.portfolio {
    position: relative;
    overflow: hidden;
}

.portfolio-desc {
    position: absolute;
    bottom: 10px;
    transform: translateY(0);
    -webkit-transition: all 0.2s cubic-bezier(0.5, 0.4, 0.4, 1);
    -o-transition: all 0.2s cubic-bezier(0.5, 0.4, 0.4, 1);
    -moz-transition: all 0.2s cubic-bezier(0.5, 0.4, 0.4, 1);
    transition: all 0.2s cubic-bezier(0.5, 0.4, 0.4, 1);
}

.portfolio-desc h3 {
    color: #FFF;
}

.img-cover {
    -webkit-transition: all .2s ease-out 0s;
    -o-transition: all .2s ease-out 0s;
    -moz-transition: all .2s ease-out 0s;
    transition: all .2s ease-out 0s;
}
.img-cover:before {
    background-color: rgb(0 0 0 / 25%);
    content: '';
    height: 100%;
    width: 100%;
    position: absolute;
}

.portfolio:hover > .portfolio-desc {
    transform: translateY(-25%);
}

.portfolio:hover > .img-cover {
    transform: scale(1.1);
    filter: blur(1px);
}

#map {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}

.modal {
    padding: 0 !important;
}

.modal .list-group-item {
    background: none;
    border: none;
}

.modal-fullscreen {
    max-width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}

.modal-content {
    height: auto;
    min-height: 100%;
    border-radius: 0;
}

.video {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
}

/*.video:before {
    content: '';
    width: 100%;
    height: 100%;
    z-index: 1;
    position: absolute;
}*/

.video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.footer {
    background-color: #EFEFEF;
    padding: 20px;
    text-align: center;
}

.footer span {
    font-size: 14px;
}

.btn-elipse, .input-elipse {
    border-radius: 50px;
}

@media screen and (max-width: 480px) {
    .rslides {
        height: 400px;
    }
    .rslides img{
        width: auto;
    }
}