/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Template: astra
Author: Brainstorm Force
Author URI: https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme
Description: Astra is fast, fully customizable &amp; beautiful WordPress theme suitable for blog, personal portfolio, business website and WooCommerce storefront. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with Schema.org code integrated and is Native AMP ready so search engines will love your site. It offers special features and templates so it works perfectly with all page builders like Elementor, Beaver Builder, Visual Composer, SiteOrigin, Divi, etc. Some of the other features: # WooCommerce Ready # Responsive # RTL &amp; Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained &amp; Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and WooCommerce ready theme that you can use for building any kind of website!
Tags: custom-menu,custom-logo,entertainment,one-column,two-columns,left-sidebar,e-commerce,right-sidebar,custom-colors,editor-style,featured-images,full-width-template,microformats,post-formats,rtl-language-support,theme-options,threaded-comments,translation-ready,blog
Version: 4.1.3.1682084764
Updated: 2023-04-21 13:46:04

*/


/* ================================================================
 * Visual refresh: header, lower sections, footer
 * Append to the END of assets/portal/portal.css (or the astra-child style.css).
 * Uses the existing --aip-* tokens, so each municipality's primary colour still applies.
 * ================================================================ */

:root {
	--aip-shadow-sm: 0 1px 2px rgba(19, 50, 74, 0.06), 0 1px 1px rgba(19, 50, 74, 0.04);
	--aip-shadow-md: 0 6px 20px rgba(19, 50, 74, 0.08);
}

/* ---------------------------------------------------------------- header */

.aip-site-header {
	position: sticky;
	top: 0;
	background: rgba(255, 255, 255, 0.92);
	-webkit-backdrop-filter: saturate(160%) blur(10px);
	backdrop-filter: saturate(160%) blur(10px);
	border-top: 4px solid var(--aip-primary);
	box-shadow: var(--aip-shadow-sm);
}
html:has(body.aip-portal) { scroll-padding-top: 100px; } /* anchors land below the sticky header */
.admin-bar .aip-site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .aip-site-header { top: 0; position: relative; } }

.aip-header-row { min-height: 80px; }

/* Logo | org + title, separated by a hairline (the plugin hides the org line when it equals the title) */
.aip-brand { gap: 16px; flex-shrink: 0; }
.aip-header-row { gap: 20px; }
.aip-nav { gap: 14px; }
.aip-brand-logo { height: 50px; }
.aip-brand-text { padding-left: 16px; border-left: 1px solid var(--aip-line); }
.aip-brand-org { font-size: 0.8rem; }
.aip-brand-title { font-size: 0.8rem; font-weight: 300; letter-spacing: -0.015em; }

/* Nav: soft pill for the current page instead of the underline */
.aip-nav-list { gap: 2px; }
.aip-nav-list a { padding: 8px 12px; border-radius: 999px; font-weight: 540; transition: background .15s, color .15s; }
.aip-nav-list .current-menu-item > a,
.aip-nav-list .current_page_item > a {
	background: var(--aip-tint);
	color: var(--aip-primary-dark);
	box-shadow: none;
	border-radius: 999px;
	font-weight: 650;
}

/* Account: login / logout as a quiet outlined button */
.aip-account a {
	display: inline-flex; align-items: center;
	padding: 7px 16px; border-radius: 999px;
	border: 1.5px solid var(--aip-line);
	text-decoration: none; font-weight: 600;
	transition: border-color .15s, background .15s;
}
.aip-account a:hover { border-color: var(--aip-primary); background: var(--aip-tint); }

@media (max-width: 1180px) {
	.aip-nav { border-top: 1px solid var(--aip-line); }
	.aip-nav-list a { border-radius: 10px; }
	.aip-nav-list .current-menu-item > a { border-radius: 10px; }
	.aip-account a { width: 100%; justify-content: center; }
}
@media (max-width: 600px) {
	.aip-header-row { min-height: 64px; }
	.aip-brand { gap: 10px; }
	.aip-brand-logo { height: 36px; }
	.aip-brand-text { padding-left: 10px; }
}

/* ---------------------------------------------------------------- sections */

.aip-section { padding: 72px 0; }
.aip-section + .aip-section { border-top: 0; }
.aip-portal .aip-section h2 { position: relative; padding-bottom: 14px; margin-bottom: 1.75rem; }
.aip-portal .aip-section h2::after {
	content: ""; position: absolute; left: 0; bottom: 0;
	width: 44px; height: 3px; border-radius: 3px; background: var(--aip-primary);
}
/* alternate bands so the page reads as distinct blocks */
.aip-how, .aip-faq { background: var(--aip-paper); }

/* My applications: card table */
.aip-portal table.aip-mine {
	width: 100%; border-collapse: separate; border-spacing: 0;
	background: var(--aip-white);
	border: 1px solid var(--aip-line); border-radius: var(--aip-radius);
	overflow: hidden; box-shadow: var(--aip-shadow-sm);
}
.aip-portal table.aip-mine th {
	background: var(--aip-paper); color: var(--aip-ink-soft);
	font-size: 0.8rem; font-weight: 650; text-transform: uppercase; letter-spacing: .04em;
	text-align: left; padding: 14px 18px; border: 0; border-bottom: 1px solid var(--aip-line);
}
.aip-portal table.aip-mine td { padding: 16px 18px; border: 0; border-bottom: 1px solid var(--aip-line); vertical-align: middle; }
.aip-portal table.aip-mine tbody tr:last-child td { border-bottom: 0; }
.aip-portal table.aip-mine tbody tr:hover td { background: #fafcfd; }
.aip-portal table.aip-mine td:first-child { color: var(--aip-ink-soft); font-variant-numeric: tabular-nums; }
.aip-portal table.aip-mine td:nth-child(2) { font-weight: 620; }
.aip-row-actions { text-align: right; white-space: nowrap; }
.aip-row-actions a {
	display: inline-block; margin-left: 6px; padding: 6px 14px; border-radius: 999px;
	border: 1.5px solid var(--aip-line); text-decoration: none; font-weight: 600; font-size: 0.92rem;
}
.aip-row-actions a:first-child { background: var(--aip-primary); border-color: var(--aip-primary); color: #fff; }
.aip-row-actions a:first-child:hover { background: var(--aip-primary-dark); border-color: var(--aip-primary-dark); color: #fff; }
.aip-row-actions a:hover { border-color: var(--aip-primary); }

@media (max-width: 760px) {
	/* stack the table into cards on phones */
	.aip-portal table.aip-mine thead { display: none; }
	.aip-portal table.aip-mine, .aip-portal table.aip-mine tbody,
	.aip-portal table.aip-mine tr, .aip-portal table.aip-mine td { display: block; width: 100%; }
	.aip-portal table.aip-mine tr { padding: 14px 16px; border-bottom: 1px solid var(--aip-line); }
	.aip-portal table.aip-mine tbody tr:last-child { border-bottom: 0; }
	.aip-portal table.aip-mine td { border: 0; padding: 3px 0; }
	.aip-row-actions { text-align: left; padding-top: 10px !important; }
	.aip-row-actions a { margin: 0 6px 0 0; }
}

/* How to apply: steps as cards */
.aip-steps { gap: 20px; }
.aip-steps li {
	background: var(--aip-white); border: 1px solid var(--aip-line);
	border-radius: var(--aip-radius); padding: 24px 22px; box-shadow: var(--aip-shadow-sm);
}
.aip-steps li:not(:last-child)::after { display: none; }
.aip-steps li::before { background: var(--aip-primary); color: #fff; border-color: var(--aip-primary); width: 42px; height: 42px; font-size: 1.05rem; }
.aip-steps h3 { margin-bottom: 4px; }
@media (max-width: 600px) {
	.aip-steps li { padding: 18px; }
}

/* Before you apply: link cards */
.aip-links { border-top: 0; display: grid; gap: 12px; }
.aip-links li { border-bottom: 0; }
.aip-links a {
	padding: 20px 22px; background: var(--aip-white);
	border: 1px solid var(--aip-line); border-radius: var(--aip-radius);
	transition: border-color .15s, box-shadow .15s, transform .15s;
}
.aip-links a:hover { border-color: var(--aip-primary); box-shadow: var(--aip-shadow-md); transform: translateY(-1px); }
.aip-links a:hover .aip-link-title { text-decoration: none; }
.aip-link-title { font-size: 1.12rem; }

/* Help box: calmer, readable long text */
.aip-contact {
	background: var(--aip-white); border: 1px solid var(--aip-line);
	border-top: 4px solid var(--aip-primary); box-shadow: var(--aip-shadow-md);
}
.aip-contact dl { grid-template-columns: 1fr; gap: 2px; }
.aip-contact dt {
	font-size: 0.78rem; font-weight: 650; text-transform: uppercase; letter-spacing: .05em;
	margin-top: 14px;
}
.aip-contact dt:first-child { margin-top: 0; }
.aip-contact dd { font-weight: 450; font-size: 0.95rem; line-height: 1.55; }
.aip-contact dd a { font-size: 1.05rem; }

/* FAQ: separated cards */
.aip-faq details {
	background: var(--aip-white); border: 1px solid var(--aip-line) !important;
	border-radius: 12px; margin-bottom: 10px; padding: 0 20px;
	transition: box-shadow .15s;
}
.aip-faq details[open] { box-shadow: var(--aip-shadow-md); }
.aip-faq summary { padding: 18px 36px 18px 0; }
.aip-faq summary::after { right: 4px; }
.aip-faq details p { margin-bottom: 20px; }

/* ---------------------------------------------------------------- footer */

.aip-partners { padding: 36px 0; }
.aip-partners-title {
	font-size: 0.78rem; font-weight: 650; text-transform: uppercase; letter-spacing: .06em;
	text-align: center; margin-bottom: 18px;
}
.aip-partners-list { justify-content: center; gap: 40px; }
.aip-partners-list img 
{ 
    height: 80px; 
    max-width: 300px;  
    padding:6px;
    border: 2px solid rgb(215, 220, 223);
}

.aip-site-footer { background: var(--aip-ink); }
.aip-site-footer .aip-partners { background: var(--aip-white); border-top: 1px solid var(--aip-line); }
.aip-footer-row { padding-top: 44px; padding-bottom: 44px; align-items: start; }
.aip-footer-org { font-size: 1.15rem; margin-bottom: 8px !important; }
.aip-footer-contact p { margin-bottom: 8px; }
.aip-site-footer a { text-decoration: none; }
.aip-site-footer a:hover { text-decoration: underline; color: #fff; }
.aip-footer-links { text-align: right; }

@media (max-width: 980px) { .aip-footer-links { text-align: left; } }
@media (max-width: 600px) {
	.aip-partners-list { gap: 24px; }
	.aip-partners-list img { height: 46px; }
}

/* ---------------------------------------------------------------- my applications page fixes */
.aip-narrow:has(.aip-mine) { max-width: var(--aip-shell); }
.aip-row-actions { white-space: normal; }
.aip-row-actions .aip-inline { display: inline; margin: 0; }
.aip-row-actions a, .aip-row-actions .aip-link-danger { margin: 3px 0 3px 6px; }
.aip-portal .aip-row-actions .aip-link-danger {
	display: inline-block; padding: 6px 14px; border-radius: 999px; cursor: pointer;
	background: transparent; border: 1.5px solid #e3c4c4; color: #a12d2d;
	font: inherit; font-weight: 600; font-size: 0.92rem; text-decoration: none; line-height: inherit;
}
.aip-portal .aip-row-actions .aip-link-danger:hover { background: #fbeeee; border-color: #a12d2d; }
@media (max-width: 760px) {
	.aip-row-actions a, .aip-row-actions .aip-link-danger { margin: 3px 6px 3px 0; }
}

/* ---------------------------------------------------------------- header with a long portal title */
.aip-site-header .aip-shell { max-width: 1260px; }
.aip-header-row { gap: 16px; }
.aip-nav { gap: 12px; }
.aip-account { padding-left: 14px; }
.aip-brand-title { white-space: normal; max-width: 17em; line-height: 1.2; font-size: 1.05rem; }
.aip-nav-list a { padding: 8px 10px; font-size: .96rem; }
/* switch to the mobile menu earlier than the plugin's 1180px, so the full menu never overflows */
@media (max-width: 1320px) {
	.aip-menu-toggle { display: inline-flex; }
	.aip-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: var(--aip-white); border-bottom: 1px solid var(--aip-line); border-top: 1px solid var(--aip-line); flex-direction: column; align-items: stretch; padding: 8px 16px 16px; gap: 8px; box-shadow: 0 12px 24px rgba(19, 50, 74, .12); }
	.aip-nav.is-open { display: flex; }
	.aip-nav-list { flex-direction: column; }
	.aip-nav-list a, .aip-nav-list .current-menu-item > a { padding: 12px; border-radius: 10px; }
	.aip-account { border-left: 0; padding: 12px; border-top: 1px solid var(--aip-line); flex-wrap: wrap; }
	.aip-account a { width: 100%; justify-content: center; }
}
@media (max-width: 600px) {
	.aip-brand-title { font-size: .95rem; max-width: 14em; }
}

/* ---------------------------------------------------------------- phone login (Login with phone number) inside the portal */
/* the plugin pins its forms with position:fixed ("lw-sticky"); inside the portal they sit in the page instead */
.aip-portal .lwp_forms_login form.ajax-auth {
	position: static !important; top: auto !important; left: auto !important; right: auto !important;
	transform: none !important; z-index: auto !important;
	margin: 8px 0 0 !important; width: 100% !important; max-width: 480px;
	padding: 28px !important; background: #fff !important; font-family: inherit !important;
	border: 1px solid var(--aip-line) !important; border-top: 4px solid var(--aip-primary) !important;
	border-radius: var(--aip-radius, 14px) !important; box-shadow: var(--aip-shadow-md, 0 6px 20px rgba(19, 50, 74, .08)) !important;
}
.aip-portal .lwp_forms_login .lh1 {
	font-family: inherit !important; font-size: 1.35rem !important; font-weight: 700 !important;
	color: var(--aip-ink) !important; text-align: left !important; margin: 0 0 18px !important; padding: 0 !important;
}
.aip-portal .lwp_forms_login label { font-family: inherit !important; color: var(--aip-ink) !important; font-weight: 600 !important; }
.aip-portal .lwp_forms_login input[type=tel],
.aip-portal .lwp_forms_login input[type=text],
.aip-portal .lwp_forms_login input[type=number],
.aip-portal .lwp_forms_login input[type=password] {
	min-height: 48px !important; font-size: 1.05rem !important; border-radius: 10px !important; border: 1px solid var(--aip-line) !important;
}
.aip-portal .lwp_forms_login .submit_button,
.aip-portal .lwp_forms_login button[type=submit] {
	min-height: 50px !important; border-radius: 10px !important; font-family: inherit !important; font-weight: 650 !important; font-size: 1.05rem !important;
	background: var(--aip-primary) !important; border-color: var(--aip-primary) !important; color: #fff !important;
}
.aip-portal .lwp_forms_login .submit_button:hover { background: var(--aip-primary-dark) !important; }
.aip-portal .lwp_forms_login .accept_terms_and_conditions_text { font-size: .85rem !important; color: var(--aip-ink-soft) !important; font-family: inherit !important; }
/* "send the code again" is secondary, and looks inactive during the countdown */
.aip-portal .lwp_forms_login .submit_button.lwp_didnt_r_c {
	background: transparent !important; color: var(--aip-primary) !important; border: 1.5px solid var(--aip-line) !important;
}
.aip-portal .lwp_forms_login .submit_button.lwp_didnt_r_c.lwp_disable { color: var(--aip-ink-soft) !important; opacity: .6; cursor: not-allowed; }