* {
    font-family: 'Roboto Condensed', sans-serif;
}

h3 {
    font-size: 32px;
    color: #151C5A;
    font-weight: bold;
    margin-bottom: 35px;
}

p {
    font-size: 18px;
    color: #151C5A;
    font-weight: 300;
}

.btn {
    box-shadow: none !important;
}

.btn.round {
    border-radius: 15px;
    padding: 16px 30px;
    font-size: 21px;
    min-width: 230px;
    text-align: center;
}

.btn.btn-primary {
    color: #fff;
    background: #151C5A;
    border-color: #151C5A;
}

.btn.btn-primary:hover, .btn.btn-primary:focus, .btn.btn-primary:active {
    background: #E2ECFF;
    color: #151C5A;
    border-color: #E2ECFF;
}

.btn.btn-form {
    color: #151C5A;
    background: #fff;
    border-color: #fff;
}

.btn.btn-form:hover, .btn.btn-form:focus, .btn.btn-form:active {
    background: #151C5A;
    color: #fff;
    border-color: #fff;
}

.btn.btn-blue {
    color: #fff;
    background: #247BC1;
    border-color: #247BC1;
    padding: 12px 30px;
}

.btn.btn-blue:hover, .btn.btn-blue:focus, .btn.btn-blue:active {
    color: #247BC1;
    background: #fff;
}

.btn.btn-warning {
    background: #FFDC69;
    border-color: #FFDC69;
    color: #151C5A;
    font-size: 24px;
    padding: 11.5px 22px;
    box-shadow: 0px 20px 30px rgba(21, 28, 90, 0.16);
    border-radius: 15px;
}

.btn.btn-warning:hover, .btn.btn-warning:focus, .btn.btn-warning:active {
    color: #FFDC69;
    background: #151C5A;
    border-color: #151C5A;
}

.background {
    background: linear-gradient(rgba(196, 196, 196, 0.12) 0%, rgba(36, 123, 193, 0) 100%, #717680 100%);
}

.sub-page h2 {
    font-size: 38px;
    font-weight: 300;
    margin-bottom: 20px;
}

.sub-page h3 {
    margin-bottom: 10px;
    font-size: 24px;
}

.sub-page p {
    font-size: 16px;
    margin-bottom: 30px;
}

.sub-page ul li, .sub-page ol li {
    color: #151C5A;
    font-weight: 300;
}

.sub-page .container img {
    margin-bottom: 30px;
}

header .navbar {
    position: relative;
    height: 124px;
}

header .navbar .navbar-brand img {
    width: 120px;
}

header .navbar .navbar-toggler {
    position: relative;
    margin: 0 0 0 auto;
    border: 0;
    height: 37px;
    padding: 0;
}

header .navbar .navbar-toggler .navbar-toggler-icon, header .navbar .navbar-toggler .navbar-toggler-icon:before, header .navbar .navbar-toggler .navbar-toggler-icon:after {
    content: '';
    background: #151C5A !important;
    width: 60px;
    height: 6px;
    display: block;
}

header .navbar .navbar-toggler .navbar-toggler-icon {
    position: relative;
}

header .navbar .navbar-toggler .navbar-toggler-icon:before {
    position: absolute;
    top: -15px;
}

header .navbar .navbar-toggler .navbar-toggler-icon:after {
    position: absolute;
    bottom: -14px;
}

header .navbar .navbar-nav.pages {
    position: absolute;
    right: 20px;
    bottom: -30px;
    z-index: 1;
}

header .navbar .navbar-nav.pages .nav-item:first-child .nav-link {
    border-radius: 15px 0 0 15px;
}

header .navbar .navbar-nav.pages .nav-item:last-child .nav-link {
    border-radius: 0 15px 15px 0;
}

header .navbar .navbar-nav.pages .nav-item .nav-link {
    font-size: 18px;
    color: #151C5A;
    background: #E2ECFF;
    padding: 0 32px;
    height: 60px;
    line-height: 60px;
    min-width: 128px;
    text-align: center;
    font-weight: bold;
}

header .navbar .navbar-nav.pages .nav-item .nav-link.active, header .navbar .navbar-nav.pages .nav-item .nav-link:hover, header .navbar .navbar-nav.pages .nav-item .nav-link:focus {
    background: #131D5A;
    color: #fff;
}

header .navbar .navbar-nav.main {
    margin-bottom: 35px;
}

header .navbar .navbar-nav.main .nav-item .nav-link {
    color: #B9B9B9;
}

header .navbar .navbar-nav.main .nav-item .nav-link:after {
    content: '|';
    position: relative;
    right: -7.5px;
}

header .navbar .navbar-nav.main .nav-item .nav-link.active, header .navbar .navbar-nav.main .nav-item .nav-link:hover, header .navbar .navbar-nav.main .nav-item .nav-link:focus {
    color: #151C5A;
}

header .navbar .navbar-nav.main .nav-item .nav-link.active:after, header .navbar .navbar-nav.main .nav-item .nav-link:hover:after, header .navbar .navbar-nav.main .nav-item .nav-link:focus:after {
    color: #B9B9B9;
}

header .navbar .phone {
    color: #151C5A;
    font-weight: bold;
    margin-left: 20px;
    margin-bottom: 35px;
}

header .navbar .navbar-nav.main .nav-item .nav-link.phone:after {
    display: none;
}

header .navbar .navbar-nav.main .nav-item:nth-last-child(1) .nav-link:after {
    display: none;
}

@media (min-width: 768px) and (max-width: 991.98px) {
    header .navbar .navbar-nav.pages {
        bottom: -20px;
    }

    header .navbar .navbar-nav.pages .nav-item .nav-link {
        font-size: 14px;
        height: 50px;
        line-height: 50px;
        min-width: 85px;
        padding: 0px 26px;
    }
}

@media (max-width: 767.98px) {
    header .navbar {
        z-index: 1;
    }

    header .navbar .navbar-nav.pages {
        position: unset;
    }

    header .navbar .navbar-nav.pages .nav-item:first-child .nav-link {
        border-radius: 0;
    }

    header .navbar .navbar-nav.pages .nav-item:last-child .nav-link {
        border-radius: 0 0 15px 15px;
    }

    header .navbar .navbar-nav.main {
        background: #E2ECFF;
        padding: 10px 20px;
        margin-bottom: 0;
        border-radius: 15px 15px 0 0;
    }

    header .navbar .navbar-nav.main .nav-item .nav-link:after {
        display: none;
    }

    header .navbar .phone {
        margin: 0;
        background: #E2ECFF;
        padding: 0 22px 15px;
    }
}

footer {
    position: relative;
}

footer .buttons {
    position: absolute;
    top: -35px;
    left: 50%;
    transform: translateX(-50%);
}

footer .buttons .btn i {
    margin-right: 3px;
}

footer .buttons .btn:first-child {
    margin-right: 20px;
}

footer .top {
    background: #E2ECFF;
    padding: 70px 0 32px;
}

footer .top ul {
    list-style: none;
    display: flex;
    justify-content: center;
    padding: 0;
    margin: 0;
    flex-wrap: wrap;
}

footer .top ul li {
    color: #151C5A;
    font-weight: 300;
    font-size: 18px;
}

footer .top ul li a {
    color: #151C5A;
}

footer .top ul li:after {
    content: '|';
    margin: 0 5px;
}

footer .top ul li:last-child:after {
    content: '';
}

footer .bottom {
    padding: 30px 0;
    font-size: 14px;
    text-align: center;
}

footer .bottom p {
    margin: 0;
    color: #B9B9B9;
}

footer .bottom p a {
    color: #B9B9B9;
}

footer .extra-images {
  position: absolute;
  right: 40px;
  bottom: 130px;
}

footer .extra-images img {
  height: 75px;
  width: 75px;
}

footer .extra-images a {
  margin-right: 20px;
}

@media (max-width: 991.98px) {
  footer .top{
    padding-bottom: 140px;
  }

  footer .extra-images {
      right: unset;
      left: 50%;
      transform: translateX(-50%);
  }
}

@media (max-width: 767.98px) {
    footer .extra-images {
        bottom: 160px;
    }
}

@media (max-width: 991.98px) {
    footer .buttons {
        text-align: center;
        width: 100%;
        left: unset;
        transform: unset;
    }
}

@media (max-width: 575.98px) {
    footer .buttons .btn {
        min-width: 171px;
        padding: 14px 18px;
        font-size: 16px;
    }
}

.diensten .diensten-block {
    padding: 145px 0 100px;
}

.diensten .cta h1 {
    position: relative;
}

.diensten .cta h1 img {
    display: inline-block;
    height: 52px;
    width: 52px;
    margin-right: 20px;
}

.diensten .realizations .card {
    height: 100%;
}

.blog-block {
    margin: 110px 0 110px;
}

.blog-block .container {
    padding-top: 30px;
}

.blog-block .card {
    margin-bottom: 26px;
    height: calc(100% - 26px);
    text-decoration: none !important;
}

.blog-detail {
    margin: 100px 0 90px;
}

.blog-detail img {
    border-radius: 10px;
    width: 100%;
}

.blog-detail p a {
    color: #151C5A;
    text-decoration: underline;
}

.blog-detail p a:hover, .blog-detail p a:focus {
    text-decoration: none;
}

.sub-page .item.photo-album {
    height: 200px;
    align-items: center;
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.sub-page .item.photo-album a img {
    width: 170px;
    height: 120px;
    object-fit: cover;
    border-radius: 10px;
}

.sub-page .item.photo-album:after {
    content: '';
    position: absolute;
    right: 0;
    left: 0;
    height: 200px;
    z-index: -1;
}

.realizations-page {
    padding: 145px 0 160px;
}

.realizations-page .realizations {
    padding-left: 40px;
    padding-right: 40px;
}

.realizations-page .menu {
    display: flex;
    justify-content: space-between;
    margin: 0 150px;
    padding: 42px 0;
}

.realizations-page .menu a, .realizations-page .menu p {
    line-height: 42px;
    margin: 0;
    color: #151C5A;
}

.realizations-page .menu p {
    font-weight: bold;
}

.realizations-page .menu a {
    padding: 0 20px;
    border-radius: 15px;
    text-decoration: none !important;
}

.realizations-page .menu a.active, .realizations-page .menu a:hover, .realizations-page .menu a:focus {
    background: #E2ECFF;
}

.realizations-page .card, .diensten .realizations .card {
    margin-bottom: 30px;
    text-decoration: none !important;
}

.realizations-page .card h3, .diensten .realizations .card h3, .blog-block .card h3 {
    color: #247BC1;
    font-size: 12px;
    margin: 0;
    padding: 16px 22px 0;
    text-transform: uppercase;
    margin-bottom: 5px;
}

.realizations-page .card p, .diensten .realizations .card p {
    padding-top: 0;
}

.contact > .container {
    position: relative;
}

.contact .cta {
    position: absolute;
    z-index: 1;
}

.contact .cta .text h1 {
    font-weight: 300;
    font-size: 32px;
    margin-bottom: 40px;
}

.contact .cta .text .form-control {
    background: transparent;
    border-color: #fff;
    border-radius: 5px;
    color: #fff;
    font-weight: 300;
}

.contact .cta .text .form-control::placeholder {
    color: #fff;
    font-weight: 300;
}

.contact .cta .text input.form-control {
    height: 40px;
}

.contact .cta .text .btn {
    height: 50px;
    width: 100%;
    line-height: 50px;
    padding-top: 0;
    padding-bottom: 0;
}

.contact .maps-wrapper {
    height: 800px;
    width: 100%;
}

.contact .maps-wrapper > * {
    height: 800px;
    width: 100%;
}

@media (max-width: 991.98px) {
    .contact .cta {
        position: unset;
        margin: 50px 0 60px;
    }

    .contact .cta .text {
        width: 100%;
    }
}

.custom-wide-blocks .block {
    border: 2px solid #E2ECFF;
    border-radius: 15px;
    padding: 40px 32px 28px;
    margin-bottom: 25px;
    box-shadow: 0px 20px 20px rgba(0, 0, 0, 0.04);
}

.custom-wide-blocks .block h5 {
    position: relative;
    margin-left: 25px;
    margin-bottom: 35px;
    font-size: 24px;
    color: #151C5A;
}

.custom-wide-blocks .block h5:after {
    content: '';
    background: url('../images/logo-icon-blue.png');
    width: 52px;
    height: 60px;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    position: absolute;
    left: -25px;
    top: -13px;
}

.custom-wide-blocks .block p {
    margin: 0;
}

.card {
    border-radius: 15px;
    border: 2px solid #E2ECFF;
    box-shadow: 0px 20px 30px rgba(4, 4, 111, 0.07);
    text-decoration: none;
}

.card img {
    border-radius: 15px 15px 0 0;
    height: 122px;
    object-fit: cover;
}

.card p {
    font-size: 16px;
    padding: 16px 22px 0;
    font-weight: 400;
}

.card:hover, .card:focus {
    box-shadow: 0px 20px 30px rgba(4, 4, 111, 0.2);
}

.breadcrumb-wrapper {
    display: flex;
    justify-content: space-between;
    margin-bottom: 25px;
}

.breadcrumb-wrapper ol.breadcrumb {
    margin-bottom: 0;
    background: none;
    padding-left: 0;
}

.breadcrumb-wrapper ol.breadcrumb li.breadcrumb-item, .breadcrumb-wrapper ol.breadcrumb a {
    color: #151C5A;
    font-size: 14px;
}

.breadcrumb-wrapper ol.breadcrumb li.breadcrumb-item a {
    font-weight: 300;
}

.breadcrumb-wrapper ol.breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    content: ">";
    color: #151C5A;
}

.breadcrumb-wrapper .go-back {
    color: #151C5A;
}

.breadcrumb-wrapper .go-back i {
    margin-right: 5px;
}

@media (max-width: 767.98px) {
    .breadcrumb-wrapper {
        flex-direction: column;
    }

    .breadcrumb-wrapper ol.breadcrumb {
        margin-bottom: 15px;
    }
}

.eye-catcher {
    position: relative;
}

.eye-catcher .eye-catcher-item {
    position: relative;
}

.eye-catcher .eye-catcher-item:after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    pointer-events: none;
    opacity: 0.7;
    background: #3B76A5;
}

.eye-catcher .eye-catcher-item img {
    width: 100%;
    height: 340px;
    object-fit: cover;
}

.eye-catcher .overlay {
    position: absolute;
    top: 30%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.eye-catcher.home-eye-catcher .overlay.home {
    width: fit-content;
}

.eye-catcher.home-eye-catcher .overlay.home:before {
    content: '';
    background: url('../images/logo-icon-white.png') no-repeat;
    height: 119px;
    width: 103px;
    display: block;
    position: absolute;
    left: -35px;
    top: -27.5px;
}

.eye-catcher.home-eye-catcher .overlay.home p {
    font-size: 38px;
    color: #fff;
}

.eye-catcher.home-eye-catcher .eye-catcher-item.home-eye-catcher-item img {
    height: 680px;
    object-fit: cover;
}

@media (max-width: 575.98px) {
    .eye-catcher.home-eye-catcher .overlay.home:before {
        width: 60px;
        background-size: contain !important;
        height: 70px;
        top: -16px;
    }

    .eye-catcher.home-eye-catcher .overlay.home p {
        font-size: 22px;
    }
}

.categories {
    position: relative;
    top: -300px;
    margin-bottom: -300px;
}

.categories > .row {
    justify-content: center;
}

.categories .border {
    border: 2px solid #E2ECFF !important;
}

.categories .rounded {
    border-radius: 15px !important;
}

.categories .shadow-sm {
    box-shadow: 0 0.125rem 0.25rem rgba(4, 4, 111, 0.075) !important;
}

.categories .block {
    font-size: 24px;
    padding: 24px 27px;
    max-width: 234px;
    max-height: 208px;
}

.categories .block p {
    font-size: 16px;
    font-weight: 300;
}

.categories .block svg {
    height: 45px;
    width: 52px;
    margin: 1rem !important;
}

.categories .block svg {
    fill: #151C5A;
}

.categories .block:hover, .categories .block:focus {
    background: #151C5A;
}

.categories .block:hover svg, .categories .block:focus svg {
    fill: #fff;
}

.categories .block:hover p, .categories .block:focus p, .categories .block:hover h6, .categories .block:focus h6 {
    color: #fff;
}

.categories .block:first-child p {
    font-size: 24px;
    color: #fff;
}

.categories .first {
    background-color: #151C5A;
    color: #fff;
    border-color: #151C5A !important;
}

.categories .first .title {
    font-weight: 300;
}

.categories .next {
    background-color: #fff;
    color: #151C5A;
}

.categories .last {
    background-color: #151C5A;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.categories .last .title, .categories .last p {
    z-index: 1;
    position: relative;
}

.categories .last p {
    color: #fff;
    margin-bottom: 0;
}

.categories .last:after {
    content: '';
    position: absolute;
    border-radius: 15px !important;
    top: -2px;
    right: -2px;
    bottom: -2px;
    left: -2px;
    background-color: #247BC1;
    opacity: 0.7;
    pointer-events: none;
}

.home-info-block {
    padding: 120px 0 100px;
}

.home-info-block .text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
}

@media (max-width: 767.98px) {
    .home-info-block .image img {
        margin-bottom: 40px;
    }
}

.home-why-block {
    padding: 65px 0 96px;
}

.realizations {
    padding-bottom: 85px;
}

.realizations .container {
    background: linear-gradient(rgba(36, 123, 193, 0.12) 0%, rgba(196, 196, 196, 0) 100%, #717680 100%);
    padding: 50px;
}

.realizations .btn {
    margin: 46px auto 0;
    display: block;
    width: fit-content;
    width: -moz-fit-content;
    padding-left: 72px;
    padding-right: 72px;
}

@media (max-width: 1199.98px) {
	.sub-page .item.photo-album a img {
        width: 127.5px;
        height: 90px;
    }
	
    .realizations-page .menu {
        margin: 0 75px;
    }
}

@media (max-width: 991.98px) {
    .realizations-page .menu {
        flex-wrap: wrap;
    }

    .realizations-page .menu p {
        padding: 0 20px;
        width: 100%;
    }
}

@media (max-width: 767.98px) {
    .realizations-page .menu {
        margin: 0 30px;
    }

    .realizations-page .menu a {
        margin-bottom: 15px;
    }
    
    .sub-page .item.photo-album {
        flex-wrap: wrap;
        height: 240px;
    }

    .sub-page .item.photo-album:after {
        height: 240px;
    }

    .sub-page .item.photo-album a {
        flex: 0 0 50%;
        text-align: center;
    }
}

.cta {
    position: relative;
    top: -140px;
    margin: 0 95px -200px;
}

.cta .text {
    background: #151C5A;
    border-radius: 15px;
    width: 400px;
    padding: 36px 40px;
}

.cta .text h1 {
    color: #fff;
    font-size: 38px;
}

.cta .text p {
    color: #fff;
    font-size: 25px;
    margin: 0;
}

.cta a {
    position: absolute;
    right: 0;
    top: 110px;
}

.cta a i {
    margin-right: 10px;
}

@media (max-width: 991.98px) {
    .cta {
        margin-left: 0;
        margin-right: 0;
    }
}

@media (max-width: 767.98px) {
    .cta .btn {
        position: unset;
        margin-top: 50px;
    }
}

@media (max-width: 575.98px) {
    .cta .text {
        width: 100%;
    }
}

/* Errors */
span.error, small.error { background-color: #ff9c9c; display: inline-block; color: #b50808; font-size: 14px; font-style: normal; margin: 5px 0 3px; padding: 5px;  width: 100%; border: 1px solid #b50808; border-radius: 3px;}
span.helplabel { display: block; text-align: left; font-size: 13px; font-style: italic; color: #999; margin-top: 2px; margin-bottom: 1rem; text-transform: lowercase;}

.error-msg { padding-left: 60px; padding-top: 60px; border-left: 15px solid #151C59; }
.error-msg h1 { text-transform: uppercase; font-weight: 600; color: #151C59; font-size: 24px; }
.error-msg p { text-transform: uppercase; font-size: 16px; color: #000;}

/** Google Maps */
.google_maps { width: 100%; }
.google_maps #map_wrapper {	width: 100%; height: 100%; }
.google_maps #map_canvas { width: 100%; height: 100%; }
.google_maps #map_canvas .gm-infobox h3 { font-size: 15px; font-weight: 700; color: #000; text-align: center; line-height: 1; margin-bottom: 10px; }
.google_maps #map_canvas .gm-infobox p { text-align: center; font-size: 13px; line-height: 1; margin-bottom: 10px; color: #000; }
.google_maps #map_canvas .gm-infobox a { font-size: 13px; color: #000; text-decoration: underline; }
.google_maps #map_canvas .gm-infobox a:hover { text-decoration: none; }