/* DESIGN UPDATE CSS */
:root {
    --babColor0: #1a505b;
    --babColor1: #c2e6ee;
    --babColor2: #85cddc;
    --babColor3: #48b4cb;
    --babColor4: #133c44;
    --babColor5: #0d282e;

    --midColor0: #7e2668;
    --midColor1: #f2d2ea;
    --midColor2: #e4a5d4;
    --midColor3: #d778bf;
    --midColor4: #6a2057;
    --midColor5: #541945;

    --babFilter0: invert(24%) sepia(13%) saturate(2284%) hue-rotate(143deg) brightness(94%) contrast(87%);
    --babFilter5: brightness(0) saturate(100%) invert(11%) sepia(9%) saturate(3251%) hue-rotate(144deg) brightness(99%)
        contrast(95%);

    --midFilter0: invert(19%) sepia(41%) saturate(3099%) hue-rotate(287deg) brightness(91%) contrast(90%);
    --midFilter5: invert(13%) sepia(58%) saturate(1503%) hue-rotate(279deg) brightness(98%) contrast(98%);

    --whiteFilter: invert(100%) sepia(0%) saturate(7465%) hue-rotate(185deg) brightness(108%) contrast(99%);

    --colorGrey0: #bfbfbf;
    --colorGrey1: #ffffff;
    --colorGrey2: #f2f2f2;
    --colorGrey3: #d9d9d9;
    --colorGrey4: #a6a6a6;
    --colorGrey5: #9c9c9c;
    
    --successLight: #E2FAEC;
    --successMid: #198754;
    --successDark: #0F5132;
    --warningLight: #FFF3E9;
    --warningMid: #FD7E14;
    --warningDark: #C25D08;
    --errorLight: #FFEAEC;
    --errorMid: #DC3545;
    --errorDark: #AE0F1E;
    --infoLight: #E4EFFF;
    --infoMid: #0D6EFD;
    --infoDark: #084298;
	
	  --successLightFilter: brightness(0) saturate(100%) invert(87%) sepia(14%) saturate(241%) hue-rotate(87deg) brightness(111%) contrast(96%);
    --successMidFilter: brightness(0) saturate(100%) invert(35%) sepia(91%) saturate(385%) hue-rotate(100deg) brightness(99%) contrast(90%);
    --successDarkFilter: brightness(0) saturate(100%) invert(22%) sepia(62%) saturate(539%) hue-rotate(100deg) brightness(97%) contrast(94%);
    --warningLightFilter: brightness(0) saturate(100%) invert(87%) sepia(13%) saturate(502%) hue-rotate(321deg) brightness(110%) contrast(103%);
    --warningMidFilter: brightness(0) saturate(100%) invert(53%) sepia(13%) saturate(5169%) hue-rotate(352deg) brightness(105%) contrast(98%);
    --warningDarkFilter: brightness(0) saturate(100%) invert(31%) sepia(69%) saturate(2548%) hue-rotate(22deg) brightness(97%) contrast(94%);
    --errorLightFilter: brightness(0) saturate(100%) invert(82%) sepia(6%) saturate(500%) hue-rotate(307deg) brightness(111%) contrast(104%);
    --errorMidFilter: brightness(0) saturate(100%) invert(28%) sepia(70%) saturate(3477%) hue-rotate(338deg) brightness(91%) contrast(88%);
    --errorDarkFilter: brightness(0) saturate(100%) invert(10%) sepia(63%) saturate(6283%) hue-rotate(347deg) brightness(99%) contrast(97%);
    --infoLightFilter: brightness(0) saturate(100%) invert(100%) sepia(51%) saturate(2774%) hue-rotate(178deg) brightness(103%) contrast(105%);
    --infoMidFilter: brightness(0) saturate(100%) invert(44%) sepia(82%) saturate(6009%) hue-rotate(209deg) brightness(101%) contrast(99%);
    --infoDarkFilter: brightness(0) saturate(100%) invert(17%) sepia(85%) saturate(2072%) hue-rotate(206deg) brightness(96%) contrast(100%);    
}

body {
    font-family: "Open Sans", Arial, Helvetica, sans-serif;
}

.digitalplace-wrapper h1, .digitalplace-wrapper .h1 {
    margin: 0;
}

p {
    margin: 0 0 16px 0;
}
/* ------ FLEX NAV ------ */

.fgContainer {
    padding: 16px 0 16px 0;
    display: flex;
    width: 100%;
}

.fgContainer .flexgrid-L,
.fgContainer .flexgrid-R {
    flex: 1 1 calc(25%);
}

.fgContainer .flexgrid-L,
.fgContainer .flexgrid-R {
    flex: 1 1 calc(25%);
    box-sizing: border-box;
}

.fgContainer .flexgrid-M {
    display: flex;
    gap: 0;
    flex-wrap: wrap;
    padding: 0;
    box-sizing: border-box;
    height: fit-content;
}

.fgContainer .flexgrid-M.colSpan {
    flex-direction: column
}

.fgContainer.fg4 .flexgrid-M.colSpan .fgItem,
.fgContainer.fg3 .flexgrid-M.colSpan .fgItem,
.fgContainer.fg2 .flexgrid-M.colSpan .fgItem,
.fgContainer.fg1-3 .flexgrid-M.colSpan .fgItem,
.fgContainer.fg3-1 .flexgrid-M.colSpan .fgItem,
.fgContainer.fg1-2-1 .flexgrid-M.colSpan .fgItem {
    flex: 1 1 100%;
    max-width: 100%;
    min-width: 120px;
    flex-direction: column;
}

.fgContainer .flexgrid-M .panelHeader,
.fgContainer .flexgrid-L .panelHeader,
.fgContainer .flexgrid-R .panelHeader {
    flex: 1 1 100%;
    font-size: 1.6rem;
    margin: 0;
    padding: 0 16px;
}

.fgContainer .flexgrid-L.hideSectionTitle .panelHeader,
.fgContainer .flexgrid-M.hideSectionTitle .panelHeader,
.fgContainer .flexgrid-R.hideSectionTitle .panelHeader,
html:not(#__):not(#___) .page-editor .fgContainer .flexgrid-L.hideSectionTitle lfr-editable.panelHeader,
html:not(#__):not(#___) .page-editor .fgContainer .flexgrid-M.hideSectionTitle lfr-editable.panelHeader,
html:not(#__):not(#___) .page-editor .fgContainer .flexgrid-R.hideSectionTitle lfr-editable.panelHeader {
    display: none;
}

.fgContainer .flexgrid-M .fgItem,
.fgContainer .flexgrid-L .fgItem,
.fgContainer .flexgrid-R .fgItem {
    box-sizing: border-box;
    padding: 16px;
    display: flex;
}

/* Fixes for dropzones ---------------------------------------*/

html:not(#__):not(#___) .fgItem .page-editor__no-fragments-state,
html:not(#__):not(#___) .fgItem .page-editor__fragment-content {
    width: 100%;
    max-height: 100%;
    min-height: 60px;
    padding: 0;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

html:not(#__):not(#___) .fgItem .page-editor__no-fragments-state p {
    position: absolute;
    text-align: center;
}

.fgItem .zoneContainer,
.fgItem .zoneContainer > div,
.fgItem .zoneContainer > div > div,
.fgItem .dropZone {
    display: flex;
    flex: 1 1 100%;
    min-width: 100%;
    width: 100%;
    flex-direction: column;
    gap: 8px;
}

.fgContainer bmsButton.hero,
.zoneContainer > div,
.fgItem .lfr-layout-structure-item-tile-button {
    height: 100%;
}

.fgItem div[id*="fragment"],
.fgItem > * {
    height: 100%;
    margin-bottom: 4px;
    display: flex;
    flex: 1 1 100%;
}

.fgItem .lfr-tooltip-scope,
.fgItem .page-editor,
.fgItem .page-editor__topper,
.fgItem .page-editor__topper__content,
.fgItem .page-editor__topper__content > div {
    display: flex;
    flex: 1 1;
}

.fgItem .page-editor__topper__content > div {
    width: 100%;
}

.portlet-content-container:has(> .portlet-body > .fgContainer) {
    padding: 0 0 0 0 !important;
}

/* Colour Variants */

/* Babergh ------------------------------------------------ */

.babergh .fgContainer ,
.babergh .fgContainer * {
    border-color: var(--babColor0) !important;
}

.babergh .fgContainer .flexgrid-M .panelHeader,
.babergh .fgContainer .flexgrid-L .panelHeader,
.babergh .fgContainer .flexgrid-R .panelHeader {
    color: var(--babColor4);
}
.babergh .fgContainer.borderTop {
    border-top: 2px solid;
}

.babergh .fgContainer.borderBottom {
    border-bottom: 2px solid;
}

.babergh .fgContainer.borderBoth {
    border-top: 2px solid;
    border-bottom: 2px solid;
}

.babergh .fgContainer .flexgrid-L {
    border-right: 2px solid;
}

.babergh .fgContainer .flexgrid-R {
    border-left: 2px solid;
}

/* Mid Suffolk -------------------------------------------- */

.midsuffolk .fgContainer,
.midsuffolk .fgContainer * {
    border-color: var(--midColor0) !important;
}

.midsuffolk .fgContainer .flexgrid-M .panelHeader,
.midsuffolk .fgContainer .flexgrid-L .panelHeader,
.midsuffolk .fgContainer .flexgrid-R .panelHeader {
    color: var(--midColor4);
}

.midsuffolk .fgContainer.borderTop {
    border-top: 2px solid;
}

.midsuffolk .fgContainer.borderBottom {
    border-bottom: 2px solid;
}

.midsuffolk .fgContainer.borderBoth {
    border-top: 2px solid;
    border-bottom: 2px solid;
}

.midsuffolk .fgContainer .flexgrid-L {
    border-right: 2px solid;
}

.midsuffolk .fgContainer .flexgrid-R {
    border-left: 2px solid;
}

/* Flexgrid Options --------------------------------------------------------------*/
/* Flexgrid fg4 */

.fgContainer.fg4 .flexgrid-L,
.fgContainer.fg4 .flexgrid-R {
    display: none;
}

.fgContainer.fg4 .flexgrid-M {
    flex: 1 1 100%;
}

.fgContainer.fg4 .flexgrid-M .fgItem {
    flex: 1 1 25%;
    max-width: 25%;
}

/* Flexgrid fg3 */

.fgContainer.fg3 .flexgrid-L,
.fgContainer.fg3 .flexgrid-R {
    display: none;
}

.fgContainer.fg3 .flexgrid-M {
    flex: 1 1 100%;
}

.fgContainer.fg3 .flexgrid-M .fgItem {
    flex: 1 1 33.3333%;
    max-width: 33.3333%;
    min-width: 120px;
}

/* Flexgrid fg2 */

.fgContainer.fg2 .flexgrid-M {
    flex: 1 1 100%;
}

.fgContainer.fg2 .flexgrid-L,
.fgContainer.fg2 .flexgrid-R {
    display: none;
}

.fgContainer.fg2 .flexgrid-M .fgItem {
    flex: 1 1 50%;
    max-width: 50%;
    min-width: 120px;
}

/* Flexgrid fg1-3 */

.fgContainer.fg1-3 .flexgrid-M {
    flex: 1 1 75%;
    max-width: 75%;
    min-width: 120px;
}

.fgContainer.fg1-3 .flexgrid-L {
    flex: 1 1 25%;
    max-width: 25%;
    min-width: 120px;
}

.fgContainer.fg1-3 .flexgrid-R {
    display: none;
}

.fgContainer.fg1-3 .flexgrid-M .fgItem {
    flex: 1 1 33.3333%;
    max-width: 33.3333%;
    min-width: 120px;
}

/* Flexgrid fg3-1 */

.fgContainer.fg3-1 .flexgrid-M {
    flex: 1 1 75%;
    max-width: 75%;
    min-width: 120px;
}

.fgContainer.fg3-1 .flexgrid-R {
    flex: 1 1 25%;
    max-width: 25%;
    min-width: 120px;
}

.fgContainer.fg3-1 .flexgrid-L {
    display: none;
}

.fgContainer.fg3-1 .flexgrid-M .fgItem {
    flex: 1 1 33.3333%;
    max-width: 33.3333%;
    min-width: 120px;
}

/* Flexgrid fg1-2-1 */

.fgContainer.fg1-2-1 .flexgrid-M {
    flex: 1 1 50%;
    max-width: 50%;
    min-width: 120px;
}

.fgContainer.fg1-2-1 .flexgrid-L,
.fgContainer.fg1-2-1 .flexgrid-R {
    flex: 1 1 25%;
    max-width: 25%;
    min-width: 120px;
}

.fgContainer.fg1-2-1 .flexgrid-M .fgItem {
    flex: 1 1 50%;
    max-width: 50%;
    min-width: 120px;
}


/* TextWrap -----------------------------------------------------------------*/

.fgContainer.textWrap {
    display:block;
    flex:none;
    width: 100%;
}

.fgContainer.textWrap .flexgrid-L .panelHeader {
    padding: 0 0 0 8px;
}

.fgContainer.textWrap .flexgrid-L .fgItem {
    display: block;
    width:100%;
    padding: 0 8px;
}

.fgContainer.textWrap .flexgrid-M .fgItem {
    display: block;
    width:100%;
}

.fgContainer.textWrap .fgItem .zoneContainer, 
.fgContainer.textWrap .fgItem .zoneContainer > div, 
.fgContainer.textWrap .fgItem .zoneContainer > div > div, 
.fgContainer.textWrap .fgItem .dropZone {
    display: block;
    padding: 0;
}

.fgContainer.textWrap .flexgrid-L  {
    position: relative;
    z-index: 10;
    float: right;
    height:fit-content;
    display:block; 
    padding: 0 8px;
    box-sizing: border-box;
}

.fgContainer.textWrap .flexgrid-L.floatLeft {
    float: left;
    margin: 0 32px 16px 0;
    border-right: 2px solid;
    border-left:none;
}

.fgContainer.textWrap .flexgrid-L.floatRight {
    float: right;
    margin: 0 0 16px 32px;
    border-left: 2px solid;
    border-right:none;
}

.fgContainer.textWrap .flexgrid-M  {
    position: relative;
    z-index: 1;
    
}

.fgContainer.textWrap.tw2 .flexgrid-L  {
    width: 50%;
}

.fgContainer.textWrap.tw3 .flexgrid-L  {
    width: 33.333%;
}

.fgContainer.textWrap.tw4 .flexgrid-L  {
    width:25%;
}

.fgContainer.textWrap .flexgrid-M,
.fgContainer.textWrap .flexgrid-M.colSpan {
    display:block;
    width:100%;
}

.fgContainer.textWrap .flexgrid-R  {
    display:none;
}

html:not(#__):not(#___) .fgContainer.textWrap .fgItem .page-editor__no-fragments-state,
html:not(#__):not(#___) .fgContainer.textWrap .fgItem .page-editor__fragment-content {
    display: block;
}

.fgContainer.textWrap .fgItem:not(:has(.resourcesPanel)) .zoneContainer,
.fgContainer.textWrap .fgItem:not(:has(.resourcesPanel)) .zoneContainer > div,
.fgContainer.textWrap .fgItem:not(:has(.resourcesPanel)) .zoneContainer > div > div,
.fgContainer.textWrap .fgItem:not(:has(.resourcesPanel)) .dropZone {
    display: block;
}

.fgContainer.textWrap .fgItem:not(:has(.resourcesPanel)) div[id*="fragment"],
.fgContainer.textWrap .fgItem:not(:has(.resourcesPanel)) > * {
    display: block;
}

.fgContainer.textWrap .fgItem:not(:has(.resourcesPanel)) .lfr-tooltip-scope,
.fgContainer.textWrap .fgItem:not(:has(.resourcesPanel)) .page-editor,
.fgContainer.textWrap .fgItem:not(:has(.resourcesPanel)) .page-editor__topper,
.fgContainer.textWrap .fgItem:not(:has(.resourcesPanel)) .page-editor__topper__content,
.fgContainer.textWrap .fgItem:not(:has(.resourcesPanel)) .page-editor__topper__content > div {
    display: block;
}

/* Responsive Views */

/* Tablet */
@media screen and (max-width: 992px) {
    .fgContainer .flexgrid-M .fgItem,
    .fgContainer .flexgrid-L .fgItem,
    .fgContainer .flexgrid-R .fgItem {
        padding: 8px;
    }

    .fgContainer {
        padding: 8px 0 8px 0;
    }

    .fgContainer.textWrap .flexgrid-L  {
        width:50%;
    }
    
    .fgContainer.textWrap .fgItem {
        width:100%;
    }

    /* Flexgrid fg4 */

    .fgContainer.fg4 .flexgrid-M .fgItem {
        flex: 1 1 50%;
        max-width: 50%;
    }

    /* Flexgrid fg3 */

    .fgContainer.fg3 .flexgrid-M .fgItem {
        flex: 1 1 50%;
        max-width: 50%;
        min-width: 120px;
    }

    /* Flexgrid fg2 */

    .fgContainer.fg2 .flexgrid-M .fgItem {
        flex: 1 1 50%;
        max-width: 50%;
        min-width: 120px;
    }

    /* Flexgrid fg1-3 */

    .fgContainer.fg1-3 .flexgrid-M {
        flex: 1 1 50%;
        max-width: 50%;
        min-width: 120px;
    }

    .fgContainer.fg1-3 .flexgrid-L {
        flex: 1 1 50%;
        max-width: 50%;
        min-width: 120px;
    }

    .fgContainer.fg1-3 .flexgrid-M .fgItem {
        min-width: 120px;
        flex: 1 1 100%;
        max-width: 100%;
    }

    /* Flexgrid fg3-1 */

    .fgContainer.fg3-1 .flexgrid-M {
        flex: 1 1 50%;
        max-width: 50%;
        min-width: 120px;
    }

    .fgContainer.fg3-1 .flexgrid-R {
        flex: 1 1 50%;
        max-width: 50%;
        min-width: 120px;
    }

    .fgContainer.fg3-1 .flexgrid-M .fgItem {
        min-width: 120px;
        flex: 1 1 100%;
        max-width: 100%;
    }

    /* Flexgrid fg1-2-1 */

    .fgContainer.fg1-2-1 {
        flex-wrap: wrap;
    }

    .fgContainer.fg1-2-1 .flexgrid-M {
        flex: 1 1 100%;
        max-width: 100%;
        min-width: 120px;
        order: 1;
    }

    .fgContainer.fg1-2-1 .flexgrid-L {
        flex: 1 1 50%;
        max-width: 50%;
        min-width: 50%;
        order: 2;
    }

    .fgContainer.fg1-2-1 .flexgrid-R {
        flex: 1 1 50%;
        max-width: 50%;
        min-width: 50%;
        order: 3;
    }

    .fgContainer.fg1-2-1 .flexgrid-M .fgItem {
        flex: 1 1 50%;
        max-width: 50%;
        min-width: 120px;
    }

    .midsuffolk .fgContainer.fg1-2-1 .flexgrid-L {
        border-right: none;
    }
}

/* Mobile Portrait */
@media screen and (max-width: 576px) {
    .fgContainer .flexgrid-M .fgItem,
    .fgContainer .flexgrid-L .fgItem,
    .fgContainer .flexgrid-R .fgItem {
        padding: 4px;
    }

    .fgContainer .flexgrid-M .panelHeader,
    .fgContainer .flexgrid-L .panelHeader,
    .fgContainer .flexgrid-R .panelHeader {
        font-size: 1.2rem;
        padding: 4px
    }
    
    .fgContainer.textWrap .flexgrid-L,
    .fgContainer.textWrap.tw2 .flexgrid-L,
    .fgContainer.textWrap.tw3 .flexgrid-L,
    .fgContainer.textWrap.tw4 .flexgrid-L {
        float: none;
        order: 2;
        border-left: none;
        border-right:none;
        border-top:2px solid;
        width: 100%;
    }
    
    .fgContainer.textWrap .flexgrid-L .fgItem {
        width: 100%;
        padding: 0;
    }
    
    .fgContainer.textWrap .flexgrid-L .panelHeader {
        padding: 0;
}
    
    .fgContainer.textWrap .flexgrid-L.floatLeft {
        float: none;
        margin: 0;
        border-right: none;
    }

    .fgContainer.textWrap .flexgrid-L.floatRight {
        float: none;
        margin: 0;
        border-left: none;
    }


    .fgContainer.textWrap {
        display: flex;
        flex-direction: column;
        gap: 16px;
        width: 100%;
    }

    /* Flexgrid fg4 */

    .fgContainer.fg4 .flexgrid-M .fgItem {
        flex: 1 1 100%;
        max-width: 100%;
    }

    /* Flexgrid fg3 */

    .fgContainer.fg3 .flexgrid-M .fgItem {
        flex: 1 1 100%;
        max-width: 100%;
        min-width: 120px;
    }

    /* Flexgrid fg2 */

    .fgContainer.fg2 .flexgrid-M .fgItem {
        flex: 1 1 100%;
        max-width: 100%;
        min-width: 120px;
    }

    /* Flexgrid fg1-3 */

    .fgContainer.fg1-3 {
        flex-wrap: wrap;
    }

    .fgContainer.fg1-3 .flexgrid-M {
        flex: 1 1 100%;
        max-width: 100%;
        min-width: 120px;
        order: 1;
    }

    .fgContainer.fg1-3 .flexgrid-L {
        flex: 1 1 100%;
        max-width: 100%;
        min-width: 120px;
        order: 2;
    }

    .fgContainer.fg1-3 .flexgrid-M .fgItem {
        min-width: 120px;
        flex: 1 1 100%;
        max-width: 100%;
    }

    .midsuffolk .fgContainer.fg1-3 .flexgrid-L {
        border-right: none;
        border-top: 2px solid;
    }

    /* Flexgrid fg3-1 */

    .fgContainer.fg3-1 {
        flex-wrap: wrap;
    }

    .fgContainer.fg3-1 .flexgrid-M {
        flex: 1 1 100%;
        max-width: 100%;
        min-width: 120px;
        order: 1;
    }

    .fgContainer.fg3-1 .flexgrid-R {
        flex: 1 1 100%;
        min-width: 120px;
        max-width: 100%;
        order: 2;
    }

    .fgContainer.fg3-1 .flexgrid-M .fgItem {
        flex: 1 1 100%;
        min-width: 120px;
        max-width: 100%;
    }

    .midsuffolk .fgContainer.fg3-1 .flexgrid-R {
        border-left: none;
        border-top: 2px solid;
    }

    /* Flexgrid fg1-2-1 */

    .fgContainer.fg1-2-1 .flexgrid-M {
        flex: 1 1 100%;
        max-width: 100%;
        min-width: 120px;
        order: 1;
    }

    .fgContainer.fg1-2-1 .flexgrid-L {
        flex: 1 1 100%;
        max-width: 100%;
        min-width: 100%;
        order: 2;
    }

    .fgContainer.fg1-2-1 .flexgrid-R {
        flex: 1 1 100%;
        max-width: 100%;
        min-width: 100%;
        order: 3;
    }

    .fgContainer.fg1-2-1 .flexgrid-M .fgItem {
        flex: 1 1 100%;
        max-width: 100%;
        min-width: 120px;
    }

    .midsuffolk .fgContainer.fg1-2-1 .flexgrid-L {
        border-right: none;
        border-bottom: 2px solid;
    }

    .midsuffolk .fgContainer.fg1-2-1 .flexgrid-R {
        border-left: none;
        border-top: none;
    }
}

/* bmsButton -----------------------------*/

a.bmsButton,
.digitalplace-wrapper a.bmsButton,
a.bmsButton:visited,
.digitalplace-wrapper a.bmsButton:visited {
    display: flex;
    gap: 16px;
    max-width: 100%;
    box-shadow: 0 4px 4px rgb(0 0 0 / 0.2);
    border-radius: 8px;
    text-align: left;
    text-decoration: none;
    border-top: 0 solid;
    border-bottom: 6px solid;
    width:fit-content;
    box-sizing: border-box;
}

.fgContainer.textWrap .flexgrid-L a.bmsButton,
.digitalplace-wrapper .fgContainer.textWrap .flexgrid-L a.bmsButton {
    width:100%;
}

a.bmsButton,
a.bmsButton:visited,
a.bmsButton p,
a.bmsButton:visited p {
    font-size: 1.2rem;
    line-height: 1.6rem;
}

a.bmsButton.fitContent,
.digitalplace-wrapper a.bmsButton.fitContent {
    width: fit-content;
}

a.bmsButton.fillWidth,
.digitalplace-wrapper a.bmsButton.fillWidth {
    width: 100%;
}

a.bmsButton.fixedWidth-200,
.digitalplace-wrapper a.bmsButton.fixedWidth-200 {
    width: 200px;
}

a.bmsButton.fixedWidth-250,
.digitalplace-wrapper a.bmsButton.fixedWidth-250 {
    width: 250px;
}

a.bmsButton.fixedWidth-300,
.digitalplace-wrapper a.bmsButton.fixedWidth-300 {
    width: 300px;
}

a.bmsButton.fixedWidth-350,
.digitalplace-wrapper a.bmsButton.fixedWidth-350 {
    width: 350px;
}

a.bmsButton.fixedWidth-400,
.digitalplace-wrapper a.bmsButton.fixedWidth-400 {
    width: 400px;
}

a.bmsButton.fixedWidth-450,
.digitalplace-wrapper a.bmsButton.fixedWidth-450 {
    width: 450px;
}

a.bmsButton.fixedWidth-500,
.digitalplace-wrapper a.bmsButton.fixedWidth-500 {
    width: 500px;
}

a.bmsButton.fixedWidth-550,
.digitalplace-wrapper a.bmsButton.fixedWidth-550 {
    width: 550px;
}

a.bmsButton.fixedWidth-600,
.digitalplace-wrapper a.bmsButton.fixedWidth-600 {
    width: 600px;
}

.fgContainer .flexgrid-M .fgItem a.bmsButton,
.fgContainer .flexgrid-L .fgItem a.bmsButton,
.fgContainer .flexgrid-R .fgItem a.bmsButton,
.fgContainer .flexgrid-M .fgItem a.bmsButton:visited,
.fgContainer .flexgrid-L .fgItem a.bmsButton:visited,
.fgContainer .flexgrid-R .fgItem a.bmsButton:visited,
.digitalplace-wrapper .fgContainer .flexgrid-M .fgItem a.bmsButton,
.digitalplace-wrapper .fgContainer .flexgrid-L .fgItem a.bmsButton,
.digitalplace-wrapper .fgContainer .flexgrid-R .fgItem a.bmsButton,
.digitalplace-wrapper .fgContainer .flexgrid-M .fgItem a.bmsButton:visited,
.digitalplace-wrapper .fgContainer .flexgrid-L .fgItem a.bmsButton:visited,
.digitalplace-wrapper .fgContainer .flexgrid-R .fgItem a.bmsButton:visited {
    display: flex;
    gap: 16px;
    flex: 1 1 100%;
}

a.bmsButton.navButton,
a.bmsButton.navButton:visited,
.digitalplace-wrapper a.bmsButton.navButton,
.digitalplace-wrapper a.bmsButton.navButton:visited {
    display: flex;
    flex-direction: column;
    gap: 8px;
    overflow: hidden;
    border-radius: 8px;
    padding: 16px;
}

a.bmsButton.navButton .bmsButtonHeader {
    display: flex;
    flex-direction: row;
    justify-content: left;
    align-items: center;
    gap: 0;
}

a.bmsButton.navButton .bmsButtonImageContainer {
    height: 32px;
}

a.bmsButton.navButton img {
    width: 32px;
    height: 32px;
    margin-right: 16px;
}
a.bmsButton.navButton .bmsButtonTitle {
    margin: 0;
    font-weight: 600;
    font-size: 1.2rem;
    line-height: 1.4rem;
    text-align: left;
    word-break: break-word;
}

a.bmsButton.navButton .bmsButtonTextContainer {
    margin-top: 8px;
}

a.bmsButton.titleOnly .bmsButtonTextContainer {
    display: none;
}

a.bmsButton.noImage .bmsButtonHeader img,
a.bmsButton.noImage .bmsButtonHeader lfr-editable[type="image"],
html:not(#__):not(#___) .page-editor a.bmsButton.noImage .bmsButtonHeader lfr-editable[type="image"]/*,
a.bmsButton.noImage .bmsButtonHeader lfr-editable#Image */{
    display: none;
}

/* State Changes */

a.bmsButton.navButton:hover,
a.bmsButton.resource:hover,
a.bmsButton.hero:hover {
    box-shadow: 0 2px 2px rgb(0 0 0 / 0.2);
    border-bottom-width: 3px !important;
    border-bottom-style: solid !important;
    border-top-width: 3px !important;
    border-top-style: solid !important;
}

a.bmsButton.navButton:focus,
.digitalplace-wrapper a.bmsButton.navButton:focus:not(header *):not(footer *),
a.bmsButton.resource:focus,
.digitalplace-wrapper a.bmsButton.resource:focus:not(header *):not(footer *),
a.bmsButton.hero:focus,
.digitalplace-wrapper a.bmsButton.hero:focus:not(header *):not(footer *) {
    box-shadow: none !important;
    outline-style: solid;
    outline-width: 4px !important;
    outline-offset: 4px;
    border-bottom-width: 3px !important;
    border-bottom-style: solid !important;
    border-top-width: 3px !important;
    border-top-style: solid !important;
}

a.bmsButton.navButton:active,
.digitalplace-wrapper a.bmsButton.navButton:active:not(header *):not(footer *),
a.bmsButton.resource:active,
.digitalplace-wrapper a.bmsButton.resource:active:not(header *):not(footer *),
a.bmsButton.hero:active,
.digitalplace-wrapper a.bmsButton.hero:active:not(header *):not(footer *) {
    box-shadow: none !important;
    outline: none !important;
    border-bottom-width: 0 !important;
    border-bottom-style: solid !important;
    border-top-width: 6px !important;
    border-top-style: solid !important;
}

a.bmsButton.navButton:visited,
a.bmsButton.navButton:visited p,
a.bmsButton.resource:visited,
a.bmsButton.resource:visited p {
    color: #000000;
    word-break: break-word;
}

/* Responsive Views */

/* Tablet */
@media screen and (max-width: 992px) {
    a.bmsButton,
    .digitalplace-wrapper a.bmsButton,
    a.bmsButton:visited,
    .digitalplace-wrapper a.bmsButton:visited {
        gap: 8px;
    }

    a.bmsButton.navButton {
        padding: 8px;
    }

    a.bmsButton,
    a.bmsButton:visited,
    a.bmsButton p,
    a.bmsButton:visited p {
        font-size: 1rem;
        line-height: 1.4rem;
    }

    a.bmsButton.navButton .bmsButtonTextContainer {
        margin: 0;
    }

    a.bmsButton.navButton .bmsButtonImageContainer {
        height: 32px;
    }

    a.bmsButton.navButton img {
        width: 32px;
        height: 32px;
        margin-right: 16px;
    }

    a.bmsButton.navButton .bmsButtonTitle {
        font-size: 1rem;
        line-height: 1.4rem;
    }
}

/* Mobile Landscape */
@media screen and (max-width: 768px) {
    a.bmsButton p,
    a.bmsButton:visited p {
        font-size: 0.8rem;
        line-height: 1.2rem;
    }

    a.bmsButton.navButton .bmsButtonImageContainer {
        height: 28px;
    }

    a.bmsButton.navButton img {
        width: 28px;
        height: 28px;
        margin-right: 8px;
    }

    a.bmsButton.navButton .bmsButtonTitle {
        font-size: 0.9rem;
        line-height: 1.2rem;
    }
}
/* Mobile Portrait */
@media screen and (max-width: 576px) {
    a.bmsButton {
        box-shadow: 0 2px 2px rgb(0 0 0 / 0.2);
    }

    a.bmsButton,
    .digitalplace-wrapper a.bmsButton,
    a.bmsButton:visited,
    .digitalplace-wrapper a.bmsButton:visited {
        gap: 4px;
    }

    a.bmsButton.navButton {
        padding: 8px;
    }

    a.bmsButton p,
    a.bmsButton:visited p {
        font-size: 0.7rem;
        line-height: 1rem;
    }

    a.bmsButton.navButton .bmsButtonImageContainer {
        height: 24px;
    }

    a.bmsButton.navButton img {
        width: 24px;
        height: 24px;
        margin-right: 8px;
    }

    a.bmsButton.navButton .bmsButtonTitle {
        font-size: 0.8rem;
        line-height: 1rem;
    }
}

/* Resources Button -----------------------------*/

a.bmsButton.resource {
    display: flex;
    flex-direction: column;
    gap: 4px;
    overflow: hidden;
    border-radius: 8px;
    padding: 8px;
    justify-content: center;
    font-size: 0.7rem;
    line-height: 1rem;
}

a.bmsButton.resource p {
    font-size: 0.7rem;
    line-height: 1rem;
}

a.bmsButton.resource .bmsButtonHeader {
    display: flex;
    flex-direction: row;
    justify-content: left;
    align-items: center;
    gap: 0;
}

a.bmsButton.resource .bmsButtonImageContainer {
    height: 24px;
}

a.bmsButton.resource .bmsButtonTextContainer {
    display: none;
}

a.bmsButton.resource img {
    width: 24px;
    height: 24px;
    margin-right: 8px;
}

a.bmsButton.resource .bmsButtonTitle {
    margin: 0;
    font-weight: 600;
    font-size: 0.8rem;
    line-height: 1rem;
    text-align: left;
}

/* Hero -----------------------------------------------*/

a.bmsButton.hero {
    display: flex;
    width: 100%;
    flex-direction: column;
    border-radius: 8px;
    padding: 0;
    overflow: hidden;
    gap: 0;
}

a.bmsButton.hero .bmsButtonImageContainer {
    width: 100%;
    overflow: hidden;
    aspect-ratio: 4 / 2.95;
    height: auto;
}

a.bmsButton.hero img {
    object-fit: cover;
    width: 100%;
    aspect-ratio: 4 / 3;
    height: auto;
}

a.bmsButton.hero .bmsButtonTextContainer {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 0 16px 16px 16px;
    text-align: center;
}

a.bmsButton.hero .bmsButtonTitle {
    font-size: 1.4rem;
    line-height: 1.6rem;
    font-weight: 500;
    text-align: center;
    margin: 16px 16px 0 16px;
}

a.bmsButton.hero p,
a.bmsButton.hero:visited p {
    color: #000000;
    text-decoration: none;
    margin: 0;
    text-align: center;
}

/* Responsive Views */

@media screen and (max-width: 576px) {
    a.bmsButton.hero {
        display: flex;
        position: relative;
        min-height: 88px;
        flex-direction: column;
        border-radius: 4px;
        padding: 8px 8px 8px 158px;
        margin: 0;
        overflow: hidden;
        font-size: 0.8rem;
        line-height: 1rem;
    }

    a.bmsButton.hero p,
    a.bmsButton.hero:visited p {
        font-size: 0.8rem;
        line-height: 1rem;
        text-align: left;
    }

    .fgContainer .fgItem a.bmsButton.hero {
        gap: 4px;
    }

    a.bmsButton.hero .bmsButtonHeader img {
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        width: 150px;
        min-width: 100px;
        height: 100%;
    }

    a.bmsButton.hero .bmsButtonHeader img {
        height: 101%;
        object-fit: cover;
        object-position: center;
    }

    a.bmsButton.hero .bmsButtonTitle {
        margin: 0 0 8px 0;
        font-size: 1rem;
        line-height: 1.2rem;
        color: var(--midColor0);
    }

    a.bmsButton.hero .bmsButtonTextContainer {
        padding: 0;
    }

    a.bmsButton.hero .bmsButtonTitle,
    a.bmsButton.hero .bmsButtonTextContainer {
        text-align: left;
    }
}

/* Colour Variants */

/* Babergh ------------------------------------------------ */

.babergh a.bmsButton.navButton.primary,
.babergh a.bmsButton.resource.primary {
    background-color: var(--babColor0);
    color: var(--babColor1);
}

.babergh a.bmsButton.navButton.primary,
.babergh a.bmsButton.resource.primary {
    border-bottom-color: var(--babColor5) !important;
    border-top-color: #358292 !important;
}

.babergh a.bmsButton.navButton.primary,
.babergh a.bmsButton.navButton.primary p,
.babergh a.bmsButton.resource.primary,
.babergh a.bmsButton.resource.primary p,
.babergh a.bmsButton.navButton.primary:visited,
.babergh a.bmsButton.navButton.primary:visited p,
.babergh a.bmsButton.resource.primary:visited,
.babergh a.bmsButton.resource.primary:visited p {
    color: var(--babColor1);
}

.babergh a.bmsButton.navButton.secondary,
.babergh a.bmsButton.resource.secondary {
    background-color: var(--babColor1);
    color: var(--babColor0);
}

.babergh a.bmsButton.navButton.secondary,
.babergh a.bmsButton.resource.secondary {
    border-bottom-color: var(--babColor0) !important;
    border-top-color: #358292 !important;
}

.babergh a.bmsButton.navButton.secondary,
.babergh a.bmsButton.navButton.secondary p,
.babergh a.bmsButton.resource.secondary,
.babergh a.bmsButton.resource.secondary p,
.babergh a.bmsButton.navButton.secondary:visited,
.babergh a.bmsButton.navButton.secondary:visited p,
.babergh a.bmsButton.resource.secondary:visited,
.babergh a.bmsButton.resource.secondary:visited p {
    color: var(--babColor0);
}

.babergh a.bmsButton.navButton.tertiary,
.babergh a.bmsButton.resource.tertiary,
.babergh a.bmsButton.hero {
    background-color: var(--colorGrey2);
    color: #000000;
}

.babergh a.bmsButton.navButton.tertiary,
.babergh a.bmsButton.resource.tertiary,
.babergh a.bmsButton.hero {
    border-bottom-color: var(--babColor0) !important;
    border-top-color: #358292 !important;
}

.babergh a.bmsButton.navButton.tertiary,
.babergh a.bmsButton.navButton.tertiary p,
.babergh a.bmsButton.resource.tertiary,
.babergh a.bmsButton.resource.tertiary p,
.babergh a.bmsButton.hero.tertiary,
.babergh a.bmsButton.hero.tertiary p,
.babergh a.bmsButton.navButton.tertiary:visited,
.babergh a.bmsButton.navButton.tertiary:visited p,
.babergh a.bmsButton.resource.tertiary:visited,
.babergh a.bmsButton.resource.tertiary:visited p,
.babergh a.bmsButton.hero.tertiary:visited,
.babergh a.bmsButton.hero.tertiary:visited p {
    color: #000000;
}

.babergh a.bmsButton.navButton.primary .bmsButtonTitle,
.babergh a.bmsButton.resource.primary .bmsButtonTitle {
    color: #ffffff;
}

.babergh a.bmsButton.navButton.secondary .bmsButtonTitle,
.babergh a.bmsButton.resource.secondary .bmsButtonTitle {
    color: var(--babColor0);
}

.babergh a.bmsButton.navButton.tertiary .bmsButtonTitle,
.babergh a.bmsButton.resource.tertiary .bmsButtonTitle,
.babergh a.bmsButton.hero .bmsButtonTitle {
    color: var(--babColor0);
}

.babergh a.bmsButton.navButton.primary img,
.babergh a.bmsButton.resource.primary img {
    filter: var(--whiteFilter);
}

.babergh a.bmsButton.navButton.secondary img,
.babergh a.bmsButton.resource.secondary img {
    filter: var(--babFilter0);
}

.babergh a.bmsButton.navButton.tertiary img,
.babergh a.bmsButton.resource.tertiary img {
    filter: var(--babFilter0);
}

.babergh a.bmsButton.hero img {
    filter: none;
}

.babergh a.bmsButton.navButton.primary:hover,
.digitalplace-wrapper .babergh a.bmsButton.navButton.primary:hover,
.babergh a.bmsButton.resource.primary:hover,
.digitalplace-wrapper .babergh a.bmsButton.resource.primary:hover {
    background-color: var(--babColor4) !important;
}

.babergh a.bmsButton.navButton.secondary:hover,
.digitalplace-wrapper .babergh a.bmsButton.navButton.secondary:hover,
.babergh a.bmsButton.resource.secondary:hover,
.digitalplace-wrapper .babergh a.bmsButton.resource.secondary:hover {
    background-color: var(--babColor2) !important;
}

.babergh a.bmsButton.navButton.tertiary:hover,
.digitalplace-wrapper .babergh a.bmsButton.navButton.tertiary:hover,
.babergh a.bmsButton.resource.tertiary:hover,
.digitalplace-wrapper .babergh a.bmsButton.resource.tertiary:hover,
.babergh a.bmsButton.hero:hover,
.digitalplace-wrapper .babergh a.bmsButton.hero:hover {
    background-color: var(--colorGrey3) !important;
}

.babergh a.bmsButton.navButton.primary:focus,
.digitalplace-wrapper .babergh a.bmsButton.navButton.primary:focus,
.babergh a.bmsButton.resource.primary:focus,
.digitalplace-wrapper .babergh a.bmsButton.resource.primary:focus {
    background-color: var(--babColor4) !important;
    outline-color: var(--babColor3) !important;
}

.babergh a.bmsButton.navButton.secondary:focus,
.digitalplace-wrapper .babergh a.bmsButton.navButton.secondary:focus,
.babergh a.bmsButton.resource.secondary:focus,
.digitalplace-wrapper .babergh a.bmsButton.resource.secondary:focus {
    background-color: var(--babColor2) !important;
    outline-color: var(--babColor3) !important;
}

.babergh a.bmsButton.navButton.tertiary:focus,
.digitalplace-wrapper .babergh a.bmsButton.navButton.tertiary:focus,
.babergh a.bmsButton.resource.tertiary:focus,
.digitalplace-wrapper .babergh a.bmsButton.resource.tertiary:focus,
.babergh a.bmsButton.hero:focus,
.digitalplace-wrapper .babergh a.bmsButton.hero:focus {
    background-color: var(--colorGrey3) !important;
    outline-color: var(--babColor3) !important;
}

.babergh a.bmsButton.navButton.primary:active,
.digitalplace-wrapper .babergh a.bmsButton.navButton.primary:active,
.babergh a.bmsButton.resource.primary:active,
.digitalplace-wrapper .babergh a.bmsButton.resource.primary:active {
    background-color: var(--babColor5) !important;
}

.babergh a.bmsButton.navButton.secondary:active,
.digitalplace-wrapper .babergh a.bmsButton.navButton.secondary:active,
.babergh a.bmsButton.resource.secondary:active,
.digitalplace-wrapper .babergh a.bmsButton.resource.secondary:active {
    background-color: var(--babColor3) !important;
}

.babergh a.bmsButton.navButton.tertiary:active,
.digitalplace-wrapper .babergh a.bmsButton.navButton.tertiary:active,
.babergh a.bmsButton.resource.tertiary:active,
.digitalplace-wrapper .babergh a.bmsButton.resource.tertiary:active,
.babergh a.bmsButton.hero:active,
.digitalplace-wrapper .babergh a.bmsButton.hero:active {
    background-color: var(--colorGrey4) !important;
}

/* Mid Suffolk ------------------------------------------------ */

.midsuffolk a.bmsButton.navButton.primary,
.midsuffolk a.bmsButton.resource.primary {
    background-color: var(--midColor0);
    color: var(--midColor1);
}

.midsuffolk a.bmsButton.navButton.primary,
.midsuffolk a.bmsButton.resource.primary {
    border-bottom-color: var(--midColor5) !important;
    border-top-color: #b26ca0 !important;
}

.midsuffolk a.bmsButton.navButton.primary,
.midsuffolk a.bmsButton.navButton.primary p,
.midsuffolk a.bmsButton.resource.primary,
.midsuffolk a.bmsButton.resource.primary p,
.midsuffolk a.bmsButton.navButton.primary:visited,
.midsuffolk a.bmsButton.navButton.primary:visited p,
.midsuffolk a.bmsButton.resource.primary:visited,
.midsuffolk a.bmsButton.resource.primary:visited p {
    color: var(--midColor1);
}

.midsuffolk a.bmsButton.navButton.secondary,
.midsuffolk a.bmsButton.resource.secondary {
    background-color: var(--midColor1);
    color: var(--midColor4);
}

.midsuffolk a.bmsButton.navButton.secondary,
.midsuffolk a.bmsButton.resource.secondary {
    border-bottom-color: var(--midColor0) !important;
    border-top-color: #b26ca0 !important;
}

.midsuffolk a.bmsButton.navButton.secondary,
.midsuffolk a.bmsButton.navButton.secondary p,
.midsuffolk a.bmsButton.resource.secondary,
.midsuffolk a.bmsButton.resource.secondary p,
.midsuffolk a.bmsButton.navButton.secondary:visited,
.midsuffolk a.bmsButton.navButton.secondary:visited p,
.midsuffolk a.bmsButton.resource.secondary:visited,
.midsuffolk a.bmsButton.resource.secondary:visited p {
    color: var(--midColor0);
}

.midsuffolk a.bmsButton.navButton.tertiary,
.midsuffolk a.bmsButton.resource.tertiary,
.midsuffolk a.bmsButton.hero {
    background-color: var(--colorGrey2);
    color: #000000;
}

.midsuffolk a.bmsButton.navButton.tertiary,
.midsuffolk a.bmsButton.resource.tertiary,
.midsuffolk a.bmsButton.hero {
    border-bottom-color: var(--midColor0) !important;
    border-top-color: #b26ca0 !important;
}

.midsuffolk a.bmsButton.navButton.tertiary,
.midsuffolk a.bmsButton.navButton.tertiary p,
.midsuffolk a.bmsButton.resource.tertiary,
.midsuffolk a.bmsButton.resource.tertiary p,
.midsuffolk a.bmsButton.hero.tertiary,
.midsuffolk a.bmsButton.hero.tertiary p,
.midsuffolk a.bmsButton.navButton.tertiary:visited,
.midsuffolk a.bmsButton.navButton.tertiary:visited p,
.midsuffolk a.bmsButton.resource.tertiary:visited,
.midsuffolk a.bmsButton.resource.tertiary:visited p,
.midsuffolk a.bmsButton.hero.tertiary:visited,
.midsuffolk a.bmsButton.hero.tertiary:visited p {
    color: #000000;
}
.midsuffolk a.bmsButton.navButton.primary .bmsButtonTitle,
.midsuffolk a.bmsButton.resource.primary .bmsButtonTitle {
    color: #ffffff;
}

.midsuffolk a.bmsButton.navButton.secondary .bmsButtonTitle,
.midsuffolk a.bmsButton.resource.secondary .bmsButtonTitle {
    color: var(--midColor0);
}

.midsuffolk a.bmsButton.navButton.tertiary .bmsButtonTitle,
.midsuffolk a.bmsButton.resource.tertiary .bmsButtonTitle,
.midsuffolk a.bmsButton.hero .bmsButtonTitle {
    color: var(--midColor0);
}

.midsuffolk a.bmsButton.navButton.primary img,
.midsuffolk a.bmsButton.resource.primary img {
    filter: var(--whiteFilter);
}

.midsuffolk a.bmsButton.navButton.secondary img,
.midsuffolk a.bmsButton.resource.secondary img {
    filter: var(--midFilter0);
}

.midsuffolk a.bmsButton.navButton.tertiary img,
.midsuffolk a.bmsButton.resource.tertiary img {
    filter: var(--midFilter0);
}

.midsuffolk a.bmsButton.hero img {
    filter: none;
}

.midsuffolk a.bmsButton.navButton.primary:hover,
.digitalplace-wrapper .midsuffolk a.bmsButton.navButton.primary:hover,
.midsuffolk a.bmsButton.resource.primary:hover,
.digitalplace-wrapper .midsuffolk a.bmsButton.resource.primary:hover {
    background-color: var(--midColor4) !important;
}

.midsuffolk a.bmsButton.navButton.secondary:hover,
.digitalplace-wrapper .midsuffolk a.bmsButton.navButton.secondary:hover,
.midsuffolk a.bmsButton.resource.secondary:hover,
.digitalplace-wrapper .midsuffolk a.bmsButton.resource.secondary:hover {
    background-color: var(--midColor2) !important;
}

.midsuffolk a.bmsButton.navButton.tertiary:hover,
.digitalplace-wrapper .midsuffolk a.bmsButton.navButton.tertiary:hover,
.midsuffolk a.bmsButton.resource.tertiary:hover,
.digitalplace-wrapper .midsuffolk a.bmsButton.resource.tertiary:hover,
.midsuffolk a.bmsButton.hero:hover,
.digitalplace-wrapper .midsuffolk a.bmsButton.hero:hover {
    background-color: var(--colorGrey3) !important;
}

.midsuffolk a.bmsButton.navButton.primary:focus,
.digitalplace-wrapper .midsuffolk a.bmsButton.navButton.primary:focus,
.midsuffolk a.bmsButton.resource.primary:focus,
.digitalplace-wrapper .midsuffolk a.bmsButton.resource.primary:focus {
    background-color: var(--midColor4) !important;
    outline-color: var(--midColor3) !important;
}

.midsuffolk a.bmsButton.navButton.secondary:focus,
.digitalplace-wrapper .midsuffolk a.bmsButton.navButton.secondary:focus,
.midsuffolk a.bmsButton.resource.secondary:focus,
.digitalplace-wrapper .midsuffolk a.bmsButton.resource.secondary:focus {
    background-color: var(--midColor2) !important;
    outline-color: var(--midColor3) !important;
}

.midsuffolk a.bmsButton.navButton.tertiary:focus,
.digitalplace-wrapper .midsuffolk a.bmsButton.navButton.tertiary:focus,
.midsuffolk a.bmsButton.resource.tertiary:focus,
.digitalplace-wrapper .midsuffolk a.bmsButton.resource.tertiary:focus,
.midsuffolk a.bmsButton.hero:focus,
.digitalplace-wrapper .midsuffolk a.bmsButton.hero:focus {
    background-color: var(--colorGrey3) !important;
    outline-color: var(--midColor3) !important;
}

.midsuffolk a.bmsButton.navButton.primary:active,
.digitalplace-wrapper .midsuffolk a.bmsButton.navButton.primary:active,
.midsuffolk a.bmsButton.resource.primary:active,
.digitalplace-wrapper .midsuffolk a.bmsButton.resource.primary:active {
    background-color: var(--midColor5) !important;
}

.midsuffolk a.bmsButton.navButton.secondary:active,
.digitalplace-wrapper .midsuffolk a.bmsButton.navButton.secondary:active,
.midsuffolk a.bmsButton.resource.secondary:active,
.digitalplace-wrapper .midsuffolk a.bmsButton.resource.secondary:active {
    background-color: var(--midColor3) !important;
}

.midsuffolk a.bmsButton.navButton.tertiary:active,
.digitalplace-wrapper .midsuffolk a.bmsButton.navButton.tertiary:active,
.midsuffolk a.bmsButton.resource.tertiary:active,
.digitalplace-wrapper .midsuffolk a.bmsButton.resource.tertiary:active,
.midsuffolk a.bmsButton.hero:active,
.digitalplace-wrapper .midsuffolk a.bmsButton.hero:active {
    background-color: var(--colorGrey4) !important;
}

/* ------ ICON LINK BUTTON ------ */

a.bmsButton.iconButton .bmsButtonHeader img,
a.bmsButton.iconButton .bmsButtonHeader lfr-editable#Image,
html:not(#__):not(#___) a.bmsButton.iconButton #Image.page-editor__editable {
    width: 24px;
    height: 24px;
    min-height: 24px;
    min-width: 24px;
}

a.bmsButton.iconButton,
.fgContainer .flexgrid-M .fgItem a.bmsButton.iconButton,
.fgContainer .flexgrid-L .fgItem a.bmsButton.iconButton,
.fgContainer .flexgrid-R .fgItem a.bmsButton.iconButton {
    display: inline-block;
    border: none;
    box-shadow: none;
}

a.bmsButton.iconButton .bmsButtonHeader {
    display: inline-flex;
    gap: 8px;
    border-radius: 8px;
    text-align: left;
    text-decoration: none;
    justify-content: left;
    align-items: center;
    padding: 8px;
}

a.bmsButton.iconButton .bmsButtonTextContainer {
    display: none;
}

@media screen and (max-width: 992px) {
    a.bmsButton.iconButton:focus,
    .digitalplace-wrapper a.bmsButton.iconButton:focus:not(header *):not(footer *) {
        outline-offset: 2px;
    }
}

@media screen and (max-width: 576px) {
    a.bmsButton.iconButton {
        border-radius: 4px;
        font-size: 14px;
        padding: 4px;
    }
}

/* State Changes */

a.bmsButton.iconButton:hover .bmsButtonHeader,
a.bmsButton.iconButton:active .bmsButtonHeader,
a.bmsButton.iconButton:focus .bmsButtonHeader,
.digitalplace-wrapper a.bmsButton.iconButton:hover .bmsButtonHeader,
.digitalplace-wrapper a.bmsButton.iconButton:active .bmsButtonHeader,
.digitalplace-wrapper a.bmsButton.iconButton:focus .bmsButtonHeader {
    text-decoration: underline;
}

a.bmsButton.iconButton:focus,
.digitalplace-wrapper a.bmsButton.iconButton:focus:not(header *):not(footer *) {
    box-shadow: none !important;
    outline-style: solid;
    outline-width: 4px !important;
    outline-offset: 4px;
    border: none !important;
}

a.bmsButton.iconButton:active,
.digitalplace-wrapper a.bmsButton.iconButton:active:not(header *):not(footer *) {
    box-shadow: none !important;
    outline: none !important;
    border: none !important;
}

/* Colour Variants */

/* Babergh ------------------------------------------------ */

/* Primary */

.babergh a.bmsButton.iconButton,
.babergh a.bmsButton.iconButton,
.babergh a.bmsButton.iconButton:visited,
.babergh a.bmsButton.iconButton:visited {
    color: var(--babColor0);
}

.babergh a.bmsButton.iconButton:hover,
.babergh a.bmsButton.iconButton:hover p,
.babergh a.bmsButton.iconButton:active,
.babergh a.bmsButton.iconButton:active p,
.babergh a.bmsButton.iconButton:focus,
.babergh a.bmsButton.iconButton:focus p {
    color: var(--babColor5);
}

.babergh a.bmsButton.iconButton .bmsButtonHeader img {
    filter: var(--babFilter0);
}

.babergh a.bmsButton.iconButton:hover .bmsButtonHeader img,
.babergh a.bmsButton.iconButton:active .bmsButtonHeader img,
.babergh a.bmsButton.iconButton:focus .bmsButtonHeader img {
    filter: var(--babFilter5);
}

.babergh a.bmsButton.iconButton:hover,
.digitalplace-wrapper .babergh a.bmsButton.iconButton:hover {
    background-color: var(--babColor1) !important;
}

.babergh a.bmsButton.iconButton:focus,
.digitalplace-wrapper .babergh a.bmsButton.iconButton:focus {
    outline-color: var(--babColor3) !important;
    background-color: var(--babColor1) !important;
}

.babergh a.bmsButton.iconButton:active,
.digitalplace-wrapper .babergh a.bmsButton.iconButton:active {
    background-color: var(--babColor2) !important;
}

/* Mid Suffolk ------------------------------------------------ */

.midsuffolk a.bmsButton.iconButton,
.midsuffolk a.bmsButton.iconButton:visited {
    color: var(--midColor0);
}

.midsuffolk a.bmsButton.iconButton:hover,
.midsuffolk a.bmsButton.iconButton:active,
.midsuffolk a.bmsButton.iconButton:focus {
    color: var(--midColor5);
}

.midsuffolk a.bmsButton.iconButton .bmsButtonHeader img {
    filter: var(--midFilter0);
}

.midsuffolk a.bmsButton.iconButton:hover .bmsButtonHeader img,
.midsuffolk a.bmsButton.iconButton:active .bmsButtonHeader img,
.midsuffolk a.bmsButton.iconButton:focus .bmsButtonHeader img {
    filter: var(--midFilter5);
}

.midsuffolk a.bmsButton.iconButton:hover,
.digitalplace-wrapper .midsuffolk a.bmsButton.iconButton:hover {
    background-color: var(--midColor1) !important;
}

.midsuffolk a.bmsButton.iconButton:focus,
.digitalplace-wrapper .midsuffolk a.bmsButton.iconButton:focus {
    outline-color: var(--midColor2) !important;
    background-color: var(--midColor1) !important;
}

.midsuffolk a.bmsButton.iconButton:active,
.digitalplace-wrapper .midsuffolk a.bmsButton.iconButton:active {
    background-color: var(--midColor2) !important;
}

/* ResourcesPanel ---------------------------------------------------------- */

.resourcesPanel .sectionHeader {
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 16px;
}

.resourcesPanel {
    padding: 0;
    width: 100%;
}

.resourcesPanel .sectionHeader.hideTitle {
    display: none;
}

.resourcesPanel .resourcesSection {
    margin-bottom: 16px;
}

.resourcesPanel .sectionButtons {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
}

.fgContainer.textWrap .fgItem .resourcesPanel .sectionButtons .zoneContainer,
.fgContainer.textWrap .fgItem .resourcesPanel .sectionButtons .zoneContainer > div,
.fgContainer.textWrap .fgItem .resourcesPanel .sectionButtons .zoneContainer > div > div,
.fgContainer.textWrap .fgItem .resourcesPanel .sectionButtons .zoneContainer lfr-drop-zone .page-editor__topper {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* Responsive Views */

/* Mobile Landscape */
/* Tablet */
@media screen and (max-width: 992px) {
    .resourcesPanel .sectionButtons .zoneContainer,
    .resourcesPanel .sectionButtons .zoneContainer > div,
    .resourcesPanel .sectionButtons .zoneContainer lfr-drop-zone .page-editor__topper {
        gap: 4px;
    }
}

/* Colour Variants */

/* Babergh ------------------------------------------------ */

.babergh .resourcesPanel .sectionHeader {
    color: var(--babColor0);
}

/* Mid Suffolk -------------------------------------------- */

.midsuffolk .resourcesPanel .sectionHeader {
    color: var(--midColor0);
}


/* Fixes for theme styles --------------------------------*/

.fgFloaterr .portlet-content-container, .journal-content-article, .component-html {
    padding: 0 !important;
}

/* NOTIFICATION BANNER */

.notificationBanner {
    padding: 16px;
    display: flex;
    gap: 16px;
    margin: 16px 0 32px 0;
    border-radius: 8px;
}

.bannerIcon {
    width: 32px;
    height: 32px;
}

.notificationBanner p {
    margin-bottom: 4px;
    font-size: 1.0rem;
}

.notificationBanner .bannerTitle,
.notificationBanner .bannerTitle p {
    font-size: 1.2rem;
    font-weight: 600;
}

.notificationBanner .bannerTitle {
    margin-bottom:8px;
}

.notificationBanner.dark .bannerMessage {
    color: #ffffff;
}

/*------ Info ------- */

.notificationBanner.info .bannerIcon {
    background-image: url("https://uat.baberghmidsuffolk.dp.placecube.com/documents/d/asset-library-54706/circle-info");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.notificationBanner.info.light {
    background-color: var(--infoLight);
    border: solid 1px var(--infoDark)
}

.notificationBanner.info.light .bannerIcon {
    filter: var(--infoDarkFilter);
}

.notificationBanner.info.light .bannerTitle {
    color: var(--infoDark);
}

.notificationBanner.info.dark {
    background-color: var(--infoDark);
}

.notificationBanner.info.dark .bannerIcon {
    filter: var(--infoLightFilter);
}

.notificationBanner.info.dark .bannerTitle {
    color: var(--infoLight);
}

/*------ Question ------- */

.notificationBanner.question .bannerIcon {
    background-image: url("https://uat.baberghmidsuffolk.dp.placecube.com/documents/d/asset-library-54706/circle-question");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.notificationBanner.question.light {
    background-color: var(--infoLight);
    border: solid 1px var(--infoDark)
}

.notificationBanner.question.light .bannerIcon {
    filter: var(--infoDarkFilter);
}

.notificationBanner.question.light .bannerTitle {
    color: var(--infoDark);
}

.notificationBanner.question.dark {
    background-color: var(--infoDark);
}

.notificationBanner.question.dark .bannerIcon {
    filter: var(--infoLightFilter);
}

.notificationBanner.question.dark .bannerTitle {
    color: var(--infoLight);
}

/*------ Success ------- */

.notificationBanner.success .bannerIcon {
    background-image: url("https://uat.baberghmidsuffolk.dp.placecube.com/documents/d/asset-library-54706/circle-check");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.notificationBanner.success.light {
    background-color: var(--successLight);
    border: solid 1px var(--successDark)
}

.notificationBanner.success.light .bannerIcon {
    filter: var(--successDarkFilter);
}

.notificationBanner.success.light .bannerTitle {
    color: var(--successDark);
}

.notificationBanner.success.dark .bannerIcon {
    filter: var(--successLightFilter);
}

.notificationBanner.success.dark {
    background-color: var(--successDark);
}

.notificationBanner.success.dark .bannerTitle {
    color: var(--successLight);
}

/*------ Warning ------- */

.notificationBanner.warning .bannerIcon {
    background-image: url("https://uat.baberghmidsuffolk.dp.placecube.com/documents/d/asset-library-54706/warning");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.notificationBanner.warning.light {
    background-color: var(--warningLight);
    border: solid 1px var(--warningDark)
}

.notificationBanner.warning.light .bannerIcon {
    filter: var(--warningDarkFilter);
}

.notificationBanner.warning.light .bannerTitle {
    color: var(--warningDark);
}

.notificationBanner.warning.dark {
    background-color: var(--warningDark);
}

.notificationBanner.warning.dark .bannerIcon {
    filter: var(--warningLightFilter);
}

.notificationBanner.warning.dark .bannerTitle {
    color: var(--warningLight);
}

/*------ Error ------- */

.notificationBanner.error .bannerIcon {
    background-image: url("https://uat.baberghmidsuffolk.dp.placecube.com/documents/d/asset-library-54706/circle-close");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.notificationBanner.error.light {
    background-color: var(--errorLight);
    border: solid 1px var(--errorDark)

}

.notificationBanner.error.light .bannerIcon {
    filter: var(--errorDarkFilter);
}

.notificationBanner.error.light .bannerTitle {
    color: var(--errorDark);
}

.notificationBanner.error.dark {
    background-color: var(--errorDark);
}

.notificationBanner.error.dark .bannerIcon {
    filter: var(--errorLightFilter);
}

.notificationBanner.error.dark .bannerTitle {
    color: var(--errorLight);
}
