.elementor-kit-2057{--e-global-color-primary:#17171C;--e-global-color-text:#1B294B;--e-global-color-secondary:#B59E5F;--e-global-color-accent:#D7C485;--e-global-color-71e16d5:#D8693A;--e-global-color-b729a84:#424769;--e-global-color-a30839f:#393D5C;--e-global-color-3779537:#6E4596;--e-global-color-0780416:#E2C6FF;--e-global-color-ea2e8bb:#D9BDF2;--e-global-color-e5e1438:#F6F6E7;--e-global-color-2ec071b:#EDEDDE;--e-global-color-325dd86:#FFFFFF;--e-global-color-99ab6a6:#FAF9F8;--e-global-color-e3f62ab:#F1F0ED;--e-global-color-69f2540:#E1DFDB;--e-global-color-f0c3e01:#D0CDC7;--e-global-color-c2fa4bf:#87837D;--e-global-typography-primary-font-family:"Inter";--e-global-typography-primary-font-size:clamp(1.5rem, 1.3182rem + 0.6061vw, 1.75rem);--e-global-typography-primary-font-weight:400;--e-global-typography-primary-line-height:140%;--e-global-typography-primary-letter-spacing:-0.025em;--e-global-typography-secondary-font-family:"Inter";--e-global-typography-secondary-font-size:1.25em;--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-line-height:150%;--e-global-typography-secondary-letter-spacing:-0.02em;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:1em;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:150%;--e-global-typography-text-letter-spacing:-0.01em;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-size:0.875em;--e-global-typography-accent-font-weight:400;--e-global-typography-accent-line-height:150%;--e-global-typography-accent-letter-spacing:-0.01em;--e-global-typography-d46df36-font-family:"Poppins";--e-global-typography-d46df36-font-size:clamp(3rem, 2.0909rem + 3.0303vw, 4.25rem);--e-global-typography-d46df36-font-weight:600;--e-global-typography-d46df36-line-height:120%;--e-global-typography-d46df36-letter-spacing:-0.02em;--e-global-typography-9efd287-font-family:"Poppins";--e-global-typography-9efd287-font-size:clamp(2.5rem, 1.9545rem + 1.8182vw, 3.25rem);--e-global-typography-9efd287-font-weight:600;--e-global-typography-9efd287-line-height:120%;--e-global-typography-9efd287-letter-spacing:-0.02em;--e-global-typography-2a34b6c-font-family:"Poppins";--e-global-typography-2a34b6c-font-size:clamp(2rem, 1.6364rem + 1.2121vw, 2.5rem);--e-global-typography-2a34b6c-font-weight:600;--e-global-typography-2a34b6c-line-height:120%;--e-global-typography-2a34b6c-letter-spacing:-0.02em;--e-global-typography-7ab4d39-font-family:"Poppins";--e-global-typography-7ab4d39-font-size:clamp(1.5rem, 1.3182rem + 0.6061vw, 1.75rem);--e-global-typography-7ab4d39-font-weight:600;--e-global-typography-7ab4d39-line-height:120%;--e-global-typography-7ab4d39-letter-spacing:-0.02em;--e-global-typography-708d884-font-family:"Inter";--e-global-typography-708d884-font-size:1.25rem;--e-global-typography-708d884-font-weight:600;--e-global-typography-708d884-line-height:125%;--e-global-typography-708d884-letter-spacing:-0.02em;--e-global-typography-6a0b8ac-font-family:"Inter";--e-global-typography-6a0b8ac-font-size:1rem;--e-global-typography-6a0b8ac-font-weight:600;--e-global-typography-6a0b8ac-line-height:125%;--e-global-typography-6a0b8ac-letter-spacing:-0.02em;color:var( --e-global-color-primary );font-family:"Inter", Sans-serif;font-size:0.875em;font-weight:400;line-height:150%;letter-spacing:-0.01em;}.elementor-kit-2057 button,.elementor-kit-2057 input[type="button"],.elementor-kit-2057 input[type="submit"],.elementor-kit-2057 .elementor-button{background-color:var( --e-global-color-3779537 );color:var( --e-global-color-325dd86 );border-style:solid;border-width:0px 0px 0px 0px;padding:5px 20px 5px 12px;}.elementor-kit-2057 button:hover,.elementor-kit-2057 button:focus,.elementor-kit-2057 input[type="button"]:hover,.elementor-kit-2057 input[type="button"]:focus,.elementor-kit-2057 input[type="submit"]:hover,.elementor-kit-2057 input[type="submit"]:focus,.elementor-kit-2057 .elementor-button:hover,.elementor-kit-2057 .elementor-button:focus{background-color:var( --e-global-color-0780416 );border-style:solid;border-width:0px 0px 0px 0px;}.elementor-kit-2057 p{margin-block-end:0.75em;}.elementor-kit-2057 a{color:var( --e-global-color-3779537 );font-family:"Inter", Sans-serif;font-size:1em;font-weight:500;line-height:150%;letter-spacing:-0.01em;}.elementor-kit-2057 a:hover{color:var( --e-global-color-0780416 );}.elementor-kit-2057 h1{font-family:"Poppins", Sans-serif;font-size:clamp(3rem, 2.0909rem + 3.0303vw, 4.25rem);font-weight:600;line-height:120%;letter-spacing:-0.02em;}.elementor-kit-2057 h2{font-family:"Poppins", Sans-serif;font-size:clamp(2.5rem, 1.9545rem + 1.8182vw, 3.25rem);font-weight:600;line-height:120%;letter-spacing:-0.02em;}.elementor-kit-2057 h3{font-family:"Poppins", Sans-serif;font-size:clamp(2rem, 1.6364rem + 1.2121vw, 2.5rem);font-weight:600;line-height:120%;letter-spacing:-0.02em;}.elementor-kit-2057 h4{font-family:"Poppins", Sans-serif;font-size:clamp(1.5rem, 1.3182rem + 0.6061vw, 1.75rem);font-weight:600;line-height:120%;}.elementor-kit-2057 h5{font-family:"Inter", Sans-serif;font-size:1.25rem;font-weight:600;line-height:125%;letter-spacing:-0.02em;}.elementor-kit-2057 h6{font-family:"Inter", Sans-serif;font-size:1rem;font-weight:600;line-height:125%;letter-spacing:-0.02em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */h6 {
    margin-top: 2rem;
}


.wrap-url {
  overflow-wrap: break-word;
  word-wrap: break-word;
  hyphens: none;
}


a:hover {
  color: #D8693A;
}

/* unvisited link */
p a:link {
  color: #6E4596;
}

/* mouse over link */
p a:hover {
  color: #D8693A !important;
}


.image-link-expand { 
    display: none;
}


/* START Target the Substack "Read more" link inside single posts */

.elementor-element-99d72b4 a[href*="/p/"] br {
  display: none;
}

.elementor-element-99d72b4 a[href*="/p/"] {
  display: inline-block;
  font-size: 0.875em;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  background: #6E4596;
  color: #fff;
  border-radius: 8px;
  padding: 5px 20px;
  margin-top: 2rem;
  text-decoration: none;
}

.elementor-element-99d72b4 a[href*="/p/"]:hover {
  background-color: #E2C6FF !important;
  color: #1B294B !important;
}

/* END Target the Substack "Read more" link inside single posts */



/* BROWSER BUILT-IN FORM HIGHLIGHT OVERRIDE */
/* Search input style */
input:focus-visible {
  outline: 5px auto rgba(110, 69, 150, 0.6);
}

/* Refined dropdown .elementor-kit-2057s focus style */
select:focus,
select:focus-visible,
.nt-filter select:focus,
.nt-filter select:focus-visible {
  outline: none !important;                /* remove native blue outline */
  border-color: rgba(110, 69, 150, 0.6) !important;        /* brand purple border */
  box-shadow: 0 0 5px 2px rgba(110, 69, 150, 0.2) !important; /* stronger soft glow */
  border-width: 2px !important;            /* thicker border for better visibility */
  border-style: solid !important;
}




/* DATASET ATTRIBUTION TABLE LINK COLOUR - Custom Class on Template Container */

.dataset-attribution a {
    color: #6E4596 !important;
}

.dataset-attribution a:hover {
    color: #D8693A !important;
}



/* DATASET ATTRIBUTION TABLES */

.dataset-attribution-table {
  width: 100%;
  border-collapse: collapse;
  background-color: white;
}

.dataset-attribution-table th, .dataset-attribution-table td {
  border: 1px solid #E1DFDB;
  padding: 8px 12px;
  text-align: left;
  background-color: white !important;
}

.dataset-attribution-table th {
  background-color: #FFFFFF;
  color: white;
}

.dataset-attribution-table td:first-child, .dataset-attribution-table th:first-child {
  background-color: #FAF9F8!important; /* light grey background for first column */
}

.dataset-attribution-table tr:hover {
  background-color: #FFFFFF;
}



/* REMOVE TRANSITIONS ON ALL BUTTONS GLOBALLY */

[type=button], [type=submit], button, elementor-button {
    transition: none;
}


/* ALIGN BUTTON TEXT LEFT WHEN IT RUNS ONTO TWO LINES */

.elementor-button {
    text-align: left;
}


/* ALIGN ELEMENTOR ICON LIST ICONS to the top of the text */

.elementor-icon-list-items .elementor-icon-list-item {
    display: flex !important;
    align-items: flex-start !important; /* Force top alignment */
}

.elementor-icon-list-icon {
    margin-top: 3px !important; /* Adjust as needed */
    align-self: flex-start !important; /* Ensure icon aligns at top */
}


/* ARTICLES LOOP ITEM SHOWS HAND POINTER ON HOVER */

/* Target a custom class added to the loop item */
.clickable-loop {
    cursor: pointer !important;
}



/*** CHECKBOX POSITION ON FORM ***/

.elementor-field-option {
    display: flex;
    align-items: center;
    margin-bottom: 0.5em;
}

.elementor-field-option input[type="checkbox"] {
    vertical-align: middle;
    margin-right: 0.5em;
}


/*** CATEGORY BADGE ON ARTICLES IMAGE ***/

.elementor-posts .elementor-post__badge {
    padding: .2em 0.8em;
}    



/*** ARTICLES LOOP TEMPLATE TO DISABLE HOVER COLOUR ***/

.elementor-kit-2057 a:hover {
    color: inherit;
}

/*** BLOG PREVIOUS / NEXT SEPARATOR SPACING ***/

.elementor-post-navigation-borders-yes .elementor-post-navigation__separator {
    margin: 0 1rem;
}


/*** LOOP GRID PAGINATION ***/

nav.elementor-pagination {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important; /* space between items, works on wrap */
    justify-content: center; /* optional: center the pagination */
}

/* For Normal */
.elementor-kit-2057 .page-numbers{
    margin: 0 !important;
    padding: 4px 12px;
    font-weight: 400;
    color: #87837D !important;
    background: #ffffff;
    /* transition: all .5s; */
    border-radius: 8px;
    border-style: solid;
    border-width: 1px;
    border-color: #E1DFDB;
}

/* For Hover */
.elementor-kit-2057 .page-numbers:hover{
    margin: 0 !important;
    padding: 4px 12px;
    font-weight: 400;
    color: #424769 !important;
    background: #E2C6FF;
    /* transition: all .5s; */
    border-radius: 8px;
    border-style: solid;
    border-width: 1px;
    border-color: #E2C6FF;
}

/* For Active */
.elementor-kit-2057 .page-numbers.current{
    margin: 0 !important;
    padding: 4px 12px;
    font-weight: 400;
    color: #ffffff !important;
    background: #6E4596;
    /* transition: all .5s; */
    border-radius: 8px;
    border-style: solid;
    border-width: 1px;
    border-color: #6E4596;
}


/*** Start NINJA TABLES PRO GLOBAL CSS ***/

.footable_parent.ninja_table_wrapper .mono-spaced {
    font-family: "Roboto Mono", Sans-serif;
    letter-spacing: 0.01em;
}

.footable_parent.ninja_table_wrapper .table-600,
.footable_parent.ninja_table_wrapper .table-600 a {
    font-weight: 600;
}

.footable_parent.ninja_table_wrapper .table-year {
    font-size: 0.875rem;
    letter-spacing: 0;
}

.footable_parent.ninja_table_wrapper .footable-details.table>tbody>tr>th {
    border-bottom: 1px solid transparent;
    vertical-align: bottom;
}

.footable_parent.ninja_table_wrapper table th {
    font-weight: 600;
    vertical-align: bottom;
}

@media (max-width: 767px) {
    .footable_parent.ninja_table_wrapper table table th {
        font-weight: 600;
        vertical-align: bottom;
    }
}

.footable_parent table.foo-table.vertical_centered thead>tr>th {
    vertical-align: bottom !important;
}


.footable_parent.ninja_table_wrapper .footable .btn-default {
    border-color: #E1DFDB;
}

.footable_parent.ninja_table_wrapper .footable .btn-default.active, .footable .btn-default.focus, .footable .btn-default:active, .footable .btn-default:focus, .footable .btn-default:hover, .footable .open>.dropdown-toggle.btn-default {
    background-color: #E2C6FF;
    color: #17171C;
}

/* Base icon background color */
.footable_parent.ninja_table_wrapper .fooicon-sort:before,
.footable_parent.ninja_table_wrapper .fooicon-sort-desc:before {
    background-color: #17171C;
}

/* Base icon style, show icon at 0.2 opacity, positioned */
.footable_parent.ninja_table_wrapper .footable-sortable > .fooicon {
    margin-top: -7px;
    opacity: 0.2; /* base opacity */
    position: relative;
    right: 0 !important;
    /* Remove transform entirely for no scroll and no offset */
    transition: opacity 0.6s ease-in;
    margin-right: -8px; /* add spacing between text and icon */
    margin-left: 4px; /* add spacing between text and icon */
}

/* On hovering the sortable header, transition icon opacity to 0.6 */
.footable_parent.ninja_table_wrapper th.footable-sortable:hover > .fooicon {
    opacity: 0.6; /* target hover opacity */
}



.footable_parent.ninja_table_wrapper .foo-table .nt_btn.nt_rounded_btn {
    border-radius: 6px;
}

.footable_parent.ninja_table_wrapper .foo-table .nt_btn {
    border: 0 solid transparent;
    display: inline-block;
    font-weight: 600;
    font-size: 11px;
    line-height: 1em;
    letter-spacing: 0.01em;
    padding: 6px 14px;
    text-decoration: none;
}


/*** Start FILTER and SEARCH FIELDS ***/

.footable_parent.ninja_table_wrapper .fooicon-search:before {
    height: 20px !important;
    width: 20px!important;
}

.footable_parent.ninja_table_wrapper .fooicon-remove:before {
    height: 22px !important;
    width: 22px!important;
}

.footable_parent.ninja_table_wrapper table.footable>tbody>tr.footable-empty>td {
    font-size: 1.5em;
    font-weight: 600;
    color: #6E4596FF !important;
    padding: 2rem;
}

.footable_parent.ninja_table_wrapper .footable .form-control {
    border: 1px solid #E1DFDBFF;
    border-radius: 6px;
    color: #87837D;
    font-size: 1em;
}

.footable_parent.ninja_table_wrapper .footable .input-group .form-control:first-child {
    border-bottom-right-radius: 6px;
    border-top-right-radius: 6px;
}

.footable_parent.ninja_table_wrapper .footable .input-group-btn:last-child>.btn {
    border-top-left-radius: 6px;
    border-bottom-left-radius: 6px;
}

.footable_parent.ninja_table_wrapper .footable .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle) {
    border-bottom-right-radius: 6px;
    border-top-right-radius: 6px;
}

.footable_parent.ninja_table_wrapper .foo-table .form-group.footable-filtering-search .input-group-btn>button {
    margin: 0 0 0 4px !important;
    padding: 5px 12px !important;
}

.footable_parent.ninja_table_wrapper .footable .nt_pager_selection {
    border: 1px solid #E1DFDBFF;
    border-radius: 6px;
    color: #87837D;
    background: #FFFFFF;
    height: 32px;
    font-weight: 400;
    font-size: 1em;
    line-height: 1.42857143;
    padding: 5px 12px;
    margin: -1px 0 0 20px !important;
}

/*** End FILTER and SEARCH FIELDS ***/


/*** Start SEARCH MENU SELECTOR DROPDOWN ***/

.footable_parent.ninja_table_wrapper .footable .dropdown-menu {
    border: 1px solid #E1DFDBFF;
    box-shadow: 0 5px 10px rgba(0,0,0,.2);
    padding: 4px 0 8px 0;
    margin: 8px 0 0
}

.footable_parent.ninja_table_wrapper .foo-table li.dropdown-header {
    font-size: 12.5px;
    font-weight: 600;
    color: #87837DFF;
    padding-top: 6px;
    padding-bottom: 4px;
    padding-left: 15px;
}

.footable_parent.ninja_table_wrapper .footable .checkbox label {
    font-size: 12px;
    color: #87837DFF;
}

.footable_parent.ninja_table_wrapper .footable .checkbox input[type=checkbox] {
    margin: 0 0 0 -20px;
}

.footable_parent.ninja_table_wrapper .dropdown-menu .checkbox input[type="checkbox"] {
    accent-color: #6E4596; 
}

.footable_parent.ninja_table_wrapper table.footable>thead>tr.footable-filtering>th ul.dropdown-menu>li>a.checkbox>label {
    display: block;
    margin: 2px;
    padding-left: 15px;
    padding-top: 2px;
}

.footable_parent.ninja_table_wrapper table.footable > thead > tr.footable-filtering > th ul.dropdown-menu > li > a.checkbox {
    margin: 0;
}

.footable_parent.ninja_table_wrapper .footable .dropdown-menu>li>a {
    padding: 4px 20px 1px 20px;
}

.footable_parent.ninja_table_wrapper .foo-table ul.dropdown-menu.dropdown-menu-right li a:hover {
  box-shadow: inset 0 0 0 transparent,0 1px 0 #8151AF;
}

.footable_parent.ninja_table_wrapper .footable .dropdown-menu>li>a:focus, .footable .dropdown-menu>li>a:hover {
    background-color: #F1F0ED;
    color: #17171C;
}

/*** End SEARCH MENU SELECTOR DROPDOWN ***/


/*** Start TABLE ROW HANGING INDENT ***/

/* scope your variables to this table only */
.footable_parent.ninja_table_wrapper {
  --ft-icon-padding-left: 8px;   /* icon inset from the cell edge */
  --ft-icon-size:       16px;    /* icon’s full width */
  --ft-text-gap:         6px;    /* breathing room between icon & text */
}

/* any  in this table that Footable marks as “first visible” gets your hanging indent hack */
.footable_parent.ninja_table_wrapper td.footable-first-visible {
  position:   relative !important;
  padding-left: calc(
    var(--ft-icon-padding-left)
    + var(--ft-icon-size)
    + var(--ft-text-gap)
  ) !important;
}

/* and pin the “+” icon into that left gutter */
.footable_parent.ninja_table_wrapper td.footable-first-visible .footable-toggle {
  position: absolute !important;
  left:     var(--ft-icon-padding-left) !important;
  top:      54%       !important;
  transform: translateY(-50%) !important;
}

/*** End TABLE ROW HANGING INDENT ***/


/*** Start PAGINATION ***/

.footable_parent.ninja_table_wrapper .footable .pagination>li:first-child>a, .footable .pagination>li:first-child>span {
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
    margin-left: 0;
}

/* For normal*/
.footable_parent.ninja_table_wrapper .footable .pagination>li>a, .footable .pagination>li>span {
    background-color: #FFFFFFFF;
    border: 1px solid #E1DFDBFF;
    color: #87837DFF !important;
    font-weight: 400;
    margin-bottom: 8px;
    margin-left: -1px;
}

/* For hover*/
.footable_parent.ninja_table_wrapper .footable .pagination>li>a:hover, .footable .pagination>li>span:hover {
    background-color: #E2C6FFFF;
    border: 1px solid #E2C6FFFF;
    color: #424769 !important;
    font-weight: 400;
}

/* For active*/
.footable_parent.ninja_table_wrapper tfoot .footable-paging .footable-page.active a {
    background-color: #6E4596FF !important;
    border: 1px solid #6E4596FF;
    color: #FFFFFFFF !important;
    font-weight: 500;
}

/*** End PAGINATION ***/

/*** End NINJA TABLES PRO GLOBAL CSS ***//* End custom CSS */