/**
 * Mobile layout fixes for PC2012 theme.
 */

@media only screen and (max-width: 767px) {
    html,
    body {
        overflow-x: hidden;
    }

    body .container,
    .sixteen.columns,
    .container.sixteen.columns {
        box-sizing: border-box;
        max-width: 100% !important;
        padding-left: 12px;
        padding-right: 12px;
        width: 100% !important;
    }

    #logo_section {
        position: relative;
    }

    #logo_container {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        padding-top: 8px;
        padding-bottom: 8px;
    }

    #logo,
    #blank,
    #contact_holder {
        box-sizing: border-box;
        float: none !important;
        margin: 0 !important;
        width: auto !important;
    }

    #logo {
        flex: 1 1 160px;
        order: 1;
    }

    #logo img {
        height: auto;
        max-width: 200px;
        width: 100%;
    }

    #contact_holder {
        display: flex;
        flex: 0 0 auto;
        gap: 6px;
        order: 2;
    }

    #blank {
        display: none;
    }

    .contact_icon {
        margin-top: 0 !important;
    }

    #nav_bg {
        display: none !important;
    }

    #logo_section .slicknav_menu {
        background: #d9d9d9 !important;
        box-sizing: border-box;
        display: block !important;
        flex: 1 1 100%;
        margin: 0;
        order: 3;
        padding: 0;
        width: 100% !important;
    }

    #logo_section .slicknav_btn {
        background: #d9d9d9 !important;
        border-radius: 0;
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin: 0 !important;
        min-height: 48px;
        padding: 12px 16px !important;
        width: 100%;
    }

    #logo_section .slicknav_menu .slicknav_menutxt {
        color: #00f !important;
        float: none;
        font-size: 16px;
        font-weight: 700;
        line-height: 1.2;
        text-shadow: none;
    }

    #logo_section .slicknav_menu .slicknav_icon-bar {
        background-color: #00f !important;
    }

    #logo_section .slicknav_nav {
        background: #fff;
        border-top: 3px solid red;
        clear: both;
        width: 100% !important;
    }

    #logo_section .slicknav_nav a {
        color: #00f !important;
        font-size: 15px;
        padding: 12px 16px !important;
        text-transform: none;
        width: auto !important;
    }

    #logo_section .slicknav_nav a:hover,
    #logo_section .slicknav_nav a.selected {
        background: red !important;
        color: #fff !important;
    }

    #slider,
    .rslides_container,
    #slider1 {
        min-height: 220px;
    }

    #slider1 li {
        min-height: 220px !important;
    }

    #slider1 li img {
        min-height: 220px !important;
    }

    #red_circle {
        border-radius: 50%;
        height: 220px !important;
        left: 50% !important;
        margin-left: -110px;
        top: 20px !important;
        width: 220px !important;
    }

    .circle_content {
        font-size: 16px !important;
        margin-top: 28px !important;
        padding: 0 12px;
    }

    .circle_content span {
        font-size: inherit !important;
    }

    #blue_bar {
        height: auto !important;
        min-height: 0;
        padding: 12px 0;
    }

    #blue_bar table,
    #blue_bar td {
        display: block;
        width: 100% !important;
    }

    #welcome {
        font-size: 28px !important;
        margin-left: 0 !important;
    }

    .ContentPageContent img,
    .content-control img,
    #content img {
        display: block;
        float: none !important;
        height: auto !important;
        margin: 0 0 12px !important;
        max-width: 100% !important;
        width: 100% !important;
    }

    .ContentPageHeader {
        font-size: 24px !important;
        line-height: 1.2;
        word-break: break-word;
    }

    #content_bg,
    #content,
    #footer_bg,
    #footer_holder {
        height: auto !important;
        min-height: 0;
    }

    #footer_holder {
        display: flex;
        flex-direction: column;
        gap: 24px;
    }

    #nav2,
    #form,
    #contact_footer {
        float: none !important;
        width: 100% !important;
    }

    #footer_bg {
        background-size: cover !important;
        min-height: 0 !important;
        padding-bottom: 16px;
    }

    .footer_header {
        font-size: 20px !important;
        margin-top: 16px !important;
    }

    .nav2 ul {
        margin-left: 0 !important;
    }

    .pc2012-quote-form .registration_field_label_holder {
        display: block;
    }

    .pc2012-quote-form .registration_label_holder,
    .pc2012-quote-form .registration_control_holder {
        display: block;
        width: 100% !important;
    }

    .pc2012-quote-form .registration_control_holder input,
    .pc2012-quote-form .registration_control_holder textarea,
    .pc2012-quote-form .form_captcha_control_holder {
        max-width: 100% !important;
        width: 100% !important;
    }

    .pc2012-quote-form .form_captcha {
        padding-left: 0 !important;
    }

    .pc2012-quote-form input[type="submit"] {
        width: 100%;
    }

    #form,
    #form .Registration,
    #form .pc2012-contact-form {
        float: none !important;
        max-width: 100%;
        width: 100% !important;
    }

    #form .registration_field_form-control input,
    #form .registration_field_holder input,
    #form .registration_field_enquiry_comment textarea,
    #form .form_captcha_control_holder,
    #form .form textarea {
        max-width: 100% !important;
        width: 100% !important;
    }

    #form input[type="submit"] {
        float: none !important;
        margin-right: 0 !important;
        width: 100%;
    }

    .pc2012-contact-form__input,
    .pc2012-contact-form__textarea,
    .form textarea,
    .form input[type="text"],
    .form input[type="email"],
    .form input[type="tel"] {
        max-width: 100% !important;
        width: 100% !important;
    }

    .form input[type="submit"],
    .pc2012-contact-form__submit {
        float: none !important;
        margin-right: 0 !important;
        width: 100%;
    }

    .MasterFooter .container {
        text-align: center;
    }

    .MasterFooterCopyright {
        display: block;
        line-height: 1.6;
        padding: 8px 0;
    }

    #marqee marquee {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }

    #marqee .icon {
        display: inline-block;
        vertical-align: middle;
    }

    #marqee .icon img {
        max-height: 48px;
        width: auto;
    }

    .ContentPageContent iframe,
    #content iframe {
        height: 260px !important;
        max-width: 100%;
    }

    table.ContentPageTable,
    .ContentPageContent table {
        display: block;
        overflow-x: auto;
        width: 100% !important;
    }
}

@media only screen and (min-width: 768px) and (max-width: 959px) {
    #logo img {
        max-width: 100%;
    }

    #nav a {
        padding: 14px 16px 15px !important;
    }

    #red_circle {
        height: 280px !important;
        width: 280px !important;
    }
}
