:root {
    --swiper-theme-color: #fff;
}

body {
    font-family: 'Montserrat', sans-serif;
    color: #2A254E;
    font-size: 16px;
}

.h1 {
    font-size: 46px;
}

.h2 {
    font-size: 38px;
}

.logo {
    width: 200px;
}

.social-media-circle {
    transition: 0.5s;
    transform: translateY(0px);
}

.social-media-circle:hover {
    transition: 0.5s;
    transform: translateY(-5px);
}

.blue-shape {
    transform: translateY(calc(-100% + 5px));
    height: 240px;
    width: 100%;
}

.custom-input {
    display: block;
    background-color: transparent;
    font-size: 14px;
    color: #fff;
    box-shadow: none;
    padding: 10px 16px;
}

.custom-input::placeholder {
    color: #fff;
    opacity: 1;
    /* Firefox */
}

.custom-input::-ms-input-placeholder {
    /* Edge 12-18 */
    color: #fff;
}

.custom-button {
    border: 1px solid #fff;
    background-color: #fff;
    font-size: 14px;
    font-weight: bold;
    color: #009FE3;
}

.custom-button:hover {
    background-color: #009FE3;
    border-color: #fff;
}

.custom-button-2 {
    border: 1px solid #009FE3;
    background-color: #009FE3;
    font-size: 14px;
    font-weight: bold;
    color: #fff;
}

.custom-button-2:hover {
    background-color: #fff;
    border-color: #009FE3;
    color: #009FE3;
}

.building-image {
    max-width: 60%;
    max-height: calc(100vh - 100px);
}

.blocks-icon rect {
    fill: #2A254E;
    transition: 0.5s;
}

.blocks-icon a:hover rect {
    fill: #009FE3;
}

/* X-Large devices (large desktops, less than 1400px) */
@media (max-width: 1399.98px) {
    .building-image {
        max-width: 52%;
    }
}

/* Large devices (desktops, less than 1200px) */
@media (max-width: 1199.98px) {
    .building-image {
        max-width: 46%;
    }
}

/* Medium devices (tablets, less than 992px) */
@media (max-width: 991.98px) {
    .blue-shape {
        z-index: 1;
        height: 115px;
    }
    .building-image {
        top: 0;
        transform: translateY(-100%);
        height: 210px;
        max-width: none;
        object-fit: cover;
    }
}

/* Small devices (landscape phones, less than 768px) */
@media (max-width: 767.98px) {}

/* X-Small devices (portrait phones, less than 576px) */
@media (max-width: 575.98px) {
    .logo {
        width: 140px;
    }

    .blue-shape {
        width: 200%;
    }
}