/*
===============================================
	COMMON.CSS
	----------
	- This CSS file is same for all pages.
===============================================
*/

/* Resets */
* {
    margin: 0;
    padding: 0;
    text-decoration: none;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.hidethis {
    display: none !important;
}

html{
    overflow-x: hidden;
}

/* Default CSS */

body {
    position: relative;
    overflow-x: hidden;
    background: #ffffff !important;
}

body, button, input, select, textarea {
    font-family: "Roboto", sans-serif !important;
    font-weight: 400;
    font-style: normal;
    color: #0D142F;
}

body h1, h2, h3, h4, h5{
    color: #0D142F;
}

body.stop-mouse-scroll {
    overflow: hidden;
}

.hidethis {
    display: none !important;
}

body .site-content{
    flex-wrap: wrap;
}

body .text-center{
    text-align: center;
}

body .grid-container{
    max-width: 100%;
}

body .custom-page-section:not(.full-width-section){
    padding: 0 20px;
}

body .custom-page-section:not(.full-width-section).grid-width{
    display: block;
    width: 100%;
    padding: 0 100px;
    margin: 0 auto;
}

body .custom-page-section:not(.full-width-section).large-grid-width{
    display: block;
    width: 100%;
    padding: 0 20px;
    margin: 0 auto;
}

body .custom-page-section:not(.full-width-section).small-grid-width{
    display: block;
    width: 100%;
    padding: 0 20px;
    margin: 0 auto;
}

body .custom-page-section:not(.full-width-section) > div,
body .custom-page-section:not(.full-width-section).grid-width > div,
body .custom-page-section:not(.full-width-section).large-grid-width > div{
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
    margin-left: auto !important;
    margin-right: auto !important;
}

body .custom-page-section:not(.full-width-section).small-grid-width > div{
    position: relative;
    max-width: 760px;
    margin: 0 auto;
    margin-left: auto !important;
    margin-right: auto !important;
}

body .show-desktop{
    display: block !important;
}

body .show-mobile{
    display: none !important;
}

/* Headings and default texts */

body .mega-mega-main-heading h1,
body .mega-mega-main-heading h2 {
    font-size: 60px;
    font-weight: 700;
    line-height: 120%;
    margin-bottom: 20px;
	color: #0D142F;
}

body .mega-main-heading h1,
body .mega-main-heading h2 {
    font-size: 46px;
    font-weight: 400;
    line-height: 120%;
    margin-bottom: 20px;
    color: #0D142F;
}

body .main-heading h1,
body .main-heading h2 {
    font-size: 34px;
    font-weight: 400;
    line-height: 130%;
    margin-bottom: 20px;
    color: #0D142F;
}

body .main-heading-2 h2 {
    font-size: 30px;
	font-weight: 700;
    line-height: 130%;
    margin-bottom: 20px;
	color: #0D142F;
}

body h2,
body .sub-heading h2 {
    font-size: 26px;
    line-height: 130%;
    margin-bottom: 20px;
	color: #0D142F;
}

body h3,
body .sub-heading-2 h3,
body .sub-heading-2 h3 ul li {
    font-size: 22px;
    line-height: 140%;
    margin-bottom: 15px;
	color: #0D142F;
}

body h4,
body .sub-heading-3 h4,
body .sub-heading-3 h4 ul li {
    font-size: 18px;
    line-height: 130%;
    margin-bottom: 15px;
	color: #0D142F;
}

body p {
    font-size: 16px;
    font-weight: 400;
    line-height: 140%;
    color: #0D142F;
}

body ul li,
body ol li {
    font-size: 16px;
    font-weight: 400;
    line-height: 140%;
    color: #0D142F;
    margin-bottom: 15px;
}

body .para-text p {
    font-size: 16px;
    font-weight: 400;
    line-height: 140%;
    color: #0D142F;
    font-weight: 400;
    margin-bottom: 20px;
}

body .small-text p,
body .small-text ul li,
body .small-text ol li{
    font-size: 14px;
    line-height: 140%;
    color: #0D142F;
    font-weight: 400;
    margin-bottom: 15px;
}

body .smallest-text p,
body .smallest-text ul li,
body .smallest-text ol li{
    font-size: 12px;
    line-height: 140%;
    color: #0D142F;
    font-weight: 400;
    margin-bottom: 15px;
}

body .smallest-text-2 p {
    font-size: 9px;
    line-height: 140%;
    color: #0D142F;
    font-weight: 400;
    margin-bottom: 15px;
}

body strong {
    color: #0D142F;
    font-weight: 500;
}

body .compass-font{
    font-family: "Compass Sans", sans-serif !important;
    font-weight: 400 !important;
}

body .text-uppercase{
    text-transform: uppercase;
}

body .grey-text,
body .grey-text p,
body .grey-text p > *,
body .grey-text h1,
body .grey-text h2,
body .grey-text h3,
body .grey-text strong,
body .grey-text ol li,
body .grey-text ul li{
    color: #7F7F7F;
}

body .blue-text,
body .blue-text p,
body .blue-text p > *,
body .blue-text h1,
body .blue-text h2,
body .blue-text h3,
body .blue-text strong,
body .blue-text ol li,
body .blue-text ul li{
    color: #254371;
}

body .green-text,
body .green-text p,
body .green-text p > *,
body .green-text h1,
body .green-text h2,
body .green-text h3,
body .green-text strong,
body .green-text ol li,
body .green-text ul li{
    color: #2f7d6d;
}

body .white-text,
body .white-text p,
body .white-text p > *,
body .white-text h1,
body .white-text h2,
body .white-text h3,
body .white-text strong,
body .white-text ol li,
body .white-text ul li{
    color: #fff;
}

body a{
    color: #254371;
}

body .main-cta a{
    position: relative;
    display: inline-block;
    font-size: 18px !important;
    font-weight: 700 !important;
    background: #329cc5;
    color: #FFFFFF !important;
    border-radius: 40px !important;
    padding: 18px 20px !important;
    line-height: 100% !important;
    text-decoration: none;
    letter-spacing: 0.4px;
    width: fit-content;
    text-transform: uppercase !important;
    min-width: 160px !important;
    text-align: center;
    transition: 0.3s;
    text-transform: initial !important;
}

body .main-cta.white-cta a{
    background: #ffffff;
}

body .main-cta.blue-cta a{
    background: 329cc5;
    color: #FFFFFF !important;
}

body .main-cta.outline-cta a{
    background: transparent !important;
    color: #1A4359 !important;
    border: 2px solid #F04444;
}

body .main-cta.outline-cta.white-cta a{
	border: 2px solid #FFF;
	color: #FFF !important;
}

body .main-cta.elementor-widget-pp-buttons > .elementor-widget-container{
	border: none !important;
}

body .main-cta.elementor-widget-pp-buttons a{
	min-width: 200px !important;
}

body .main-cta a:hover,
body .header-main-cta a:hover,
body .main-cta.outline-cta a:hover,
body .main-cta.outline-cta.white-cta a:hover{
    background: #003f50 !important;
    border-color: #003f50 !important;
    color: #FFFFFF !important;
    transition: 0.3s;
}

body #main .align-center{
    align-items: center !important;
}

body #main .text-center{
    display: block;
    text-align: center;
}

/* Plan CSS */

body .plan-main{
	box-shadow: 0 2px 40px rgba(0, 0, 0, 0.08);
	border-radius: 20px;
	padding: 20px 14px;
}

body .plan-main .plan-offer{
	overflow: hidden;
	top: 0px;
	left: -15px;
	margin-top: -20px;
}

body .plan-main .plan-offer p{
	position: relative;
	background: #2f7d6d;
	max-width: 150px;
	padding: 4px 10px;
	color: #FFF;
	border-radius: 20px 0px 20px;
	padding-left: 14px;
	font-weight: 500;
}

body .plan-main .plan-name h2{
	color: #2f7d6d;
	font-weight: 700;
}

body .plan-main .plan-price p{
	margin-bottom: 4px;
}

body .plan-main .plan-desc ul li{
	list-style: disc;
	margin-left: 15px;
	margin-bottom: 5px;
}

body .plan-main .main-cta a{
	font-size: 14px !important;
	width: 100%;
	padding: 12px 20px !important;
	margin-top: 20px;
	background: #2f7d6d;
}

body .plan-main.monthly .plan-offer p{
	background: #23718d;
}

body .plan-main.monthly .plan-name h2{
	color: #23718d;
}

body .plan-main.monthly .main-cta a{
	background: #23718d;
}

body .custom-icon-box h3.elementor-image-box-title{
	font-size: 15px !important;
	margin-bottom: 10px;
	margin-top: 0px;
}

body .custom-icon-box p.elementor-image-box-description{
	font-size: 13px !important;
	/* max-width: 260px; */
	color: #7F7F7F !important;
}

/* Smaller Screen Desktops */
@media only screen and (max-width: 1280px) {
    
    body .custom-page-section:not(.full-width-section){
        padding: 0px 2%;
    }
    
}

/* Mid Large Screen Desktops */
@media only screen and (min-width: 1440px) {

    body .custom-page-section:not(.full-width-section){
        padding: 0px 8%;
    }

}

/* Large Screen Desktops */
@media only screen and (min-width: 1920px) {

    body .custom-page-section:not(.full-width-section){
        padding: 0px 14%;
    }
    
}

/* iPads (portrait and landscape) ----------- */
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {

    body .custom-page-section:not(.full-width-section){
        padding: 0px 20px;
    }

    body .mega-mega-main-heading h1,
    body .mega-mega-main-heading h2 {
        font-size: 48px;
    }

    body .mega-main-heading h1,
    body .mega-main-heading h2 {
        font-size: 40px;
    }

    body .mega-main-heading-2 h1,
    body .mega-main-heading-2 h2 {
        font-size: 30px;
    }

    body .main-heading h1,
    body .main-heading h2{
        font-size: 28px;
    }

    body .main-heading-2 h2{
        font-size: 26px;
    }

    body h2, body .sub-heading h2{
        font-size: 22px;
    }

    body h3, body .sub-heading-2 h3,
    body .sub-heading-2 h3 ul li{
        font-size: 20px;
    }

    body .custom-page-section:not(.full-width-section).grid-width{
        padding: 0 60px;
    }
}

/* iPads (landscape) ----------- */
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) {
    
}

/* iPads (portrait) ----------- */
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) {

    body .show-desktop{
        display: none !important;
    }
    
    body .show-mobile{
        display: block !important;
    }

    body .custom-page-section:not(.full-width-section){
        padding: 0px 20px;
	}
}

/* Mobile Devices */
@media only screen and (max-width: 765px) {

    body .show-desktop{
        display: none !important;
    }
    
    body .show-mobile{
        display: block !important;
    }

    body .custom-page-section:not(.full-width-section){
        padding: 0px 20px;
	}

    body .mega-mega-main-heading h1,
    body .mega-mega-main-heading h2 {
        font-size: 48px;
    }

    body .mega-main-heading h1,
    body .mega-main-heading h2 {
        font-size: 34px;
    }

    body .mega-main-heading-2 h1,
    body .mega-main-heading-2 h2 {
        font-size: 30px;
    }

    body .main-heading h1,
    body .main-heading h2{
        font-size: 28px;
    }

    body .main-heading-2 h2{
        font-size: 26px;
    }

    body h2, body .sub-heading h2{
        font-size: 22px;
    }

    body h3, body .sub-heading-2 h3,
    body .sub-heading-2 h3 ul li{
        font-size: 18px;
    }

	body .main-cta.elementor-widget-pp-buttons a{
		width: 100% !important;
		padding: 16px 20px !important;
	}

	body .custom-icon-box h3.elementor-image-box-title{
		margin-top: 20px;
	}

	body .custom-icon-box .elementor-image-box-img{
		text-align: center;
		display: flex;
		justify-content: center;
	}

}