@font-face {
    font-family: 'DMSerifDisplay';
    src: url(../fonts/DMSerifDisplay-Regular.otf) format("otf"),url(../fonts/DMSerifDisplay-Regular.woff) format("woff"),url(../fonts/DMSerifDisplay-Regular.woff2) format("woff"),url(../fonts/DMSerifDisplay-Regular.ttf) format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: 'DMSans';
    src: url(../fonts/DMSans-Regular.otf) format("otf"),url(../fonts/DMSans-Regular.woff) format("woff"),url(../fonts/DMSans-Regular.woff2) format("woff"),url(../fonts/DMSans-Regular.ttf) format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: 'DMSans';
    src: url(../fonts/DMSans-Medium.ttf) format("truetype");
    font-weight: 500;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: 'DMSans';
    src: url(../fonts/DMSans-SemiBold.ttf) format("truetype");
    font-weight: 600;
    font-style: normal;
    font-display: swap
}

body {
    margin:0; position:relative;color: #003049;
    font-family: "DMSans",sans-serif;
    font-size: 16px;
    line-height: 24px;
    font-style: normal;
    font-weight: 400;
    letter-spacing: normal
}
img {max-width: 100%; vertical-align: top; height: auto;}
a {color: #007cc7;text-decoration: none; transition: color 0.25s ease-in-out;}
a:hover {color: #0090ff; text-decoration: none;}

a.hover-icon {display: inline-block; position: relative; padding-right: 10px;}
a.hover-icon:after {content: '\203A';position: absolute;right: 10px;opacity: 0;transition: right 0.25s ease-in-out, opacity 0.25s ease-in-out;}
a.hover-icon:hover::after {right: 0; opacity: 1;}

a.link-w-arrow {font-weight: 700; display:inline-block; position: relative; padding-right: 36px;color: inherit;}
a.link-w-arrow > span {position: absolute;right: 8px;transition: all 0.25s ease-in-out;font-size: 20px;top: 3px;opacity: 0.5;}
a.link-w-arrow:hover > span {right: 0; opacity: 1;}


h1,.h1 {
    font-size: 57px;
    line-height: 64px;
    font-family: "DMSerifDisplay",sans-serif
}

@media screen and (max-width: 1024px) {
    h1,.h1 {
        font-size:45px;
        line-height: 52px
    }
}

@media screen and (max-width: 680px) {
    h1,.h1 {
        font-size:36px;
        line-height: 44px
    }
}

h2,.h2 {
    font-size: 45px;
    line-height: 52px;
    font-family: "DMSerifDisplay",sans-serif
}

@media screen and (max-width: 1024px) {
    h2,.h2 {
        font-size:36px;
        line-height: 44px
    }
}

@media screen and (max-width: 680px) {
    h2,.h2 {
        font-size:28px;
        line-height: 36px
    }
}

h3,.h3 {
    font-size: 36px;
    line-height: 44px
}

h4,.h4 {
    font-size: 32px;
    line-height: 40px;
    font-family: "DMSerifDisplay",sans-serif
}

@media screen and (max-width: 1024px) {
    h4,.h4 {
        font-size:28px;
        line-height: 36px
    }
}

@media screen and (max-width: 680px) {
    h4,.h4 {
        font-size:24px;
        line-height: 32px
    }
}

h5,.h5 {
    font-size: 28px;
    line-height: 36px
}

@media screen and (max-width: 1024px) {
    h5,.h5 {
        font-size:24px;
        line-height: 32px
    }
}

@media screen and (max-width: 680px) {
    h5,.h5 {
        font-size:22px;
        line-height: 28px
    }
}

h6,.h6 {
    font-size: 24px;
    font-style: normal;
    font-weight: 500;
    line-height: 28px;
    letter-spacing: -0.96px
}

p,.p {
    font-size: 16px;
    line-height: 24px;
    padding-bottom: 16px
}

p:last-child,.p:last-child {
    padding-bottom: 0
}

p.p2 {
    font-size: 14px;
    line-height: 20px
}

.text-bold,strong {
    font-weight: bold
}

em {
    font-style: italic
}


.fluid-container {max-width: 100%; overflow-x: hidden;}

.ul-flatten {margin:0;padding:0;list-style:none;}

button:focus {outline: none;}

.btn {
    padding: 12px 16px;
    font-size: 12px;
    line-height: 12px;
    border: 0 none;
    outline: 0 none;
    color: #FFFFFF;
    background-color: #18345D;
    transition: all 0.25s ease-in-out;
}
.btn:hover {
    background-color: #FFFFFF;
    color: #18345D;;
}

.btn-primary.focus,
.btn-primary:focus {outline: none; box-shadow: none;}

.btn.btn-primary {
    border: 1px solid #18345D;
    background-color: #18345D;
    color: #fff;
}
.btn.btn-primary:hover {
    background-color: white;
    border: 1px solid #18345D;
    color: #18345D;
}
.btn.btn-secondary {
    background-color: transparent;
    border: 1px solid #18345D;
    color: #18345D;
}
.btn.btn-secondary:hover {
    background-color: white;
    border: 1px solid #18345D;
    color: #18345D;
}

.btn.btn-outline.btn-white {
    background-color: transparent;
    border: 1px solid #FFFFFF;
    color: #FFFFFF;
}
.btn.btn-outline.btn-white:hover {
    background-color: white;
    border: 1px solid #18345D;
    color: #18345D;
}


@media only screen and (max-width: 767px) {
    .no-mobile {display: none;}
}

@media only screen and (min-width: 768px) {
    .mobile-only {display: none;}

    .btn {width: auto; font-size: 12px; line-height: 12px; padding: 14px 12px; display: inline-block;}
    .btn-block {width: 100%; max-width: 100%;}
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
    .no-tablet {display: none;}
}

@media only screen and (min-width: 992px) {
    .tablet-only {display: none;}

    body {
        min-height:100vh;
    }
    body::after {
        content: '';
        display: block;
        height: 460px;
    }
    footer {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 460px;
    }
}

@media only screen and (min-width: 1200px) {
    .container {width: 90%;max-width: 1560px;}

    .btn {font-size: 14px; line-height: 14px; padding: 16px 24px;}
}