/* Fonts */
* { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
html { font-family: sans-serif; }
body { text-rendering: optimizeLegibility; line-height: 1.7; }
.xxxxl-font-size { font-size: 362.5%; }
.xxxl-font-size { font-size: 300%; }
.xxl-font-size { font-size: 235%; }
h1, .xl-font-size { font-size: 220%; }
h2, .lg-font-size { font-size: 180%; }
h3, .md-font-size { font-size: 150%; }
h4, .base-plus-font-size { font-size: 112.5%; }
.base-font-size { font-size: 100%; }
h5, .sm-font-size { font-size: 87.5%; }
h6, .xs-font-size { font-size: 70%; }
.font-weight__100 { font-weight: 100; }
.font-weight__300 { font-weight: 300; }
.font-weight__400 { font-weight: 400; }
.font-weight__500 { font-weight: 500; }
.font-weight__600 { font-weight: 600; }
.font-weight__700 { font-weight: 700; }
.font-weight__900 { font-weight: 900; letter-spacing: 1.25px; }
@media screen and (max-width: 991px) {
    .xxxxl-font-size { font-size: 300%; }
    .xxxl-font-size { font-size: 255%; }
    .xxl-font-size { font-size: 225%; }
    .xl-font-size { font-size: 180%; }
    .lg-font-size { font-size: 160%; }
    .md-font-size { font-size: 150%; }
}
@media screen and (max-width: 767px) {
    .xxxxl-font-size { font-size: 300%; }
    .xxxl-font-size { font-size: 225%; }
    .xxl-font-size { font-size: 200%; }
    .xl-font-size { font-size: 180%; }
    .base-plus-font-size { font-size: 105%; }
}
@media screen and (max-width: 567px) {
    .xxxxl-font-size { font-size: 225%; }
    .xxxl-font-size { font-size: 200%; }
    .xxl-font-size { font-size: 180%; }
    .xl-font-size { font-size: 160%; }
    .lg-font-size { font-size: 150%; }
    .md-font-size { font-size: 125%; }
}

img[class*="align"], img[class*="wp-image-"] {
    width: auto;
    height: auto;
}

/* Buttons */
.btn-full { width: 100%; }

.btn-rounded, .btn-lg.btn-rounded { border-radius: 50px; }
.btn-sm.btn-rounded { border-radius: 25px; }

.btn-shadow { position: relative; outline: none; border: none; -webkit-appearance: none; -webkit-tap-highlight-color: transparent; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; z-index: 3; }
.btn-shadow::before { content: ""; position: absolute; z-index: -1; bottom: -10%; left: 5%; height: 110%; width: 90%; opacity: 0.499; border-radius: inherit; background: inherit; -webkit-filter: blur(6px); -moz-filter: blur(6px); -o-filter: blur(6px); -ms-filter: blur(6px); filter: blur(6px); -webkit-transition: all 0.1s; transition: all 0.1s; }
.btn-shadow:hover::before { -webkit-filter: blur(4px); -moz-filter: blur(4px); -o-filter: blur(4px); -ms-filter: blur(4px); filter: blur(4px); width: 100%; bottom: -5%; left: 0; }
.btn-shadow:hover:active::before,
.btn-shadow:hover:focus::before { -webkit-filter: blur(10px); -moz-filter: blur(10px); -o-filter: blur(10px); -ms-filter: blur(10px); filter: blur(10px); }
@supports (-ms-ime-align: auto) {
    .btn-shadow::before, .btn-shadow:hover::before, .btn-shadow:active::before { display: none; }
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    .btn-shadow::before, .btn-shadow:hover::before, .btn-shadow:active::before { display: none; }
}

.btn-lift-up:hover { transform: translateY(-1px); box-shadow: 0 7px 14px rgba(50, 50, 93, 0.1), 0 3px 6px rgba(0, 0, 0, 0.08); }

.a-line { position: relative; border-width: 0; }
.a-line::before { content: ""; position: absolute; bottom: -5px; left: 0; width: 100%; height: 0; border-bottom: 2px solid transparent; border-bottom-color: inherit; -webkit-transition: all 0.4s ease; -o-transition: all 0.4s ease; transition: all 0.4s ease; }
.nav-link.a-line::before, .btn.a-line::before { bottom: .5rem; }
.a-line:hover::before { border-bottom-color: inherit; }
.a-line-animate-1::before { width: 0; opacity: 0; }
.a-line-animate-1:hover::before { width: 100%; opacity: 1; }
.a-line-animate-2::before { transform: scaleX(0); opacity: 0; }
.a-line-animate-2:hover::before { transform: scaleX(1); opacity: 1; }
@media screen and (max-width: 991px) {
    .nav-link.a-line-animate-1::before, .nav-link.a-line-animate-2::before { display: none; }
}

/* Theme Specific */
body { overflow-x: hidden; }
body,
.font-family-primary {
  font-family: 'Open Sans', sans-serif;
  line-height: 1.7;
}
a,
a:hover,
a:focus {
  text-decoration: none;
}
h1,
h2,
h3,
h4,
h5,
h6,
.font-family-secondary {
  font-family: 'Montserrat', sans-serif;
}

strong { font-weight: 700; }

/* Logo */
.logo img {
  width: 100%;
}
.logo img.logo-img {
  max-width: 180px;
}
.logo img.logo-icon {
  max-width: 40px;
}

/* Article */
article h1 { margin-bottom: 1em; }
article h2 { margin-top: 1em; margin-bottom: 0.5em; }
article h3 { margin-top: 1em; margin-bottom: 0.5em; }
article h4 { margin-top: 1em; margin-bottom: 0.5em; }
article h5 { margin-top: 1em; margin-bottom: 0.5em; }
article h6 { margin-top: 1em; margin-bottom: 0.5em; }
article p { margin-bottom: 2em; font-size: 1.10em; }
article ul { margin-bottom: 2em; }
article li { margin-bottom: 0.50em; font-size: 1.10em; }
article a { text-decoration: underline; }
article .outline figure { margin: 0; }
article .outline { border: 1px solid #cdcdcd; }
article h1 a, article h2 a, article h3 a, article h4 a, article h5 a, article h6 a, article a.btn { text-decoration: none; }

article hr { margin-top: 2em; margin-bottom: 2em; }

article .date { margin: -1em 0 2em 0; font-size: 0.90em; text-align: center; }
article .date a { font-weight: inherit; color: inherit; text-decoration: none; }

body.plugins article figure.aligncenter { border: 1px solid #dee2e6 !important; }

.alignleft { margin-block-start: 0; margin-block-end: 0; }
.alignright { margin-block-start: 0; margin-block-end: 0; }

@media only screen and (max-width:767px) {
    .alignleft { margin: 2em auto !important; float: none !important; }
    .alignright { margin: 2em auto !important; float: none !important; }
}

/* Block Styles */
.alignfull {
	width: 100vw;
	max-width: 100vw;
    margin-top: 2em !important;
	margin-left: calc(50% - 50vw);
}

@media screen and (max-width: 600px) {
	.alignfull {
        width: 100%;
        max-width: 100%;
        margin: inherit;
    }
}

@media screen and (min-width: 600px) {
	.alignfull {
		max-width: calc(100vw - 2 * 2rem);
		margin-left: calc(50% - 50vw + 2rem);
	}
}
@media screen and (min-width: 1344px) {
	.alignfull {
		max-width: 1280px;
		margin-left: calc(50% - 1280px / 2);
	}
}
.alignwide { margin : 3em -150px !important; max-width : 70em; }
.wp-block-image { margin-top: 3em; margin-bottom: 3em; }
.wp-block-separator { margin: 3em auto; }
.wp-block-button a:hover { filter: brightness(115%); }

@media only screen and (max-width: 920px) {
    .alignwide { margin: 2em calc(50% - 50vw); max-width: 100vw; width: 100vw; }
}

@media only screen and (max-width: 920px) {
    .alignwide { margin: 2em 0 !important; max-width: 100%; width: 100%; }
    body.page-id-249 figure.wp-block-image { margin: -2em auto 0 auto; width: 65%; height: 65%; }
}

/* Footer */
.footer-logo__img { width: 200px; }
@media screen and (max-width: 768px) {
    footer .col { margin-top: 1em;  flex-basis: 50%; }
}

/* Easy Digital Downloads - Checkout */
#edd_checkout_wrap legend { margin-bottom: 0; }
#edd_checkout_wrap fieldset, #edd_checkout_form_wrap #edd_payment_mode_select, #edd_checkout_wrap #edd_checkout_cart { margin-bottom: 2.5em; }
#edd_checkout_wrap fieldset p { margin-bottom: 1.75em; }
#edd_checkout_wrap fieldset p#edd-card-state-wrap { margin-bottom: 0; }
#edd_checkout_wrap fieldset { background-color: transparent !important; }
#edd_checkout_wrap .edd-input { width: 100% !important; border: 1px solid #cccccc; }
.edd_form .edd-select { width: 100% !important; padding: 4px 6px; border: 1px solid #cccccc; border-radius: 0px; background-color: #ffffff; -webkit-appearance: none; -moz-appearance: none; appearance: none;}
.edd_form .StripeElement { border: 1px solid #cccccc; padding: 10px 12px; }
#edd-purchase-button { display: block !important; margin: 1.0em auto !important; padding: .5em 2.5em; font-family: 'Montserrat', sans-serif; font-size: 135% !important; font-weight: bold; text-transform: uppercase; }
.edd-apply-discount { margin-top: -2px !important; height: 40px !important; }

/* Easy Digital Downloads - Purchase Confirmation */
#edd_purchase_receipt { width: auto !important; }
#edd_purchase_receipt tr td:first-of-type { padding-right: 2em; }
.edd_purchase_receipt_files { margin: 0.5em 0 !important; }
.edd_purchase_receipt_files li { margin: 0 !important; padding: 0 !important; }
.edd_download_file_link { padding: 8px 16px; border-radius: 4px; }

/* Easy Digital Downloads - Login Form */
#edd_login_form fieldset { margin-bottom: 2em; }
#edd_login_form label { margin-bottom: 6px !important; display: block; font-size: 1.0em; font-weight: bold; }
#edd_login_form input[type="text"], #edd_login_form input[type="email"], #edd_login_form input[type="password"] { padding: 2px 6px !important; width: 50% !important; }
#edd_login_submit { margin: 0.5em auto !important; padding: .5em 2.5em; font-family: 'Montserrat', sans-serif; font-size: 135% !important; font-weight: bold; text-transform: uppercase; }

/* Easy Digital Downloads - Account */
.edd_sl_table { width: 100%; margin-bottom: 2em; }
.edd_sl_table th { line-height: 1.7; font-size: 100%; border-collapse: collapse; color: #555555; box-sizing: border-box; -webkit-font-smoothing: antialiased; text-align: left; padding: 8px 5px; border-bottom: 1px solid #f0f0f0; border-top: none; font-weight: 700; background: #f5f5f5; }
.edd_sl_table td { text-align: left; padding: 8px 5px; border-bottom: 1px solid #f0f0f0; border-top: none; vertical-align: top; }
table#edd_sl_license_keys th, tr.edd_download_history_row th, #edd_purchase_receipt th, #edd_sl_license_sites th { width: 50% !important; }
table#edd_purchase_receipt, table#edd_subscription_receipt { width: 100% !important; }

#edd_sl_license_add_site_form .edd-input { padding: 2px 6px !important; width: 100% !important; border: 1px solid #cccccc; }
#edd_sl_license_add_site_form .edd-submit { margin-top: 1em; padding: .5em 1.5em; font-family: 'Montserrat', sans-serif;
    font-weight: bold;
    text-transform: uppercase; }

#edd_user_history { margin-bottom: 2em; }
#edd_user_history th, #edd_user_history td { padding: 8px 5px; }

#edd_profile_editor_form fieldset { margin-top: 1em; }
#edd_profile_editor_form fieldset p { margin-bottom: 1.75em; }
#edd_profile_editor_form label { margin-bottom: 6px !important; display: block; font-size: 1.0em; font-weight: bold; }
#edd_profile_editor_form input[type="text"], #edd_profile_editor_form input[type="email"], #edd_profile_editor_form input[type="password"], #edd_profile_editor_form .edd-select { padding: 2px 6px !important; width: 50% !important; border: 1px solid #cccccc; }
#edd_profile_editor_submit { margin: 0 auto !important; padding: .5em 1.5em; font-family: 'Montserrat', sans-serif; font-weight: bold; text-transform: uppercase; }

/* Easy Digital Downloads - Tabbed Account Area */
.taa-account-tabs { padding: 0; }
#edd_license_keys_title, #edd_subscriptions_title, #purchase_history_title, #download_history_title, #edd_profile_editor_title { display: none !important; }
.taa-tab-content .edd_sl_license_row .edd_sl_license_key { width: 100% !important; border: none !important; }

/* Gravity Forms */
.ginput_container_textarea textarea { border: 1px solid #cccccc; }
.gform_button { margin: 0.5em auto !important; padding: .75em 2.5em; font-family: 'Montserrat', sans-serif; font-size: 135% !important; font-weight: bold; text-transform: uppercase; }

/* Pricing Table */  
.pricing .card { border: 1px solid rgba(0, 0, 0, 0.1); border-radius: 1rem; transition: all 0.2s; box-shadow: 0 0.5rem 1rem 0 rgba(0, 0, 0, 0.1); font-family: 'Open Sans', sans-serif; }
.pricing hr { margin: 1.5rem 0; }
.pricing .card-title { margin: 0.5rem 0; font-family: 'Montserrat', sans-serif; font-size: 0.9rem; letter-spacing: .1rem; font-weight: bold; }
.pricing .card-price { font-family: 'Montserrat', sans-serif; font-size: 3rem; font-weight: bold; margin: 0; }
.pricing .card-price sup { margin-right: 5px; font-size: 1.5rem; }
.pricing .card-price .period { font-size: 1rem; }
.pricing ul li { margin-bottom: 0.9rem; font-size: 0.9rem; }
.pricing .text-muted { opacity: 0.7; }
.pricing .btn { font-size: 80%; border-radius: 5rem; border: 0px; font-size: 1.15em; font-weight: bold; padding: 1rem; transition: all 0.2s; }
@media (min-width: 992px) {
    .pricing .card:hover { margin-top: -.25rem; margin-bottom: .25rem; box-shadow: 0 0.5rem 1rem 0 rgba(0, 0, 0, 0.3); }
    .pricing .card:hover .btn { opacity: 1; }
}