<style>
    .main-wrapper .component-paragraph-field{
        width: 100%;
    }
    .main-wrapper {
        background-color: #f3f3f3;
    }

    #pagecontant h3,
    #pagecontant p {
        white-space: normal !important
    }

    #pagecontant tr {
        background-color: transparent !important
    }

    .headline {
        color: #000 !important
    }

    img {
        width: 100%;
    }

    [hidden] {
        display: none
    }

    html {
        font-family: Helvetica, Arial, sans-serif;
        -webkit-text-size-adjust: 100%;
        -ms-text-size-adjust: 100%
    }

    body {
        margin: 0
    }

    a:focus {
        outline: thin dotted
    }

    a:active,
    a:hover {
        outline: 0
    }

    h1 {
        font-size: 2em;
        margin: 0
    }

    table {
        border-collapse: collapse;
        border-spacing: 0
    }

    ul {
        list-style: none;
        margin: 0;
        padding: 0
    }

    p {
        margin: 0;
        padding: 0;
    }

    * {
        font-family: muliregular;
        font-weight: 400
    }

    .para-row-inner-el {
        padding-top: 10px;
        padding-bottom: 10px
    }

    .para-orange-border img {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box
    }

    html {
        height: 100%;
        font-size: 10px
    }

    body {
        background-color: #f3f3f3;
        height: 100%;
        line-height: 1
    }

    p {
        font-size: 13px;
        font-size: 1.3rem
    }

    a {
        text-decoration: none;
        -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
        outline-style: none
    }

    * {
        -webkit-tap-highlight-color: transparent
    }

    ::selection {
        background: #f3f3f3;
        color: #f39801
    }

    ::-moz-selection {
        background: #f3f3f3;
        color: #f39801
    }

    .row:after,
    .row:before {
        content: "\0020";
        display: block;
        height: 0;
        overflow: hidden
    }

    .row:after {
        clear: both
    }

    .align_center {
        text-align: center;
        width: 100%
    }

    .align_right {
        text-align: right
    }

    .more {
        color: #f39801;
        text-transform: uppercase;
        font-size: 13px;
        font-size: 1.3rem
    }

    .more:focus,
    .more:hover {
        text-decoration: underline
    }

    #page .row {
        margin: 0 auto;
        max-width: 1000px;
        padding: 0 12px;
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }

    #logo {
        margin-left: 20px;
        margin-bottom: 10px
    }

    @media (max-width:800px) {
        #logo {
            height: 40px;
            margin-left: 0;
            width: 90px
        }
    }

    ::-webkit-input-placeholder {
        color: #dadada
    }

    :-moz-placeholder {
        color: #dadada
    }

    ::-moz-placeholder {
        color: #dadada
    }

    :-ms-input-placeholder {
        color: #dadada
    }

    table {
        color: #3f3e44;
        width: 100%;
        font-size: 13px;
        font-size: 1.3rem;
        word-wrap: break-word;
        table-layout: auto
    }

    @media (max-width:500px) {
        table {
            table-layout: fixed
        }
    }

    @media (min-width:800px) and (max-width:1024px) {
        table {
            table-layout: fixed
        }
    }

    .imgL {
        width: 35%
    }

    .text table {
        background-color: #fff;
        border: solid #fff 10px
    }

    tbody tr:nth-child(even) {
        background: #f3f3f3
    }

    .text td p {
        font-size: inherit;
        line-height: inherit;
        margin: 0
    }

    td {
        text-align: left;
    }

    @media screen and (max-width:800px) {
        .imgL {
            width: 100%
        }

        .text table {
            display: block;
            position: relative;
            width: 100%
        }

        .text table tbody {
            display: block;
            overflow-x: auto;
            position: relative;
            white-space: nowrap;
            width: auto;
            -webkit-overflow-scrolling: touch
        }

        .text table tbody tr {
            vertical-align: top
        }

        .text table tbody td {
            display: block
        }
    }

    .col-2 table td:first-child {
        line-height: 1.4
    }

    .h1,
    h1,
    h2,
    h3 {
        color: #000;
        line-height: 1;
        margin: 0
    }

    h1 {
        line-height: 1.1;
        font-size: 40px;
        font-size: 4rem
    }

    .decotitle p {
        color: #76747f;
        line-height: 1.3;
        margin-bottom: 20px;
        font-size: 16px;
        font-size: 1.6rem
    }

    .text {
        color: #000;
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 1.5
    }

    .text p,
    .text ul {
        margin-bottom: 20px
    }

    .text a {
        color: #f39801
    }

    .text p {
        font-size: 16px;
        font-size: 1.6rem
    }

    .text h2 {
        margin: 10px 0 15px 0;
        font-size: 30px;
        font-size: 3rem
    }

    .text h3 {
        margin: 0 0 10px 0;
        font-size: 20px;
        font-size: 2rem
    }

    .text ul {
        list-style-type: disc
    }

    .text ul li {
        background: url(/sites/all/themes/npro_master/images/li_bg_text.png) no-repeat 0 8px;
        list-style-type: none;
        padding-left: 16px;
        margin-bottom: 5px
    }

    @media (max-width:500px) {
        .decotitle {
            position: relative
        }

        h1 {
            font-size: 30px;
            font-size: 3rem
        }

        .decotitle {
            overflow: hidden;
            padding: 30px 0 20px;
            position: relative;
            text-align: center
        }

        .decotitle h2 {
            color: #76747f;
            margin: 50px 0 10px;
            text-transform: uppercase;
            font-size: 30px;
            font-size: 3rem;
            display: inline;
            position: relative
        }

        .decotitle h2:after,
        .decotitle h2:before {
            content: "";
            display: block;
            height: 20px;
            position: absolute;
            top: 15px;
            width: 300%
        }

        .decotitle p {
            margin-bottom: 0
        }

        .decotitle-1 h2:before {
            background: url(/sites/all/themes/npro_master/global_resources/images/deco/deco-left.png) no-repeat right 0;
            right: 100%
        }

        .decotitle-1 h2:after {
            background: url(/sites/all/themes/npro_master/global_resources/images/deco/deco-right.png) no-repeat left 0;
            left: 100%
        }

        .decotitle-2 h2:before {
            background: url(/sites/all/themes/npro_master/global_resources/images/deco/deco2.png) no-repeat right 0;
            right: 100%
        }

        .decotitle-2 h2:after {
            background: url(/sites/all/themes/npro_master/global_resources/images/deco/deco2.png) no-repeat left 0;
            left: 100%
        }
    }

    .col-img-container {
        text-align: center;
        margin: 0 auto
    }

    .col-img-container img {
        max-width: 100%;
        height: auto
    }

    .brand-cell {
        max-width: 220px;
        margin: 8px 14px;
        float: left;
        background-color: #fff;
        padding: 12px;
    }

    @media print {
        html {
            font-size: 9px
        }

        body {
            background-color: #fff
        }

        .more {
            display: none
        }
    }

    .para-container {
        max-width: 960px;
        margin: 0 auto 40px auto;
        line-height: 20px
    }

    .para-section-adjustment {
        margin-left: -10px;
        margin-right: -10px;
        overflow: hidden;
        padding-top: 10px
    }

    .para-section img {
        max-width: 100%;
        height: auto
    }

    .para-row {
        overflow: hidden
    }

    .para-row p,
    .para-row ul {
        line-height: 24px;
        margin-bottom: 10px
    }

    .para-row-full-image img {
        width: 100%;
        height: auto
    }

    .para-row-inner-logo-image img {
        width: 100%;
        height: auto
    }

    .para-1-1-1-col,
    .para-1-3-col,
    .para-2-col,
    .para-3-col,
    .para-4-col,
    .para-full-span {
        overflow: hidden
    }

    .para-full-span>.para-row {
        width: 97.91667%;
        float: left;
        margin-left: 1.04167%;
        margin-right: 1.04167%
    }

    .para-2-col>.para-row {
        width: 97.91667%;
        float: left;
        margin-left: 1.04167%;
        margin-right: 1.04167%
    }

    @media screen and (min-width:480px) {
        .para-2-col>.para-row {
            width: 47.91667%;
            float: left;
            margin-left: 1.04167%;
            margin-right: 1.04167%
        }

        .para-2-col .para-row-border .para-right-border {
            border-right: 2px solid #b8b9bb
        }

        .para-2-col .para-row:nth-of-type(2n+1) .para-row-border .para-right-border {
            border: none
        }
    }

    .para-2-col>.para-row .image-2-3-col {
        max-width: 306.66px;
        margin: 0 auto
    }

    .para-3-col>.para-row {
        width: 97.91667%;
        float: left;
        margin-left: 1.04167%;
        margin-right: 1.04167%
    }

    @media screen and (min-width:480px) {
        .para-3-col>.para-row {
            width: 31.25%;
            float: left;
            margin-left: 1.04167%;
            margin-right: 1.04167%
        }
    }

    .para-4-col>.para-row {
        width: 97.91667%;
        float: left;
        margin-left: 1.04167%;
        margin-right: 1.04167%
    }

    @media screen and (min-width:480px) {
        .para-4-col>.para-row {
            width: 47.91667%;
            float: left;
            margin-left: 1.04167%;
            margin-right: 1.04167%
        }
    }

    @media screen and (min-width:960px) {
        .para-4-col>.para-row {
            margin-top: -10px;
            width: 22.91667%;
            float: left;
            margin-left: 1.04167%;
            margin-right: 1.04167%
        }
    }

    @media screen and (min-width:480px) {
        .para-4-col .para-right-border {
            border-right: 2px solid #b8b9bb
        }
    }

    @media screen and (min-width:480px) {
        .para-4-col .para-row:nth-of-type(2n) .para-right-border {
            border: none
        }
    }

    @media screen and (min-width:960px) {
        .para-4-col .para-row:nth-of-type(2n) .para-right-border {
            border-right: 2px solid #b8b9bb
        }

        .para-4-col .para-row:nth-of-type(4n) .para-right-border {
            border: none
        }
    }

    .para-1-3-col>.para-row:first-child {
        width: 97.91667%;
        float: left;
        margin-left: 1.04167%;
        margin-right: 1.04167%
    }

    @media screen and (min-width:480px) {
        .para-1-3-col>.para-row:first-child {
            width: 31.25%;
            float: left;
            margin-left: 1.04167%;
            margin-right: 1.04167%
        }
    }

    @media screen and (min-width:960px) {
        .para-1-3-col>.para-row:first-child {
            width: 22.91667%;
            float: left;
            margin-left: 1.04167%;
            margin-right: 1.04167%
        }
    }

    .para-1-3-col>.para-row:last-child {
        width: 97.91667%;
        float: left;
        margin-left: 1.04167%;
        margin-right: 1.04167%;
        float: right
    }

    @media screen and (min-width:480px) {
        .para-1-3-col>.para-row:last-child {
            width: 64.58333%;
            float: left;
            margin-left: 1.04167%;
            margin-right: 1.04167%
        }
    }

    @media screen and (min-width:960px) {
        .para-1-3-col>.para-row:last-child {
            width: 72.91667%;
            float: left;
            margin-left: 1.04167%;
            margin-right: 1.04167%
        }
    }

    .para-1-1-1-col>.para-row {
        width: 97.91667%;
        float: left;
        margin-left: 1.04167%;
        margin-right: 1.04167%
    }

    .para-1-1-1-col>.para-row .para-row-inner-el {
        padding-top: 0
    }

    @media screen and (min-width:480px) {
        .para-1-1-1-col>.para-row {
            width: 47.91667%;
            float: left;
            margin-left: 1.04167%;
            margin-right: 1.04167%
        }
    }

    @media screen and (min-width:960px) {
        .para-1-1-1-col>.para-row {
            width: 31.25%;
            float: left;
            margin-left: 1.04167%;
            margin-right: 1.04167%
        }
    }

    .para-1-1-1-col>.para-row:last-child {
        width: 97.91667%;
        float: left;
        margin-left: 1.04167%;
        margin-right: 1.04167%;
        float: right
    }

    @media screen and (min-width:480px) {
        .para-1-1-1-col>.para-row:last-child {
            width: 97.91667%;
            float: left;
            margin-left: 1.04167%;
            margin-right: 1.04167%
        }
    }

    .para-1-1-1-col>.para-row:last-child .para-row-inner {
        width: 97.91667%;
        float: left;
        margin-left: 1.04167%;
        margin-right: 1.04167%
    }

    @media screen and (min-width:480px) {
        .para-1-1-1-col>.para-row:last-child .para-row-inner {
            width: 47.91667%;
            float: left;
            margin-left: 1.04167%;
            margin-right: 1.04167%
        }
    }

    @media screen and (min-width:960px) {
        .para-1-1-1-col>.para-row:last-child .para-row-inner {
            width: 97.91667%;
            float: left;
            margin-left: 1.04167%;
            margin-right: 1.04167%
        }
    }

    @media screen and (min-width:960px) {
        .para-1-1-1-col>.para-row:last-child {
            width: 31.25%;
            float: left;
            margin-left: 1.04167%;
            margin-right: 1.04167%
        }
    }

    .para-headline {
        font-size: 30px;
        font-weight: 900;
        margin-bottom: 15px;
        line-height: 40px;
        text-transform: capitalize
    }

    .para-row-image-style {
        text-align: center
    }

    .para-2-col .para-row {
        margin-bottom: 0;
        margin-top: 0
    }

    .para-2-col .para-headline {
        margin-bottom: 0;
        margin-top: 0
    }

    .para-section-3-row .text .para-headline {
        margin-bottom: 10px
    }

    .field-name-field-paragraph .field-item:last-child .para-container {
        margin-bottom: 15px
    }

    .para-1-3-col .para-headline {
        margin-bottom: 10px
    }

    @media screen and (max-width:959px) {
        .para-section-7-row.para-row:last-child {
            display: -webkit-box;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-flex-flow: row wrap;
        }
    }

    @media screen and (max-width:959px) {
        .para-section-adjustment.para-4-col {
            display: -webkit-box;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-flex-flow: row wrap;
        }
    }

    @media screen and (min-width:960px) {
        .para-section-7-row.text {
            margin-left: 10px
        }
    }

    @media screen and (min-width:480px) {

        .para-section-4 .para-headline,
        .para-section-7 .para-headline {
            margin-top: 0;
            line-height: 45px
        }

        .para-section-4 .para-row.text,
        .para-section-7 .para-row.text {
            margin-top: 0
        }
    }

    .node-type-brand .field-name-field-paragraph .field-item:first-child .para-container {
        margin-top: 25px
    }

    .node-type-brand .field-name-field-paragraph>.para-container {
        margin-top: 25px;
        margin-bottom: 15px
    }

    .para-2-col .para-maintext.para-row-inner-height * {
        width: 95%
    }

    video {
        max-width: 100%;
        height: auto
    }

    .brand-infos {
        margin-bottom: 30px
    }

    .brand-infos .h1,
    .brand-infos h2 {
        margin: 10px 0 30px
    }

    .brand-infos .headline {
        color: #76747f;
        line-height: 1.8;
        margin-bottom: 30px;
        font-size: 16px;
        font-size: 1.6rem
    }

    .brand-name,
    .category {
        color: #b8b9bb;
        padding-right: 50px;
        text-transform: uppercase;
        font-size: 14px;
        font-size: 1.4rem
    }

    .category {
        padding-right: 110px
    }

    @media (max-width:640px) {
        .brand-cell {
            max-width: 200px;
            margin: 0 auto;
            float: none;
            margin-bottom: 20px;
        }

        td {
            width: 100%
        }

        .category {
            padding-right: 20px
        }
    }

    .pane-node {
        margin: 20px auto
    }

    .video-container {
        position: relative;
        padding-bottom: 56.25%;
        padding-top: 30px;
        margin-top: 20px;
        height: 0;
        overflow: hidden
    }

    .brand-infos h2 {
        margin-top: 0
    }

    .brand-infos .headline {
        margin-bottom: 10px
    }

    @media (max-width:500px) {
        .brand-infos {
            text-align: left
        }

        .brand-infos h2 {
            margin: 10px 0 20px
        }
    }

    .text {
        word-wrap: break-word
    }

    @media print {
        .text p {
            font-size: 14px;
            font-size: 1.4rem
        }
    }

    .pane-field-text .pane-content {
        padding-left: 10%
    }

    @media (max-width:500px) {
        .pane-field-text .pane-content {
            padding-left: 0
        }
    }

    .para-section-adjustment {
        margin: 0 !important
    }

    .para-section-adjustment {
        padding-top: 0 !important
    }

    .field-item .para-container .para-section-6 .para-4-col>.logo7 {
        margin: 0;
        width: 13%;
        float: none;
        display: inline-block
    }

    .field-item .para-container .para-section-6 .para-4-col>.logo6 {
        margin: 20px;
        width: 14%;
        float: none;
        display: inline-block
    }

    .field-item .para-container .para-section-6 .para-4-col>.logo5 {
        margin: 20px;
        width: 15%;
        float: none;
        display: inline-block
    }

    .field-item .para-container .para-section-6 .para-4-col>.logo4 {
        margin: 20px;
        width: 18%;
        float: none;
        display: inline-block
    }

    .field-item .para-container .para-section-6 .para-4-col>.logo3 {
        margin: 20px;
        width: 20%;
        float: none;
        display: inline-block
    }

    .field-item .para-container .para-section-6 .para-4-col>.logo2 {
        margin: 20px;
        width: 22%;
        float: none;
        display: inline-block
    }

    .field-item .para-container .para-section-6 .para-4-col>.logo1 {
        margin: 20px;
        width: 24%;
        float: none;
        display: inline-block
    }

    .logo-center {
        text-align: center
    }

    .video_thumbnail_align .para-row-el.para-row-image-style {
        position: relative
    }

    @media screen and (min-width:768px) {
        .para-maintext.para-row-inner-height h3 {
            height: 50px
        }

        .para-maintext.para-row-inner-height p {
            height: auto
        }
    }

    @media screen and (max-width:500px) {
        img.media-element.file-default {
            width: 100%;
            height: auto
        }
    }

    @media screen and (max-width:550px) {
        .field-item .para-container .para-section-6 .para-4-col>.logo7 {
            margin: auto;
            width: 45%
        }
    }

    @media screen and (max-width:767px) {
        .field-item .para-container .para-section-6 .para-4-col>.logo7 {
            margin: auto;
            width: 33%
        }
    }

    @media screen and (max-width:1024px) {
        .field-item .para-container .para-section-6 .para-4-col>.logo7 {
            margin: auto;
            width: 13%
        }
    }

    @supports (-ms-accelerator:true) {
        .custom-us.front img[src="https://www.nestleprofessional.us/"] {
            display: none
        }
    }

    .embedded-entity.align-center img{
        padding: 30px;
    background-color: #fff;
    }
</style>
