:root {
    --primary-color: #024888;
    --secondary-color: #13D0C8;
    --white-color: #fff;
    --black-color: #000;
    --cream-color: #F6F1EF;
    --gray-color: #D3DCE4;
    --dark-blue: #012A50;
    --body-font: 'Lato', sans-serif;
    --heading-font: 'Poppins', sans-serif;
}
/**** 
font-family: 'Lato', sans-serif;
font-family: 'Poppins', sans-serif;
****/
/* ---------------------------- *  COMMON STYLE * ---------------------------------- */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary { display:block; }
html { 
    -webkit-font-smoothing: antialiased; 
    -webkit-text-size-adjust: 100%;  
}
body { 
    -webkit-font-smoothing: antialiased; 
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust: none; 
    margin: 0; 
    padding: 0;
    font-style: normal; 
    font-family: var(--body-font); 
    font-size: 14px; 
    font-weight: 400; 
    color: var(--dark-blue); 
    letter-spacing: 0.28px;
}
* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing:border-box; }
*:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing:border-box; box-sizing:border-box; }
.clearfix:before, .clearfix:after { display:table; content:""; }
.clearfix:after { clear:both; }
.clearfix:before,
.clearfix:after,
.container:before,
.container:after,
.row:before,
.row:after,
.nav:before,
.nav:after { display:table; content:" "; }
h1, h2, h3, h4, h5, h6 {  
    margin: 0 0 30px; 
    font-family: var(--heading-font); 
    color: var(--dark-blue); 
}
h1 { font-size: 80px; line-height: 124px; }
h2 { font-size: 32px; line-height: 48px; }
h3 { font-size: 28px; line-height: 36px; }
h4 { font-size: 24px; line-height: 32px; }
h5 { font-size: 20px; line-height: 28px; }
h6 { font-size: 14px; line-height: 20px; }
p { 
    line-height: 20px; 
    margin: 0 0 30px; 
    letter-spacing: 0.28px;
}
ol, ul { 
    padding: 0 0 0 20px; 
    margin: 0 0 20px 0; 
}
ol li, ul li { 
    line-height: 20px; 
}
img { 
    vertical-align:middle; 
    border:0; 
    max-width: 100%; 
}
a[href^=tel] { 
    color:inherit; 
    text-decoration:none; 
}
a { 
    color: var(--primary-color); 
    text-decoration: none; 
    outline:none; 
    transition: 0.2s;
}
a:hover, a:focus { 
    color: var(--secondary-color); 
}
i, em { 
    text-decoration: none; 
}
table { border-collapse: collapse; }
table, th, td { 
    border: 1px solid var(--primary-color); 
    padding: 5px; 
}
input, select, textarea { 
    -webkit-appearance: none; 
    -moz-appearance: none; 
    appearance: none;
    font-family: var(--body-font); 
    border: 1px solid var(--primary-color); 
    padding: 10px 15px; 
    color: var(--primary-color); 
    font-size: 14px; 
    width: 100%;   
}
input:focus,
select:focus,
textarea:focus { 
    outline: 1px solid var(--primary-color); 
}
/* Edge */
input::placeholder,
select::placeholder,
textarea::placeholder { 
    color: var(--primary-color); 
    opacity: 0.8; 
}
input:-webkit-autofill, 
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus, 
input:-webkit-autofill:active {
 box-shadow: 0 0 0 30px white inset !important;
}
input[type="checkbox"] { 
    -webkit-appearance: checkbox; 
    -moz-appearance:checkbox; 
    appearance: checkbox; 
}
input[type="radio"] { 
    -webkit-appearance: radio; 
    -moz-appearance:radio; 
    appearance: radio; 
}
form label { 
    margin-bottom:10px; 
}
.container { 
    margin: 0 auto; 
    width: 1350px; 
    padding: 0 20px; 
}
.container-small {
    margin: 0 auto; 
    width: 1128px; 
    padding: 0 20px; 
}
.container-large {
    margin: 0 auto; 
    width: 1510px; 
    padding: 0 20px; 
}
.default-ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
details,
summary {
    outline: none;
}
details summary::-webkit-details-marker {
    display: none;
}
/* Base Css END */
/* ---------------------------- *  BUTTON STYLE * ---------------------------------- */
.button {
    display: inline-block;
    font-size: 14px;
    font-weight: 600;
    line-height: 20px;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    border: 2px solid var(--primary-color);
    color: var(--primary-color);
    padding: 16px 32px;
}
.button:hover, .button:focus {  
    background: var(--secondary-color);
    border: 2px solid var(--secondary-color);
    color: var(--white-color);
}
.button.white {
    border-color: var(--white-color);
    color: var(--white-color);
}
.button.white:hover, 
.button.white:focus {
    background: var(--secondary-color);
    border: 2px solid var(--secondary-color);
    color: var(--white-color);
}
.bg-cream {
    background-color: var(--cream-color); 
}
.bg-gray {
    background-color: var(--gray-color);
}
.bg-gray1 {
    background-color: #D3DCE4;
}
.object-fit img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}
/* ---------------------------- *  ALIGNMENT CLASS * ---------------------------------- */
.d-flex { display: flex; }
.d-grid { display: grid; }
.align-center { align-items: center; }
.align-start { align-items: flex-start; }
.align-end { align-items: flex-end; }
.align-self-start { align-self: flex-start; }
.justify-center { justify-content: center; }
.justify-right { justify-content: flex-end; }
.justify-space-between { justify-content: space-between; }
.justify-space-around { justify-content: space-around; }
.flex-wrap { flex-wrap: wrap; }
.flex-direction { flex-direction: column; }
/* Flex Class */
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }
.uppercase { text-transform: uppercase; }
.lowercase { text-transform: lowercase; }
.capitalize { text-transform: capitalize; }
/**** Text Color and Bg Color ****/
.text-white { color: #fff; }
.text-light-blue { color: #38a6de; }
.text-dark-blue { color: #18508d; }
body:not(.home) .bg-gray { background: #F4F5F7; }
/**** Spacing classes ****/
.ptb110 {
    padding-top: 110px;
    padding-bottom: 110px;
}
.ptb64 {
    padding-top: 64px;
    padding-bottom: 64px;
}
.ptb54 {
    padding-top: 54px;
    padding-bottom: 54px;
}
.ptb40 {
    padding-top: 40px;
    padding-bottom: 40px;
}
.ptb24 {
    padding-top: 24px;
    padding-bottom: 24px;
}
.mb130 {
    margin-bottom: 130px;
}
.mt130 {
    margin-top: 130px;
}
.mb100 {
    margin-bottom: 100px;
}
.mt100 {
    margin-top: 100px;
}
.mb80 {
    margin-bottom: 80px;
}
.mt80 {
    margin-top: 80px;
}
.mb60 {
    margin-bottom: 60px;
}
.mt60 {
    margin-top: 60px;
}
.mb50 {
    margin-bottom: 50px;
}
.mt50 {
    margin-top: 50px;
}
.mt40 {
    margin-top: 40px;
}
.mb40 {
    margin-bottom: 40px;
}
.mt24 {
    margin-top: 24px;
}
.section-title {
    margin-bottom: 32px;
}
.section-title h2 {
    padding-bottom: 40px;
    position: relative;
}
.section-title.title2 h2 {
    padding-bottom: 20px;
    margin-bottom: 48px;
}
.section-title h2:after {
    content: '';
    width: 192px;
    height: 8px;
    background: var(--secondary-color);
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}
.breadcrumb ul li {
    display: flex;
    align-items: center;
}
.breadcrumb ul li + li:before {
    content: '';
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-chevron-right'%3E%3Ctitle%3ERight%3C/title%3E%3Cpolyline points='9 18 15 12 9 6'%3E%3C/polyline%3E%3C/svg%3E");
    height: 12px;
    width: 12px;
    display: inline-block;
    background-size: 14px;
    margin: 0 3px; 
}
.breadcrumb.banner-bread ul li a,
.breadcrumb.banner-bread ul li span {
    color: var(--white-color);
}
.breadcrumb.banner-bread ul li a:hover { 
    text-decoration: underline;
}
.breadcrumb.banner-bread ul li + li:before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-chevron-right'%3E%3Ctitle%3ERight%3C/title%3E%3Cpolyline fill='%23 ' points='9 18 15 12 9 6'%3E%3C/polyline%3E%3C/svg%3E");
}
.ScrollToTop {
    height: 46px;
    width: 46px;
    border: 1px solid var(--primary-color);
    border-radius: 50%;
    cursor: pointer;
    right: 20px;
    bottom: 15px;
    position: fixed;
    background-image: url("data:image/svg+xml,%3Csvg version='1.0' xmlns='http://www.w3.org/2000/svg' width='18.000000pt' height='18.000000pt' viewBox='0 0 24.000000 24.000000' preserveAspectRatio='xMidYMid meet'%3E%3Cg transform='translate(0.000000,24.000000) scale(0.100000,-0.100000)' fill='%23024888' stroke='none'%3E%3Cpath d='M80 175 c-38 -39 -34 -61 5 -25 l25 23 0 -71 c0 -41 4 -72 10 -72 6 0 10 31 10 72 l0 71 25 -23 c39 -36 43 -14 5 25 -19 19 -37 35 -40 35 -3 0 -21 -16 -40 -35z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");
    background-size: 26px;
    background-position: center; 
    background-repeat: no-repeat;
    z-index: 9999;
    transition: all ease-in .25s;
}
.ScrollToTop:hover {
    background-image: url("data:image/svg+xml,%3Csvg version='1.0' xmlns='http://www.w3.org/2000/svg' width='18.000000pt' height='18.000000pt' viewBox='0 0 24.000000 24.000000' preserveAspectRatio='xMidYMid meet'%3E%3Cg transform='translate(0.000000,24.000000) scale(0.100000,-0.100000)' fill='%23ffffff' stroke='none'%3E%3Cpath d='M80 175 c-38 -39 -34 -61 5 -25 l25 23 0 -71 c0 -41 4 -72 10 -72 6 0 10 31 10 72 l0 71 25 -23 c39 -36 43 -14 5 25 -19 19 -37 35 -40 35 -3 0 -21 -16 -40 -35z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");
    background-color: var(--primary-color);
}
.link-effect {
    position: relative;
    display: inline-block;
}
.link-effect:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    bottom: 0;
    margin: -2px 0;
    background-color: var(--secondary-color);
    visibility: hidden;
    transform: scaleX(0);
    transition: all 0.4s ease-in-out 0s;
}
.link-effect:hover:before {
    visibility: visible;
    transform: scaleX(1);
}
.fancybox-is-open .fancybox-content {
    padding: 0 10px;
}
/*======= site-popup-start=======  */
.signup-popup-wrapper {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    backdrop-filter: blur(5px);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    z-index: 100;
    opacity: 0;
    visibility: hidden;
}
.signup-open .signup-popup-wrapper {
    opacity: 1;
    visibility: visible;
}
.image-with-signup-wrapper {
    max-width: 800px;
    width: 100%;
    position: fixed;
    top: 50%;
    left: 50%;
    right: 0;
    z-index: 100;
    transform: translate(-50%, -50%); 
}
.signup-popup-close {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.0' width='25' height='25' viewBox='0 0 512.000000 512.000000'%3E%3Cg transform='translate(0.000000,512.000000) scale(0.100000,-0.100000)' fill='currentColor' stroke='none'%3E%3Cpath d='M271 5109 c-104 -20 -194 -91 -239 -187 -22 -47 -27 -71 -27 -137 0 -155 -68 -78 1075 -1220 l1010 -1010 -1019 -1020 c-827 -829 -1022 -1029 -1041 -1070 -34 -71 -35 -199 -2 -270 29 -63 93 -129 157 -163 72 -37 187 -42 270 -12 58 22 94 56 1083 1044 l1022 1021 1018 -1016 c817 -816 1027 -1021 1067 -1040 42 -20 65 -24 145 -24 83 0 101 4 145 27 62 32 129 103 158 166 32 68 30 197 -3 267 -19 41 -214 241 -1041 1070 l-1019 1020 1010 1010 c1143 1142 1075 1065 1075 1220 0 65 -5 90 -26 135 -81 172 -284 242 -454 158 -26 -13 -391 -370 -1057 -1036 l-1018 -1017 -1017 1017 c-667 666 -1032 1023 -1058 1036 -34 17 -145 45 -164 41 -3 -1 -26 -5 -50 -10z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");
    height: 36px;
    width: 36px;
    background-repeat: no-repeat;
    background-position: center;
    margin-left: auto;
    background-size: 12px;
    position: absolute;
    top: 0;
    right: 0;
    padding: 10px;
    cursor: pointer;
}
.newsletter-title h4 {
    margin: 0 0 25px;
    font-weight: 600;
    line-height: 1.5;
    font-size: 25px;
}
.newsletter-content-inner>p {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
}
.signup-popup-wrapper .newsletter-form input[type="text"]::placeholder {
    color: var(--gray-color);
}
.signup-popup-wrapper .newsletter-form input[type="text"],
.signup-popup-wrapper .newsletter-form input[type="submit"] {
    border: 1px solid var(--primary-color);
}
input[type="submit" i] {
    background-color: var(--white-color);
}
.signup-popup-wrapper .newsletter-form .input-field,
.signup-popup-wrapper .newsletter-form .submit-field {
    width: 100%;
    padding: 0 0 15px 0;
}
.singup-wrapper {
    padding: 40px;
    background-color: var(--white-color);
}
.signup-popup-wrapper .newsletter-content-inner>p,
.signup-popup-wrapper .newsletter-content-inner {
    max-width: 100%;
}
.signup-popup-wrapper .signup-image,
.singup-wrapper { 
    flex: 0 0 50%;
}
.signup-image img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}
.signup-popup-wrapper .newsletter-form input[type="text"] {
    padding: 10px 15px;
}
.signup-popup-wrapper .newsletter-form input[type="submit"] {
    padding: 15px 15px;
}
.signup-popup-wrapper .social-icons ul {
    column-gap: 18px;
}
form.newsletter-form {
    margin-bottom: 20px;
}
/*======= site-popup-start=======  */
/**** Responsive Media Query ****/
@media screen and (max-width: 1600px) {
    .container-large, .container {
        width: 92%;
    }
}
@media screen and (max-width: 1365px) {
    .button {
        padding: 12px 24px;
    }
    .mb80 {
        margin-bottom: 60px;
    }
    .ptb64 {
        padding-top: 42px;
        padding-bottom: 42px;
    }
    .ptb110 {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    .mb130 {
        margin-bottom: 80px;
    }
    .mb60 {
        margin-bottom: 42px;
    }
    .mt50 {
        margin-top: 36px;
    }
    h1 {
        font-size: 56px;
        line-height: 90px;
    }
    h2 {
        font-size: 24px;
        line-height: 32px;
    }
    .section-title h2 {
        padding-bottom: 26px; 
    }
}
@media screen and (max-width: 1279px) {
    .container, .container-small {
        width: 100%;
    }
    .featured-collection.with-slider .collection-inner {
        margin: 0;
    }
    .section-title.title2 h2 { 
        margin-bottom: 32px;
    }
}
@media screen and (max-width: 1200px) {
    .singup-wrapper {
        padding: 25px;
    }
    [data-aos^=fade][data-aos^=fade] {
        opacity: 1;
        transition-property: none;
    }
    [data-aos=fade-up] {
        transform: none;
    }
    .ScrollToTop {
        background-color: var(--white-color);
    }
}

@media screen and (max-width: 1023px) {
    h1, h2, h3, h4, h5, h6 {
        margin-bottom: 12px;
    }  
    h1 { font-size: 60px; line-height: 80px; }
    h2 { font-size: 26px; line-height: 34px; }
    h3 { font-size: 24px; line-height: 30px; }
    h4 { font-size: 20px; line-height: 28px; }
    h5 { font-size: 18px; line-height: 26px; }
    h6 { font-size: 14px; line-height: 20px; }
    p {
        margin-bottom: 20px;
    }
    .mb40 {
        margin-bottom: 24px;
    }
    .image-with-signup-wrapper {
        max-width: 92%;
    }
}
@media screen and (max-width: 950px) { 
    .mb50 {
        margin-bottom: 30px;
    }
}
@media screen and (max-width: 767px) {
   .ScrollToTop {
        height: 38px;
        width: 38px; 
        background-size: 24px;
    }
    h1 {
        font-size: 42px;
        line-height: 54px;
    }
    .ptb110 {
        padding-top: 40px;
        padding-bottom: 40px;
    }
    .ptb64 {
        padding-top: 30px;
        padding-bottom: 30px;
    }
    .ptb40 {
        padding-top: 24px;
        padding-bottom: 24px;
    }
    .mb60 {
        margin-bottom: 28px;
    }
    .container-large, .container {
        width: 100%;
    }
    .image-with-signup-wrapper {
        max-width: 95vw;
        max-height: 85vh;
    }
    .signup-popup-wrapper .signup-image,
    .singup-wrapper { 
        flex: 0 0 100%;
    }
    .newsletter-title h4 {
        margin: 0 0 15px;
        font-weight: 600;
        line-height: 1.2;
        font-size: 20px;
    }
}