div.page_wrapper {
    position: relative;
}

div.page_wrapper div.banner_container {
    position: fixed;
    top: var(--headerHeight);
    left: 0;
    right: 0;
    height: var(--pageBannerHeight);
    z-index: 0;
    background-repeat: no-repeat;
    background-size: cover;
}

div.page_wrapper.hardware div.banner_container {
    background-image: url('/images/img_banner_hardware.jpg');
}

div.page_wrapper.contact div.banner_container {
    background-image: url('/images/img_banner_contact.jpg');
}

div.page_wrapper.catalogues div.banner_container {
    background-image: url('/images/img_banner_catalogues.jpg');
}

div.page_wrapper.bbq div.banner_container {
    background-image: url('/images/img_banner_bbq.jpg');
}

div.page_wrapper .banner_title {
    font-size: 3em;
    color: white;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background-color: rgba(0,96,175,0.98);
    border: 2px solid white;
    border-radius: 0.5rem;
    padding: 1.5rem 2.5rem;
    box-shadow: 0 3px 6px rgba(0,0,0,0.75);
    max-width: calc(100% - 2em);
    overflow: hidden;
    text-align: center;
}

div.content_container {
    position: relative;
    padding-top: calc(var(--pageBannerHeight) + var(--headerHeight));
    z-index: 1;
}

div.content_container.no_banner {
    padding-top: calc(var(--headerHeight) + 1em);
}

div.content_container div.content {
    padding: 3em 20% 1em 20%;
    background-color: white;
}

div.content_container div.content.wider {
    padding: 3em 15% 1em 15%;
}

div.content_container div.content .content_heading {
    font-family: "Futura Bold", Arial, sans-serif;
    color: var(--mitre10Blue);
    padding-top: 2em;
    font-size: 1.5rem;
    clear: both;
}

div.content_container div.content .content_heading.no_margin_top {
    padding-top: 0;
    margin-top: 0;
}

div.content_container div.content .content_heading.reduced_margin_top {
    padding-top: 1em;
    margin-top: 0;
}

/*div.content_container div.content div.summary_container {
    display: -webkit-box;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 2em 0;
}*/

div.content_container div.content img.summary_image {
    width: 30em;
    margin: 0.5em 2em 0.5em 0;
    border-radius: 0.25em;
    float: left;
}

div.content_container div.content div.featured_brands_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-botton: 2em;
}

div.content_container div.content div.featured_brands_container img.company_logo {
    width: 12em;
    margin-right: 1em;
    margin-bottom: 1em;
}

/* FORMS */
div.content_container div.content form {
    background-color: #E8F1F7;
    max-width: 100%;
    border-radius: 1em;
    padding: 2em;
    display: inline-block;
}

div.content_container div.content form label {
    color: #333;
    display: block;
    margin-bottom: 0.25em;
}

div.content_container div.content form input,
div.content_container div.content form textarea {
    display: block;
    margin-bottom: 1.5em;
    border-radius: 0.75em;
    padding: 1em;
    border: 1px solid silver;
    outline: none;
    width: 25em;
    max-width: 100%;
}

div.content_container div.content form input:focus,
div.content_container div.content form textarea:focus {
    border-color: #9ecaed;
    box-shadow: 0 0 0.5em var(--mitre10LightBlue);
}

div.content_container div.content form textarea {
    height: 10em;
}

div.content_container div.content form button {
    background-color: var(--mitre10Blue);
    color: white;
    outline: none;
    border-radius: 0.75em;
    padding: 1.0rem;
    font-weight: bold;
    font-size: 1.0em;
    width: 100%;
    border: none;
    cursor: pointer;
}

div.content_container div.content form button:hover {
    background-color: var(--mitre10BlueHover);
}

div.content_container div.content form .custom_radio_container {
    display: block;
    position: relative;
    padding-left: 2em;
    margin-bottom: 0.75em;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    color: black;
}

div.content_container div.content form .custom_radio_container:first-child {
    margin-top: 2em;
}

div.content_container div.content form .custom_radio_container:last-child {
    margin-bottom: 2em;
}

/* Hide the browser's default radio button */
div.content_container div.content form .custom_radio_container input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

/* Create a custom radio button */
div.content_container div.content form .custom_radio_container .checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 25px;
    width: 25px;
    background-color: #eee;
    border-radius: 50%;
}

/* On mouse-over, add a grey background color */
div.content_container div.content form .custom_radio_container:hover input ~ .checkmark {
    background-color: #ccc;
}

/* When the radio button is checked, add a blue background */
div.content_container div.content form .custom_radio_container input:checked ~ .checkmark {
    background-color: #2196F3;
}

/* Create the indicator (the dot/circle - hidden when not checked) */
div.content_container div.content form .custom_radio_container .checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

/* Show the indicator (dot/circle) when checked */
div.content_container div.content form .custom_radio_container input:checked ~ .checkmark:after {
    display: block;
}

/* Style the indicator (dot/circle) */
div.content_container div.content form .custom_radio_container .checkmark:after {
    top: 9px;
    left: 9px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: white;
}

/* END FORMS */

/* PAGES */

/* PAGE - CATALOGUES */


/* END PAGE - CATALOGUES */
div.page_wrapper.catalogues div.catalogues_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 3em;
}

div.page_wrapper.catalogues div.catalogues_container div.catalogue {
    margin-right: 4em;
    text-align: center;
    margin-bottom: 3em;
}

div.page_wrapper.catalogues div.catalogues_container div.catalogue:last-child {
    margin-bottom: 0;
}

div.page_wrapper.catalogues div.catalogues_container div.catalogue a {
    text-decoration: none;
}

div.page_wrapper.catalogues div.catalogues_container div.catalogue a img.catalogue_thumb {
    height: 280px;
    margin-bottom: 1.25em;
    transition: all 0.25s ease-in-out;
}

div.page_wrapper.catalogues div.catalogues_container div.catalogue a:hover img.catalogue_thumb {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
    -webkit-box-shadow: 0 2px 4px rgba(0,0,0,0.5);
    box-shadow: 0 2px 4px rgba(0,0,0,0.5);
}

div.page_wrapper.catalogues div.catalogues_container div.catalogue a div.catalogue_title {
    color: var(--mitre10Blue);
}

div.page_wrapper.catalogues div.catalogues_container div.catalogue a:hover div.catalogue_title {
    text-decoration: underline;
}

/* PAGE - CONTACT US */
div.page_wrapper.contact div.contact_methods_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 3em 0;
}

div.page_wrapper.contact div.contact_methods_container div.business_info_container {
    padding: 0;
    width: calc(50% - 1.5em);
    margin-right: 3em;
}

div.page_wrapper.contact div.contact_methods_container div.business_info_container div.info_header_row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    -webkit-box-align: center;
    align-items: center;
    margin-bottom: 0.25em;
}

div.page_wrapper.contact div.contact_methods_container div.business_info_container div.info_header_row div.finder_icon_wrapper {
    min-width: 2em;
    max-width: 2em;
    text-align: center;
    margin-right: 0.5em;
}

div.page_wrapper.contact div.contact_methods_container div.business_info_container div.info_header_row div.finder_icon_wrapper img.finder_icon {
    max-width: 1.25em;
    max-height: 1.25em;
    margin-top: 0.25em;
}

div.page_wrapper.contact div.contact_methods_container div.business_info_container div.info_header_row div.finder_title {
    color: var(--mitre10Blue);
}

div.page_wrapper.contact div.contact_methods_container div.business_info_container div.info_value {
    margin-left: 2.5em;
    margin-bottom: 2em;
}
div.page_wrapper.contact div.contact_methods_container div.business_info_container div.map_container {
    margin-top: 1em;
    border-radius: 1em;
    overflow: hidden;
    border: 1px solid var(--mitre10Blue)
}

div.page_wrapper.contact div.contact_methods_container form#form_contact_us {
    width: calc(50% - 1.5em);
}

div.page_wrapper.contact #contact_us_result_container {
    display: none;
    padding-top: 1em;
    font-size: 1.0em;
}

/* END PAGE - CONTACT US */

/* PAGE - TRADE */
div.form_container.trade {
}

div.content_container div.content form.trade {
    border: 1px solid #eee;
    width: 100%;
    background: none;
    padding: 0;
    border-radius: 0;
    display: block;
}

div.content_container div.content form.trade div.title_row {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    padding: 0;
    background-color: var(--mitre10Blue);
}

div.content_container div.content form.trade div.title_row h2.title {
    width: 100%;
    font-size: 1.5em;
    color: white;
    text-align: center;
}

div.content_container div.content form.trade div.title_row h2.title.no_margin_bottom {
    margin-bottom: 0;
}

div.content_container div.content form.trade div.title_row h4.subtitle {
    width: 100%;
    font-size: 1.0em;
    margin: 0 0 1em 0;
    color: white;
    font-style: italic;
    font-weight: normal;
    text-align: center;
}

div.content_container div.content form.trade div.row {
    display: flex;
    flex-wrap: wrap;
}

div.content_container div.content form.trade div.row input {
    width: 100%;
    margin-bottom: 0.5em;
}

div.content_container div.content form.trade div.row div.radio_group input[type="radio"]{
    width: unset;
    display: inline-block;
}

div.content_container div.content form.trade div.row div.radio_group label {
    width: unset;
    display: inline-block;
    margin: 0;
}


div.content_container div.content form.trade div.row.light_blue {
    background-color: var(--formLightBlue);
}

div.content_container div.content form.trade div.row div.column {
    width: 50%;
    padding: 0.5em;
}

div.content_container div.content form.trade div.row div.column.radio_column {
    width: 33.33%;
    padding: 1em;
}

div.content_container div.content form.trade div.row div.column.radio_column:not(:last-child) {
    border-right: 1px solid #eee;
}

div.content_container div.content form.trade div.row div.column.cells_container,
div.content_container div.content form.trade div.row div.cells_container {
    display: flex;
    padding: 0;
}

div.content_container div.content form.trade div.row div.column div.cell {
    width: 50%;
    padding: 0.5em;
}

div.content_container div.content form.trade div.row div.column div.cell.narrow {
    max-width: 8em;
}

div.content_container div.content form.trade div.row div.column div.cell.grow {
    flex: 1;
}

div.content_container div.content form.trade button[type=submit] {
    max-width: 25em;
}



/* END PAGE - TRADE */



/* END PAGES */

/********************
	MEDIA QUERIES
*********************/
@media only screen and (max-width : 1600px) {

    div.content_container div.content {
        padding: 3em 10% 1em 10%;
    }

    div.content_container div.content.wider {
        padding: 3em 5% 1em 5%;
    }

    div.page_wrapper.catalogues div.catalogues_container div.catalogue {
        margin-right: 3em;
    }
}

@media only screen and (max-width : 1400px) {

    div.page_wrapper.catalogues div.catalogues_container div.catalogue {
        margin-right: 2em;
    }
}



@media only screen and (max-width : 1200px) {

    div.content_container div.content {
        padding: 3em 5% 1em 5%;
    }

    div.page_wrapper.catalogues div.catalogues_container div.catalogue {
        margin-right: 2em;
    }
}



@media only screen and (max-width : 992px) {

    div.page_wrapper .banner_title {
        font-size: 2.5em;
    }

    div.content_container div.content {
        padding: 3em 2em 1em 2em;
    }

    div.content_container div.content img.summary_image {
        width: 100%;
        margin: 2em 0;
    }

    div.content_container div.content form.trade div.row div.column.radio_column {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid #eee;
    }
}

@media only screen and (max-width : 768px) {
    div.content_container div.content form.trade div.row div.column {
        width: 100%;
    }
}

@media only screen and (max-width : 620px) {

    div.page_wrapper.contact div.contact_methods_container div.business_info_container,
    div.page_wrapper.contact div.contact_methods_container form#form_contact_us {
        width: 100%;
        margin: 0 0 2em 0;
    }

}

@media only screen and (max-width : 480px) {

    div.page_wrapper .banner_title {
        font-size: 1.75em;
        padding: 1.0rem 2.0rem;
    }

    div.content_container div.content {
        padding: 0.5em 1.5em 1em 1.5em;
    }

    div.content_container div.content .content_heading {
        margin-top: 1em !important;
        font-size: 1.25rem;
        text-align: center;
    }

    div.content_container div.content div.featured_brands_container img.company_logo {
        width: calc(50% - 2em) ;
        margin: 0.5em 1em;
    }

    div.content_container div.content form {
        padding: 2em 1.5em;
    }

    div.page_wrapper.catalogues div.catalogues_container {
        -webkit-box-pack: center;
        justify-content: center;
    }

    div.page_wrapper.catalogues div.catalogues_container div.catalogue {
        margin: 0 0 4em 0;
        width: 100%;
    }

    div.page_wrapper.catalogues div.catalogues_container div.catalogue a img.catalogue_thumb {
        margin-bottom: 1.0em;
    }
}

@media only screen and (max-width : 360px) {

    div.content_container div.content {
        padding: 0.5em 1.0em 1em 1.0em;
    }

}