/* World Assessment Council — base styles shared by every page.
   These are the site-wide defaults the pages were built on (heading font, link colour,
   form fields, paragraph spacing). Each page then adds its own <style> block on top.
   Load order on every page: wac-fonts.css, wac-base.css, wac-responsive.css, then the page's own styles. */

/* Page frame */
* { box-sizing: border-box; }
html { background-color: #ced6ea; }
body {
  margin: 0; padding: 0; min-width: 320px;
  -webkit-text-size-adjust: 100%; text-size-adjust: 100%;
  overflow-x: hidden; overflow-y: scroll;
  color: #22253d; font-family: Mulish, Arial, Helvetica, sans-serif; font-size: 16px; font-weight: 400;
  font-style: normal; letter-spacing: -0.015em; line-height: 1.8;
}
#wrapper { position: relative; overflow-x: clip; }
#main { background-color: #ffffff; clear: both; }
.post-content { position: relative; z-index: 10; display: flex; flex-direction: column; width: 100%; }

/* Elements */
input[type="email"], input[type="tel"], input[type="text"], textarea { -webkit-appearance: none; appearance: none; border-radius: 0; }
img { border-style: none; vertical-align: top; max-width: 100%; height: auto; }
a { text-decoration: none; }
input, select, textarea { font-family: Mulish, Arial, Helvetica, sans-serif; vertical-align: middle; color: #22253d; }
select { border-style: solid; }
form { margin: 0; padding: 0; border-style: none; }
a, a::after, a::before { transition-property: color, background-color, border-color; transition-duration: 0.2s; transition-timing-function: linear; }
input[type="email"], input[type="tel"], input[type="text"] { border: 1px solid #d2d2d2; font-size: 13px; color: #747474; padding: 8px 15px; width: 100%; box-sizing: border-box; }
.post-content p { margin: 0 0 20px; }
.wac blockquote {
  background: #f5f5f5; font-family: Mulish, Arial, Helvetica, sans-serif; font-weight: 400; letter-spacing: -0.015em;
  font-size: 16px; line-height: 1.8; color: #22253d; border-left: 4px solid #65bc7b; padding: 15px;
  margin-top: 2em; margin-bottom: 2em; font-style: italic;
}
strong { font-weight: bolder; }
iframe { border: none; }
.wac input, .wac select, .wac textarea { outline: 0; }
a:hover { color: #0062f3; }
#wrapper .post-content blockquote, .wac blockquote { border-color: #0062f3; }
input[type="email"], input[type="tel"], input[type="text"], select { height: 50px; padding-top: 0; padding-bottom: 0; }
input[type="email"], input[type="tel"], input[type="text"], select, textarea { background-color: #ffffff; font-size: 16px; color: #22253d; }
input[type="email"]:focus, input[type="tel"]:focus, input[type="text"]:focus, select:focus, textarea:focus { border-color: #a6abcd; }
input::placeholder { color: #22253d; }
input[type="email"], input[type="tel"], input[type="text"], select, textarea { border-width: 1px; border-color: #ced6ea; border-radius: 6px; }
body a, body a::after, body a::before { color: #a6abcd; }

/* Headings */
.post-content h1, h1 { font-family: "Kumbh Sans", Arial, Helvetica, sans-serif; font-weight: 700; line-height: 1.2; letter-spacing: -0.02em; text-transform: capitalize; font-style: normal; }
.post-content h1, h1 { font-size: 42px; color: #22253d; }
h1 { margin-top: 0.67em; margin-bottom: 0.67em; }
.post-content h2, h2 { font-family: "Kumbh Sans", Arial, Helvetica, sans-serif; font-weight: 700; line-height: 1.4; letter-spacing: -0.02em; text-transform: capitalize; font-style: normal; }
.post-content h2, h2 { font-size: 36px; }
h2 { color: #22253d; margin-top: 0; margin-bottom: 0.5em; }
.post-content h3, h3 { font-family: "Kumbh Sans", Arial, Helvetica, sans-serif; font-weight: 700; line-height: 1.3; letter-spacing: -0.02em; text-transform: capitalize; font-style: normal; }
.post-content h3, h3 { font-size: 30px; color: #22253d; }
h3 { margin-top: 1em; margin-bottom: 1em; }
.post-content h4, h4, table th { font-family: "Kumbh Sans", Arial, Helvetica, sans-serif; font-weight: 700; line-height: 1.4; letter-spacing: -0.02em; text-transform: capitalize; font-style: normal; }
.post-content h4, h4 { font-size: 22px; color: #22253d; }
h4 { margin-top: 1.33em; margin-bottom: 1.33em; }

/* Links: no underline at rest; only colour changes animate */
#wrapper #main a { text-decoration-line: none; text-decoration-style: solid; text-decoration-thickness: 1px; text-underline-offset: 4px; transition-property: text-decoration, color, background-color, border-color; }
#wrapper #main a:hover, #wrapper #main a:focus { text-decoration-line: underline; text-decoration-style: double; text-decoration-thickness: 1px; text-underline-offset: 2px; }

.wac blockquote, .post-content blockquote { background-color: #f4f5fa; }
.progress-bar, tr td { border-color: #ced6ea; }
.progress-bar { overflow: hidden; height: 20px; margin-bottom: 20px; background-color: #f5f5f5; border-radius: 5px; background-clip: padding-box; box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); }
table { max-width: 100%; background-color: transparent; border-collapse: collapse; border-spacing: 0; }
.hero-title { color: #ffffff !important; }

/* "Back to top" button (added by wac-site.js); hidden on phones */
#wac-to-top {
  position: fixed; right: 75px; bottom: 30px; z-index: 100000; width: 44px; height: 44px; border-radius: 6px;
  display: flex; align-items: center; justify-content: center; background-color: #0062f3; color: #ffffff;
  opacity: 0; pointer-events: none; transition: opacity 0.4s ease-in-out, background 0.2s ease-in-out;
}
#wac-to-top svg { width: 22px; height: 22px; display: block; }
#wac-to-top.wac-show { opacity: 0.9; pointer-events: auto; }
#wac-to-top:hover { background-color: #4f578d; color: #ffffff; }
@media (max-width: 800px) { #wac-to-top { display: none; } }
