/* Type */

html {
    box-sizing: border-box;
    font-size: 16px;
    -webkit-font-smoothing: antialiased;
    background-color: #dfe3e8;
}

body {
    height: 100%;
    max-width: 1680px;
    margin: 0 auto;
    font-family: 'proxima-nova', sans-serif;
    font-weight: 400;
    color: #6d6e71;
    font-size: 16px;
    line-height: 1.35;
    width: 100%;
    line-height: 1.33333rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: antique-olive, sans-serif;
}

a,
li,
p,
small,
label {
    font-family: proxima-nova, sans-serif;
}

p {
    font-size: 18px;
    line-height: 1.5;
}

img {
    max-width: 100%;
    display: block;
}

/* Header */

#main-nav {
    background: #4D7FBF;
    background: -webkit-linear-gradient(bottom, #4D7FBF, #38C4F2);
    background: -moz-linear-gradient(bottom, #4D7FBF, #38C4F2);
    background: linear-gradient(to top, #4D7FBF, #38C4F2);
}

#main-nav>div {
    display: flex;
    justify-content: space-between;
    padding: 0 calc(50% - 570px);
}

#top {
    background-color: #F3F5F5;
    border-bottom: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

#top>div {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

#top>div>div {
    margin-left: 25px;
}

#logo {
    margin: 0 !important;
    padding: 7px 0 1px !important;
}

#logo img {
    width: 150px;
}

#search {
    width: 220px;
    float: right;
    margin-top: 10px;
}

.cd-primary-nav {
    padding: 0 !important;
}

.cd-primary-nav>li {
    list-style-type: none;
}

.cd-primary-nav>li>a {
    color: #fff;
    text-transform: uppercase;
    font-weight: 500;
}

/* Footer */

footer {
    margin-top: 0 !important;
}

.footer--top {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
}

.footer-top-nav a {
    font-size: 16px;
    margin: 0 1em;
}

.footer--bottom {
    display: flex;
    justify-content: center;
}

.footer-top-nav {
    margin-top: 1em;
    display: flex;
    flex-direction: column;
}

.partners {
    background: #dadada;
    padding: 2em 0;
    border-top: 1px solid hsl(0, 0%, 75%);
}

.partners--logos {
    display: flex;
    align-items: center;
    justify-content: center;
}

.partners--logos a {
    margin: 0 2em;
}

/* Homepage */

.homepage--hero {
    background: url('https://cxtest.a2hosted.com/image/catalog/careox-medical-web.jpg') no-repeat center center;
    height: 300px;
    background-size: cover;
    display: flex;
    align-items: center;
    justify-content: center;
}

.homepage--hero p {
    color: #1f1f1f;
}

.homepage--hero span {
    font-weight: 600;
}

.homepage--synopsis>div {
    padding: 0 calc(50% - 570px);
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    grid-gap: 50px;
}

.homepage--rectangles {
    display: flex;
    flex-direction: column;
}

.homepage--rectangles-box {
    padding: 4em 2em;
    display: flex;
    align-items: center;
    justify-content: space-around;
    flex-direction: column;
}

.homepage--rectangles-box_wide {
    padding: 3em 4em;
}

.homepage--rectangles-box h2 {
    font-size: 22px;
    color: #fff
}

.homepage--rectangles-box li {
    font-size: 18px;
    color: #fff
}

.homepage--rectangles-box-img > img {
    width: 225px;
}

.homepage--rectangles-box-img_wide > img {
    width: 335px;
}

.homepage--synopsis {
    padding: 3em 0 1em;
}

.homepage--rectangles-box-text {
    order: 2;
}

.background-gradient-blue {
    background-image: radial-gradient(0% 100%, #4D7EBF 0%, #38C3F2 100%);
}

.background-gradient-orange {
    background-image: linear-gradient(-224deg, #F7CD63 0%, #FFA94C 100%);
}

.featured-products {
    padding: 4em 0 2em;
    margin: 3em 0;
    background: #fafafa;
    border-bottom: 1px solid #dadada;
    border-top: 1px solid #dadada;
}

/* About Page */

.about--hero {
    height: 400px;
    background-image: radial-gradient(50% 49%, #F7CD63 50%, #FFA545 100%);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.about--hero img {
    width: 330px;
}

.about--hero h4 {
    font-size: 24px;
    color: #fff;
}

.about--content {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    align-items: center;
    padding: 5em 0;
    border-bottom: 1px solid hsla(0, 0%, 20%,.2);
}

.about--content_text {
    max-width: 425px;
}

.about--content_text h3 {
    font-size: 38px;
    color: #6D6E71;
    font-weight: 400;
}

.about--content_img {
    max-width: 475px;
}

@media (min-width: 768px) {
    #search {
        width: 300px;
    }
    .homepage--hero {
        height: 500px;
        justify-content: flex-end;
    }

    .homepage--hero>div {
        width: 30%;
        margin-right: 15%;
        padding: 0 1.25em;
    }

    .homepage--hero p {
        font-size: 2.5rem;
        color: #1f1f1f;
    }

    .homepage--hero span {
        font-size: 3rem;
        font-weight: 600;
    }
    .footer--top {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
    .footer-top-nav {
        display: block;
        margin-top: 0;
    }
    .footer--bottom {
        justify-content: flex-end;
        margin-right: 1em;
    }
    .about--content {
        flex-direction: row;
    }
    .homepage--rectangles {
        display: flex;
    }
    .homepage--rectangles_row1 {
        display: flex;
        flex-direction: column;          
    }
    .homepage--rectangles_row2 {
        display: flex;
        flex-direction: column;
    }
    .homepage--rectangles-box {
        height: 275px;
        flex-direction: row;
    }
    .homepage--rectangle-box_wide {
        flex: 2 0 0;
    }
    .homepage--rectangle-box_small {
        flex: 1 0 250px;
    }
    .homepage--rectangles-box-text {
        max-width: 45%;
        order: inherit;
    }
}

@media (min-width: 1170px) {
    #logo {
        margin: 0 !important;
        padding: 1em 0 !important;
    }
    #logo img {
        width: 200px;
    }
    .partners--logos a {
        margin: 0 5em;
    }
    .homepage--rectangles_row1 {
        flex-direction: row;          
    }
    .homepage--rectangles_row2 {
        flex-direction: row;
    }
}

.catalog-download-link {
    width: 100%;
    display: block;
    height: 2em;
    background-color: rgb(31, 144, 187);
    border-radius: 5px;
    color: #fff;
    vertical-align: middle;
    text-align: center;
    padding-top: 5px;
}