    /** Logo scaling */
    .entry-header img {
        max-width: 95%;
		height:auto;
    }

    /** Fluid typography */
    
    .tfb_full-body-wrapper h1, .twm_full-body-wrapper h1,
    .tfb_full-body-wrapper h2, .twm_full-body-wrapper h2,
    .tfb_full-body-wrapper h3, .twm_full-body-wrapper h3,
    .tfb_full-body-wrapper p, .twm_full-body-wrapper p {
    font-size: clamp(
        var(--fluid-type-min, 1rem),
        calc(1rem + var(--fluid-type-target, 1vw)),
        var(--fluid-type-max, 1.1rem)
    );
    }
    
    .tfb_full-body-wrapper h1, .twm_full-body-wrapper h1 {
    --fluid-type-min: 2.5rem;
    --fluid-type-max: 4rem;
    --fluid-type-target: 5vw;
    font-family:'Futura PT W01 Demi';
    }

    .tfb_full-body-wrapper h2, .twm_full-body-wrapper h2 {
        --fluid-type-min: 1.5rem;
        --fluid-type-target: 3vw;
        --fluid-type-max: 4rem;
		font-family:'Futura PT W01 Demi';
    }
    
    .tfb_full-body-wrapper h3, .twm_full-body-wrapper h3 {
        --fluid-type-min: 1rem;
        --fluid-type-max: 1.5rem;
    }

    /** Labels styling */
    h3.tfb_swatch-title, .tfb_outlines .outlines-label, h3.tfb_design-title {
    --fluid-type-min: 0.6rem;
    --fluid-type-max: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    }

    .tfb_full-body-header, .tfb_image-gallery, .tfb_fragments, .tfb_thicknesses, .tfb_design-section, .tfb_sizes, .tfb_fullwidth-image-chair, .tfb_terrazzo-video, .page-template-terrazzo-full-body .call-to-action {
        background: #000;
    }

    .tfb_fullwidth-image-marble {
        background: #fff;
    }

    .tfb_full-body-wrapper h1, h2 {
        font-weight: 100;
    }

    .tfb_intro, .twm_intro-text {
        background: #fff;
        color: #000;
    }
	
	.tfb_intro-text p {
           /* columns: 2; */
			max-width: 600px;
            margin: auto;
		    font-size: large;
        }

    .tfb_fragments {
        display: flex;
        flex-direction: column;
    }

    .tfb_fragments-image {
        display: flex;
    }

    .tfb_fragments-hero {
        width: 100%;
        height: auto;
    }

    .tfb_hero-image img {
        width: 100%;
		height: auto;
    }

    .tfb_fragments-wrapper {
        position: relative;
        flex: 1;
    }

    .tfb_fragments-wrapper img {
        width: 100%;
		height: auto;
    }

    .tfb_image-content-wrapper {
        position: relative;
    }

    .tfb_fragments-number-wrapper {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        font-weight: bold;
    }

    .tfb_fragments-number-wrapper h2 {
        margin: 0px;
    }

    .tfb_swatches-wrapper {
        display: flex;
        max-width: 90%;
        margin: auto;
        padding-bottom: 1em;
    }

    .tfb_swatches-container {
        display: grid;
        grid-gap: 2em;
        width: 100%;
        flex: 3;
    }

    .tfb_fragment-swatch-img {
        max-width: 180px;
        width: 100%;
		height: auto;
        border-radius: 50%;
		
    }

    /** Video */
    .tfb_terrazzo-video .document-wall {
        margin: 0;
        padding: 4em 2em 2em 2em;
        max-width: unset;
    }
    
    .tfb_terrazzo-video .document-wall li {
        width: unset;
    }
	.document-wall h2 {
		font-size: 0.95em !important;}
	
	.popup-video a:after {background-size: 107%;}

    /** Sizes */

    /** Remove table element and silhouette img generated by jQuery */
    .sizetablehading {
        display: none;
    }

    .average-man {
        height: 0px!important;
        width: 0px!important;
    }

    /** Sizes */
    .tfb_sizes-wrapper {
        background-repeat: no-repeat;
        height: inherit;
    }

    .tfb_sizes-wrapper h2 {
        margin: 0px;
    }
    
    .tfb_sizes-wrapper p {
        margin-bottom: 2em;
    }

    .tfb_outlines {
        display: flex !important;
    }

    .tfb_outlines-row div {
        background: rgba(0,0,0,0.2);
        margin: 0 1% 1% 0;
        float: left;
        display: inline-block;
        text-align: center;
        vertical-align: top;
        -webkit-box-shadow: inset 0px 0px 0px 1px rgba(255,255,255,0.2);
        -moz-box-shadow: inset 0px 0px 0px 1px rgba(255,255,255,0.2);
        box-shadow: inset 0px 0px 0px 1px rgba(255,255,255,0.2);
    }

    /** Finishes */
    .tfb_finishes-wrapper {
        position: relative;
        background: #000;
    }

    .tfb_finishes-titles {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        top: 5%;
    }

    .tfb_finishes-titles h2 {
        margin: 0;
    }

    /** Thicknesses */
    .tfb_thicknesses {
        padding-bottom: 3em;
    }

    .tfb_thicknesses-wrapper {
        display: flex;
    }

    .tfb_thicknesses-titles {
            padding: 1em;
    }
    
    .tfb_thicknesses-titles h2 {
            text-align: left;
    }

    .tfb_thicknesses-image img {
        width: 100%;
		height:auto;
    }

    /** Fullwidth image */
    .tfb_fullwidth-image {
        width: 100%;
		height:auto;
    }

    /** Design section */
    .tfb_design-section {
        padding: 1em;
    }

    /* .tfb_design-section-title {
        margin-bottom: 0;
    } */
	.tfb_design-section p{max-width:800px; margin:auto;}

    .tfb_design-image-wrapper {
        display: flex;
        flex-direction: column;
    }
	
	h3.tfb_design-title {
    margin-top: -2em;
}

    /** Image Gallery */
    .tfb_gallery-wrapper {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
    }
    .tfb_gallery-image {
        width: 100%;
		height:auto;
    }

    /** Great with marble */
    .tfb_fullwidth-image-wrapper {
        position: relative;
    }

    .tfb_fullwidth-image-wrapper .tfb_image-title-wrapper {
        position: absolute;
        left: 50%;
        top: 10%;
        width: 100%;
        transform: translateX(-50%);
        color: #000;
        margin: 0;
    }

    /** Colours section */
    .tfb_colour-slider {
        background: #fff;
    }
	
	.tm-colour-swatches li img {
		height: 40vw;height: auto;}

    .tfb_colour-title {
        color: #000;
    }

    /** Discover section */
    .tfb_discover {
        background: #fff;
        min-height: 30vh;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .tfb_discover-btn {
        color: #000;
        border: 1px solid #000;
        padding: 0.25em 1.5em 0.5em;
        font-weight: 100;
        text-decoration: none;
        display: flex;
        flex-direction: column;
		
		letter-spacing: 0.05em;
        line-height: 0.9em;
		font-family:'Futura PT W01 Heavy';
    }

    .tfb_discover-span {
        font-size: 0.6em;
    }

    /** Image grid */
    .tfb_image-grid {
        background: #fff;
        color: #000;
    }

    .tfb_image-grid-wrapper {
        display: grid;
    }

    .tfb_image-grid-title {
        text-align: left;
        line-height: 1em;
    }


    /** Desktop styles */
    @media(min-width: 981px) {
        
        .tfb_intro-text, .twm_intro-text-wrapper {
            padding: 3em;
        }

        .tfb_fragments-text {
            padding: 1em;
        }
        
        .tfb_swatch-type {
            flex: 1;
            text-align: left;
        }

        .tfb_swatches-container {
            grid-template-columns: repeat(6, 1fr);
        }

        .tfb_finishes-image {
            width: 100%;
			height:auto;
        }

        /** Sizes */
        .tfb_sizes-wrapper {
            display: flex;
            flex-direction: column;
            background-position: right;
            padding-left: 1em;
        }
        
        .tfb_sizes-wrapper h2, .tfb_sizes-wrapper p {
            text-align: left;
			max-width:800px;
        }

        .tfb_outlines {
            width: 1000px!important;
			clear:both;
        }

        .tfb_thicknesses-wrapper {
            align-items: center;
        }

        /* .tfb_thicknesses-titles h2 {
            font-size: 4em;
        } */

        /** Image grid */
        .tfb_image-grid {
            padding-top: 3em;
            padding-bottom: 3em;
        }

        .tfb_image-grid-wrapper {
            grid-template-columns: repeat(12, 1fr);
            grid-template-rows: repeat(10, 200px);
            grid-row-gap: 3em;
        }

        .tfb_image-grid h3 {
            text-align: left;
        }

        .tfb_hotel-front {
            grid-column: 1 /8;
            grid-row: 1 / 5;
            background-size: cover;
        }

        .tfb_kitchen {
            grid-column: 2 / 6;
            grid-row: 8 / -1;
            background-size: cover;
        }

        .tfb_picnic {
            grid-column: 9 / 12;
            grid-row: 3 / 6;
            background-size: cover;
            background-position: right;
        }

        .tfb_bathroom {
            grid-column: 7 / -1;
            grid-row: 6 /10;
            background-size: cover;
            background-position: center;
        }

        .tfb_exterior-title {
            grid-column: 9 / 12;
            grid-row: 2;
        }

        .tfb_interior-title {
            grid-column: 2/ 5;
            grid-row: 7;
        }

        .tfb_colour-title {
            margin: 0;
            padding: 1em 1em;
        }

        /** Colours section */
        .tfb_colour-slider {
            padding-left: 3em;
        }

        /** Discover section */
        .tfb_discover-btn {
            font-size: 1.75em;
        }
    }

    /** Large styles */
    @media(min-width: 1201px) and (max-width: 1400px) {
        .tfb_sizes {
            height: 150vh;
        }
    }
    
    @media(min-width: 981px) and (max-width: 1200px) {
        .tfb_sizes {
            height: 220vh;
        }
    }
    
    @media(min-width: 651px) and (max-width: 767px) {
        .tfb_sizes {
            height: 200vh;
        }
    }
    
    @media(min-width: 501px) and (max-width: 650px) {
        .tfb_sizes {
            height: 175vh;
        }
    }
    
    @media(min-width: 376px) and (max-width: 500px) {
        .tfb_sizes {
            height: 120vh;
        }
    }
    
    @media(max-width: 375px) {
        .tfb_sizes {
            height: 110vh;
        }
    }

    /** iPad only styles */
    @media(min-width: 768px) and (max-width: 980px) {

        /* .tfb_full-body-wrapper h1, h2 {
            font-size: 3em;
        } */

        .tfb_swatches-container {
            grid-template-columns: repeat(5, 1fr);
        }

        .tfb_swatch-type h2 {
            text-align: center;
        }
        
        .tfb_finishes-image {
            width: 100%;
			height:auto;
        }

        /** Sizes */
        .tfb_sizes {
            height: 200vh;   
        }

        .tfb_sizes-wrapper {
            padding-left: 0.5em;
        }

        .tfb_outlines {
            width: 100vw;
            height: 40vw;
        }

        /** Image grid */
        .tfb_image-grid-wrapper {
            grid-template-columns: 1fr 1fr;
            grid-template-rows: 1fr 300px 1fr 300px;
            grid-row-gap: 1em;
        }

        .tfb_image-grid h3 {
            text-align: center;
        }

        .tfb_image-grid-image {
            background-size: cover;
        }

        .tfb_hotel-front {
            grid-column: 1;
            grid-row: 2;
        }

        .tfb_kitchen {
            grid-column: 1;
            grid-row: 4;
        }

        .tfb_picnic {
            grid-column: 2;
            grid-row: 2;
            background-position: bottom;
        }

        .tfb_bathroom {
            grid-column: 2;
            grid-row: 4;
        }

        .tfb_exterior-title {
            grid-column: 1 / -1;
            grid-row: 1;
        }

        .tfb_interior-title {
            grid-column: 1 / -1;
            grid-row: 3;
        }

    }

    /** Mobile only styles */
    @media(max-width: 767px) {

        .tfb_swatches-container {
            grid-template-columns: repeat(3, 1fr);
        }

        .tfb_finishes-image {
            width: 120%;
        }

        .tfb_sizes-wrapper {
            padding-left: 1em;
            padding-right: 1em;
        }

        .tfb_outlines {
            width: 125vw;
            height: 45vw;
        }

        .tfb_outlines div {
            margin-right: 3%;
        }

        /** Image grid */
        .tfb_image-grid-wrapper {
            grid-template-columns: 1fr;
            grid-template-rows: 1fr 300px 300px 1fr 300px 300px;
            grid-row-gap: 1em;
        }

        .tfb_image-grid-image {
            background-size: cover;
        }

        .tfb_hotel-front {
            grid-row: 2;
        }

        .tfb_kitchen {
            grid-row: 5;
        }

        .tfb_picnic {
            grid-row: 3;
        }

        .tfb_bathroom {
            grid-row: 6;
        }

        .tfb_exterior-title {
            grid-row: 1;
        }

        .tfb_interior-title {
            grid-row: 4;
        }
    }

    /** Large desktop styles */
    @media(min-width: 1201px) {
        .tfb_swatch-type {
            min-width: 380px;
            margin-right: 2em;
        }
    }

    /** All mobile devices */
    @media(max-width: 980px) {  

        .tfb_intro-text, .twm_intro-text-wrapper {
            padding: 2em;
        }

        .tfb_fragments-text {
            padding: 1em;
        }

        .tfb_swatch-type {
            width: 100%;
        }
        
        .tfb_swatch-type h2 {
            text-align: left;
        }

        /** Sizes */
        .tfb_sizes-wrapper {
            background-position: right bottom;
            background-size: contain;
        }

        .tfb_sizes-wrapper h3 {
            margin-top: 0;
            padding-top: 1em;
        }

        .tfb_finishes-titles {
            transform: translate(-50%, -50%);
            width: 80%;
            top: 50%;
        }

        .tfb_thicknesses-wrapper {
            position: relative;
        }      

        .tfb_thicknesses-titles {
            position: absolute;
            top: 10%;
        }

        .tfb_gallery-wrapper {
            flex-direction: column;
        }

        .tfb_colour-title {
            margin-top: 0;
            padding: 0 1em;
        }

        .tfb_discover-btn {
            font-size: 1.75em;
        }

        .tfb_image-grid {
            padding-top: 1em;
            padding-bottom: 1em;
        }

    }

    /** 20mm layout styles **/
    @media(min-width: 600px) {
        
        .twm_hero-image {
            height: 100vh;
        }

    }

    @media(max-width: 600px) {

        .twm_hero-image {
            height: 75vh;
        }

    }


    .twm-hero-wrapper {
        /* position: relative;
        max-height: 100vh; */
        height: 100%;
    }

    .twm-hero-title-content {
        margin: auto 0;
        transform: translateY(33%);
    }

    .twm-hero-product-content {
        display: flex;
        justify-content: space-between;
    }

    @media(max-width: 750px) {

        .twm-hero-title-content {
            transform: translateY(20%);
        }

    }

    @media(min-width: 600px) and (max-width: 750px) {
        .twm-hero-title-content h1 {
            margin-bottom: 0px;
        }
    }

    @media(min-width: 750px) {

        .twm-hero-product-content {
            padding-bottom: 2em;
        }
    }

    @media(min-width: 768px) {
        .twm-hero-product-content {
            width: 70%;
        }
    }
    
    @media(max-width: 767px) {
        .twm-hero-product-content {
            width: 95%;
        }
    }

    .twm_intro-text-col {
        max-width: 550px;
        margin: auto;
    }

    .twm_intro-text-col p {
        --fluid-type-max: 1.3rem;
    }

    .twm-product-text h2 {
        --fluid-type-target: 1.2vw;
    }

    /** 20mm Gallery **/
    .twm_gallery-image-wrapper img {
        display: block;
    }

    /** Materials Grid - iPad upwards **/
    @media(min-width: 768px) {

        .twm_materials-grid-wrapper {
            display: grid;
            grid-template-columns: repeat(11, 1fr);
            grid-template-rows: repeat(11, 1fr);
        }

        .twm_materials-grid-decription-wrapper p {
            --fluid-type-max: 1.4rem;
            
        }
        
        .twm_materials-grid-decription-wrapper a {
            --fluid-type-max: 1.2rem;
        }
    
        .twm_materials-grid-block:nth-child(1) {
            grid-column: 2/6;
            grid-row: 2/6;
        }
    
        .twm_materials-grid-block:nth-child(2) {
            grid-column: 7/11;
            grid-row: 4/7;
        }
    
        .twm_materials-grid-block:nth-child(3) {
            grid-column: 2/6;
            grid-row: 6/11;
        }
    
        .twm_materials-grid-block:nth-child(4) {
            grid-column: 7/11;
            grid-row: 8/12;
        }
    }

    .twm_materials-grid-title {
        width: 80%;
    }
    
    .twm_materials-grid-title h2 {
        --fluid-type-target: 1.5vw;
    }   

    .twm_materials-grid-link {
        position: relative;
        width: 10em;
    }

    .twm_materials-grid-link:before {
        content: "";
        display: block;
        width: 2.5em;
        height: 2px;
        background: #000;
        position: absolute;
        top: 50%;
        left: 0;
    }

    /** Outdoor Living **/
    .twm_outdoor-living-gallery-wrapper {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        max-width: 1500px;
        margin: auto;
        grid-gap: 2em;
    }

    /** Outdoor stories **/

    .twm_card {
        max-width: 80%;
        margin: auto;
        box-shadow: 0px 4px 10px rgba(0,0,0,0.2);
    }

    .twm_cards-title h2 {
        line-height: 1em;
    }

    .twm_card:nth-child(even) {
        flex-direction: row-reverse;
    }

    .twm_card-content-title h2 {
        margin-bottom: 0px;
        --fluid-type-target: 2vw;
    }

    .twm_outdoor-living-gallery-item img {
        max-width: 200px;
    }

    /** Flooring installation **/
    .twm_flooring-installation-bullets {
        position: absolute;
        top: 2%;
        left: 2%;
    }

    .twm_flooring-installation-bullets ul {
        list-style: none;
        text-align: left;
    }

    .twm_flooring-installation-bullets h3 {
        font-weight: bold;
        margin: 0px;
    }

    .twm_flooring-installation-content {
        position: absolute;
        bottom: 8%;
        left: 10%;
        width: 70%;
        color: #000;
        background: #fff;
        padding: 2em 1em;
        text-align: left;
    }

    .twm_flooring-installation-content h3 {
        --fluid-type-max: 1.5vw;
    }

    .twm_flooring-installation-content > * {
        margin: 0px;
        font-weight: bold;
    }

    /** Raised Pedestal System **/
    .twm_raised-pedestal-content {
        text-align: left;
    }

    @media(min-width: 980px) {
        .twm_raised-pedestal-content {
            padding-top: 2em;
            padding-left: 2em;
        }
    }

    .twm_raised-pedestal-title > *, .twn_raised-pedestal-bullets > * {
        margin: 0px;
    }

    .twm_raised-pedestal-title h2 {
        --fluid-type-target: 1.2vw;
    }

    .twn_raised-pedestal-bullets h3 {
        --fluid-type-target: 1.2vw;
        font-weight: bold;
    }

    /** Buttons **/
    .twm-dsicover-btn {
        padding: 1em 2em;
        display: inline-block;
    }
    
    .btn-white {
        color: #000;
        background: #ffffff;
        text-transform: uppercase;
    }

    .btn-black-outline {
        color: #000;
        background: #ffffff;
        text-transform: uppercase;
        padding: 1em 2em;
        display: inline-block;
        border: 1px solid #000;
        text-decoration: none;
    }

    /** Misc */
    .page-template-20mm .mininav-container {
        background: #000000;
    }

    @media(max-width: 1100px) {
        .tfb_swatches-wrapper {
            flex-direction: column;
        }
    }

    /** Utility classes */

    .tfb_content-container, .pt-content-container {
        max-width: 1140px;
        margin: auto;
    }

    /** Display utlities **/
    .d-block {
        display: block;
    }

    /** Flex utilities **/

    .flex {
        display: flex;
    }

    .flex-col {
        display: flex;
        flex-direction: column;
    }

    .align-center {
        align-items: center;
    }

    .justify-center {
        justify-content: center;
    }

    /** Font Utility Classes **/
    .futura-demi {
        font-family: 'Futura PT W01 Demi';
    }

    /** Height Utilities **/
    .h-auto {
        height: auto;
    }

    /** Padding utilities **/
    .p1 {
        padding: 1em;
    }

    .p2 {
        padding: 2em;
    }
    
    .p3 {
        padding: 3em;
    }

    .pb2 {
        padding-bottom: 2em;
    }

    
        
    @media(min-width: 981px) {

        .p-desk-1 {
            padding: 1em;
        }

        .p-desk-3 {
            padding: 3em;
        }
        .p-desk-5 {
            padding: 5em;
        }
    }
    
    @media(max-width: 980px) {

        .p-mob-1 {
            padding: 1em;
        }

        .p-mob-2 {
            padding: 2em;
        }

        .pt-mob-1 {
            padding: 1em;
        }
    }

    /** Margin utilities **/
    .m-auto {
        margin: auto;
    }

    .no-margin {
        margin: 0px;
    }

    .mb2 {
        margin-bottom: 2em;
    }
    
    .mb4 {
        margin-bottom: 4em;
    }

    .mb5 {
        margin-bottom: 5em;
    }

    /** Position Utilities **/
    .absolute-center {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    .rel {
        position: relative;
    }

    .flex-start {
        align-items: flex-start;
    }

    /** Sizing Utilies **/
    .w-100 {
        width: 100%;
    }

    @media(min-width: 980px) {

        .w-90 {
            width: 90%;
        }
    
        .w-80 {
            width: 80%;
        }
        
        .w-70 {
            width: 70%;
        }
    
        .w-60 {
            width: 60%;
        }
    }

    /** Text Utilities **/
    .no-underline {
        text-decoration: none;
    }

    /** Colour utilities **/
    /** Single colours **/
    .bg-white {
        background: #fff;
    }

    .bg-light-grey {
        background: #F1F1F1;
    }

    .text-black {
        color: #000;
    }

    /** Colour combos **/
    .black-white {
        color: #000;
        background: #fff;
    }

    /** Lists **/
    .list-reset {
        list-style: none;
        padding-left: 0px;
        margin: 0;
    }

    /** Grids **/
    .auto-fit-6 {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
        padding-left: 3em;
        padding-right: 3em;
    }

    .center-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(200px, 300px));
        justify-content: center;
    }

    /** Switcher layout */
	
    .switcher, .switcher-43, .switcher-70 {
        display: flex;
        flex-wrap: wrap;
        gap: 0;
    }

    .switcher > * {
        flex-grow: 1;
        flex-basis: calc(( 48rem - 100%) * 999);
    }
    
    .switcher-43 > * {
        flex-grow: 1;
        flex-basis: calc(( 43rem - 100%) * 999);
    }

    .switcher-70 > * {
        flex-grow: 1;
        flex-basis: calc(( 70rem - 100%) * 999);
    }

    .switcher > * > :nth-last-child(n+ 4),
    .switcher > * > :nth-last-child(n+ 4) ~ *,
    .switcher-43 > * > :nth-last-child(n+ 4),
    .switcher-43 > * > :nth-last-child(n+ 4) ~ *,
    .switcher-70 > * > :nth-last-child(n+ 4),
    .switcher-70 > * > :nth-last-child(n+ 4) ~ * {
        flex-basis: 100%;
    }

