@font-face { font-family: 'Source Sans Pro'; font-weight: normal; font-style: normal; text-rendering: optimizeLegibility;
    src: url('font/sourcesanspro-regular-webfont.eot');
    src: url('font/sourcesanspro-regular-webfont.eot?#iefix') format('embedded-opentype'),
         url('font/sourcesanspro-regular-webfont.woff2') format('woff2'),
         url('font/sourcesanspro-regular-webfont.woff') format('woff'),
         url('font/sourcesanspro-regular-webfont.ttf') format('truetype'),
         url('font/sourcesanspro-regular-webfont.svg#source_sans_proregular') format('svg');
}

@font-face { font-family: 'Source Sans Pro'; font-weight: 600; font-style: normal; text-rendering: optimizeLegibility;
    src: url('font/sourcesanspro-semibold-webfont.eot');
    src: url('font/sourcesanspro-semibold-webfont.eot?#iefix') format('embedded-opentype'),
         url('font/sourcesanspro-semibold-webfont.woff2') format('woff2'),
         url('font/sourcesanspro-semibold-webfont.woff') format('woff'),
         url('font/sourcesanspro-semibold-webfont.ttf') format('truetype'),
         url('font/sourcesanspro-semibold-webfont.svg#source_sans_prosemibold') format('svg');
}

@font-face { font-family: 'Source Sans Pro'; font-weight: bold; font-style: normal; text-rendering: optimizeLegibility;
    src: url('font/sourcesanspro-bold-webfont.eot');
    src: url('font/sourcesanspro-bold-webfont.eot?#iefix') format('embedded-opentype'),
         url('font/sourcesanspro-bold-webfont.woff2') format('woff2'),
         url('font/sourcesanspro-bold-webfont.woff') format('woff'),
         url('font/sourcesanspro-bold-webfont.ttf') format('truetype'),
         url('font/sourcesanspro-bold-webfont.svg#source_sans_probold') format('svg');
}

@font-face { font-family: 'Source Sans Pro'; font-weight: normal; font-style: italic; text-rendering: optimizeLegibility;
    src: url('font/sourcesanspro-it-webfont.eot');
    src: url('font/sourcesanspro-it-webfont.eot?#iefix') format('embedded-opentype'),
         url('font/sourcesanspro-it-webfont.woff2') format('woff2'),
         url('font/sourcesanspro-it-webfont.woff') format('woff'),
         url('font/sourcesanspro-it-webfont.ttf') format('truetype'),
         url('font/sourcesanspro-it-webfont.svg#source_sans_proitalic') format('svg');
}

@font-face { font-family: 'Source Sans Pro EL'; font-weight: normal; font-style: normal; text-rendering: optimizeLegibility;
    src: url('font/sourcesanspro-extralight-webfont.eot');
    src: url('font/sourcesanspro-extralight-webfont.eot?#iefix') format('embedded-opentype'),
         url('font/sourcesanspro-extralight-webfont.woff2') format('woff2'),
         url('font/sourcesanspro-extralight-webfont.woff') format('woff'),
         url('font/sourcesanspro-extralight-webfont.ttf') format('truetype'),
         url('font/sourcesanspro-extralight-webfont.svg#source_sans_proextralight') format('svg');
}


body {
    margin: 0;
    background: #fff url(../img/site-bg.jpg);
    background-size: 100% auto;
    background-repeat: repeat-y;
    font-family: 'Source Sans Pro', sans-serif;
}
/*body:before { content: " "; position: absolute; width: 1280px; top: 0; bottom: 0; left: 50%; margin-left: -640px; background: #fff; }*/
body>div.page {
    position: relative;
    box-sizing: border-box;
    margin: auto;
    min-width: 300px;
    max-width: 1280px;
    background: transparent;
}

.cf:after {content: ""; display: table; clear: both;}

.clear { clear: both; }

a { color: #083f88; text-decoration: none; }
a:hover { text-decoration: underline; }
a > img { border: none; } /* IE 10- */

sup { position: relative; top: -1px; font-size: 100%; font-weight: normal; vertical-align: baseline; }

header { position: relative; z-index: 200; margin: 0 58px; padding: 1px 0 0 0; height: 133px; }
header h1 { position: absolute; margin: 16px 0 0 12px; display: inline-block; }
header h1 a { position: absolute; z-index: 100; display: block; width: 244px; height: 110px; background: url(../img/logo.png) no-repeat; text-indent: -9999px; }
header .contact { position: absolute; top: 20px; right: 24px; color: #083f88; font-size: 18px; font-weight: 600; text-transform: uppercase; }
header .contact a { color: #083f88; }

/* top navigation */
header ul { list-style: none; font-size: 0; line-height: 0; }
header ul.nav { position: absolute; height: 48px; margin: 0; padding: 0; }
header ul.nav > li { display: inline-block; }
header ul.nav > li > a { display: inline-block; font-weight: 600; }
header ul.nav > li a { padding: 18px; color: #083f88; font-size: 18px; }
header ul.nav > li a:hover { color: #6ECFF6; text-decoration: none; }
header ul.nav > li.active > a,
header ul.nav > li:hover > a { background-color: rgba(255,255,255,0.95); }
header ul.nav > li > ul,
header ul.nav > li .dropdown,
header ul.nav > li .dividers,
header ul.nav > li > div ul { position: absolute; z-index: 10; margin: 0; border-radius: 0 0 12px 12px; padding: 0; background-color: rgba(255,255,255,0.95); box-shadow: 0px 4px 4px rgba(0,0,0,0.25); overflow: hidden; transition: max-height 0.25s, padding 0.4s;  }
header ul.nav > li > ul,
header ul.nav > li .dropdown,
header ul.nav > li > div ul { max-height: 0; }
header ul.nav > li:hover > ul { padding-bottom: 10px; }
header ul.nav > li:hover > ul,
header ul.nav > li:hover > div ul { max-height: 600px; }

/*these keep safaria from activating the menus of later siblings
safaria activates :hover when a the cursor is near an element before it is even over it.
this means that you can still :hover over a menu with a max-height of zero just by being near where it would be
and because elements later in the dom take priority if a menu is overlapped by the menu to the right
and you hover of the top edge of where it would be the right menu gets activing
*/
header ul.nav > li:nth-child(1) .dropdown,header ul.nav > li:nth-child(1) .dividers{
    z-index: 10;
}
header ul.nav > li:nth-child(2) .dropdown,header ul.nav > li:nth-child(2) .dividers{
    z-index: 9;
}
header ul.nav > li:nth-child(3) .dropdown,header ul.nav > li:nth-child(3) .dividers{
    z-index: 8;
}
header ul.nav > li:nth-child(4) .dropdown,header ul.nav > li:nth-child(4) .dividers{
    z-index: 7;
}
header ul.nav > li:nth-child(5) .dropdown,header ul.nav > li:nth-child(5) .dividers{
    z-index: 6;
}
header ul.nav > li:nth-child(6) .dropdown,header ul.nav > li:nth-child(6) .dividers{
    z-index: 5;
}


/* standard text-only drop-down */
header ul.nav > li > ul { width: 200px; }
header ul.nav > li > ul > li a { margin: 0 12px; border-bottom: 1px solid #6ECFF6; padding: 16px 12px; font-size: 16px; line-height: 110%; transition: padding 0.5s; }
header ul.nav > li > ul > li a:hover { background-color: rgba(110,207,246,0.15); color: #083f88; }
header ul.nav > li > ul > li:hover ul li:first-child a { padding-top: 8px; }
header ul.nav > li > ul > li:last-child a { border-bottom: none; border-radius: 0 0 10px 10px; padding-bottom: 16px; }
header ul.nav > li > ul > li > a { display: block; font-weight: normal; }

/* primary navigation */
header ul.primary { left: 0; right: 0; margin: 52px 64px 0 90px; padding-left: 200px; }
header ul.primary > li { position: relative; display: inline-block; margin: 0 40px 0 0; padding: 0; line-height: 12px; }
header ul.primary > li:last-child { margin-right: 0; }
header ul.primary > li:after { position: absolute; top: 12px; right: -30px; content: "..."; color: #6ECFF6; font-size: 24px; letter-spacing: 1px; cursor: default; pointer-events: none; }
header ul.primary > li:last-child:after { display: none; }

/* mega-menus */
header ul.primary .dividers ul { position: relative; border-radius: 0; background-color: transparent; overflow: hidden; box-shadow: none; }
header ul.primary li:hover .dividers { padding-top: 4px; padding-bottom: 4px; }

header ul.primary .brands .dividers { box-sizing: border-box; width: 308px; margin-left: -95px; padding: 0 8px; }
/*header ul.primary .brands > div { overflow: hidden; }*/
header ul.primary .brands ul li { display: inline-block; margin-left: -1px; }
header ul.primary .brands ul a { display: block; height: 48px; margin: 8px 0 8px 0; padding: 0 8px; background-position: center; background-repeat: no-repeat; text-indent: -9999px; border-bottom: none; border-left: 1px solid #6ECFF6; transition: background-color 0.1s; }
header ul.primary .brands ul a:hover { background-color: rgba(110,207,246,0.15); }
.brands .galbani a { width: 72px; background-image: url(../img/brands/galbani.png); }
.brands .president a { width: 80px; background-image: url(../img/brands/president.png); }
.brands .parmalat a { width: 90px; background-image: url(../img/brands/parmalat.png); }


header ul.primary .products .dividers { width: 656px; margin-left: -300px; }
header ul.primary .products ul { margin: 0 8px; }
header ul.primary .products ul li { display: inline-block; width: 160px; margin: 6px 0; overflow: hidden; }
header ul.primary .products ul li:hover { background-color: rgba(110,207,246,0.15); }
header ul.primary .products ul li:hover a { color: #083f88; }
header ul.primary .products ul li:before { content: " "; position: absolute; margin-left: -1px; height: 115px; border-left: 1px solid #6ECFF6; pointer-events: none; }
header ul.primary .products ul a { position: relative; display: block; height: 115px; margin: 0; padding: 0; background-position: center 8px; background-repeat: no-repeat; background-size: 90%; }
header ul.primary .products ul a span { position: absolute; bottom: 0; left: 0; right: 0; display: block; padding: 0 24px 8px; font-size: 14px; line-height: 110%; text-align: center; }
header ul.primary .products ul .mozzarella > a { background-image: url(../img/products/categories/mozzarella.png); }
header ul.primary .products ul .ricotta-and-mascarpone > a { background-image: url(../img/products/categories/ricotta-and-mascarpone.png); background-size: 60%; }
header ul.primary .products ul .brie-spreadable-and-semisoft-cheese > a { background-image: url(../img/products/categories/brie-spreadable-and-semisoft-cheese.png); background-size: 80%; }
header ul.primary .products ul .cheddar > a { background-image: url(../img/products/categories/cheddar.png); }
header ul.primary .products ul .provolone-and-other-italian > a { background-image: url(../img/products/categories/provolone-and-other-italian.png); background-size: 80%; }
header ul.primary .products ul .manchego-and-specialty-cheese > a { background-image: url(../img/products/categories/manchego-and-specialty-cheese.png); }
header ul.primary .products ul .blends-and-other > a { background-image: url(../img/products/categories/blends-and-other.png); background-size: 70%; }
header ul.primary .products ul .milk-and-butter > a { background-image: url(../img/products/categories/milk-and-butter.png); background-size: 80%; }
header ul.primary .products ul ul { display: none; }

header ul.primary .products .container { position: relative; }
header ul.primary .products .container .back { position: absolute; top: -4px; bottom: -4px; width: 44px; margin: 0; padding: 0; background: rgba(110,207,246,0.75) url(../img/nav-back.png) center center no-repeat; transition: background-color 0.1s; }
header ul.primary .products .container .back:hover { background-color: rgba(110,207,246,0.95); }
header ul.primary .products .container .subtypes { position: absolute; top: 0; bottom: 0; right: 0; padding: 0; }
header ul.primary .products .container .subtypes li { box-sizing: border-box; width: 148px; border-radius: 12px 0 0 0; margin: 6px 6px 6px 6px; padding: 6px; background-color: rgba(255,255,255,0.75); box-shadow: 0 0 3px rgba(0,0,0,0.25); }
header ul.primary .products .container .subtypes li:hover { background-color: rgba(255,255,255,1); box-shadow: 0 0 4px rgba(0,0,0,0.5); }
header ul.primary .products .container .subtypes li:before { margin-left: -13px; height: 104px; border-left: none; }
header ul.primary .products .container .subtypes li a { position: relative; box-sizing: border-box; height: 104px; border-radius: 10px 0 0 0; padding: 88px 0 0 6px; background-size: 100%; background-position: center 0; }
header ul.primary .products .container .subtypes li a span { position: absolute; left: 0; right: 0; bottom: 0; padding: 4px 6px; text-align: left; line-height: 100%; color: #fff; font-size: 12px; font-weight: bold; text-shadow: 0 0 2px rgba(0,0,0,1); text-transform: uppercase; }
.subtypes .sub-ptit-basque a { background: url(../img/products/types/ptit-basque.jpg); }
.subtypes .sub-mozzarella a { background: url(../img/products/types/mozzarella.jpg); }
.subtypes .sub-romano a { background: url(../img/products/types/romano.jpg); }
.subtypes .sub-goat-cheese a { background: url(../img/products/types/goat-cheese.jpg); }
.subtypes .sub-roquefort a { background: url(../img/products/types/roquefort.jpg); }
.subtypes .sub-fresh-mozzarella a { background: url(../img/products/types/fresh-mozzarella.jpg); }
.subtypes .sub-bel-paese a { background: url(../img/products/types/bel-paese.jpg); }
.subtypes .sub-spreadable-cheese a { background: url(../img/products/types/spreadable-cheese.jpg); }
.subtypes .sub-shred-blends a { background: url(../img/products/types/shred-blends.jpg); }
.subtypes .sub-ricotta a { background: url(../img/products/types/ricotta.jpg); }
.subtypes .sub-blue-cheese a { background: url(../img/products/types/blue-cheese.jpg); }
.subtypes .sub-cheddar a { background: url(../img/products/types/cheddar.jpg); }
.subtypes .sub-snack a { background: url(../img/products/types/snack.jpg); }
.subtypes .sub-mascarpone a { background: url(../img/products/types/mascarpone.jpg); }
.subtypes .sub-swiss a { background: url(../img/products/types/swiss.jpg); }
.subtypes .sub-provolone a { background: url(../img/products/types/provolone.jpg); }
.subtypes .sub-milk a { background: url(../img/products/types/milk.jpg); }
.subtypes .sub-brie a { background: url(../img/products/types/brie.jpg); }
.subtypes .sub-gorgonzola a { background: url(../img/products/types/gorgonzola.jpg); }
.subtypes .sub-asiago a { background: url(../img/products/types/asiago.jpg); }
.subtypes .sub-camembert a { background: url(../img/products/types/camembert.jpg); }
.subtypes .sub-manchego-and-other-spanish a { background: url(../img/products/types/manchego-and-other-spanish.jpg); }
.subtypes .sub-parmesan a { background: url(../img/products/types/parmesan.jpg); }
.subtypes .sub-feta a { background: url(../img/products/types/feta.jpg); }
.subtypes .sub-butter a { background: url(../img/products/types/butter.jpg); }

/* secondary navigation */
header ul.secondary {
    right: 0; width: 64px; margin: 52px 0 0 0;
}
header ul.secondary > li .dropdown { position: absolute; max-height: 0; border-radius: 0 0 12px 12px; padding: 0 12px; overflow: hidden; transition: max-height 0.25s, padding 0.4s; }
header ul.secondary > li.active .dropdown,
header ul.secondary > li:hover .dropdown { max-height: 600px; padding-top: 9px; padding-bottom: 22px; box-shadow: 0px 4px 4px rgba(0,0,0,0.25); }
header ul.secondary > li.active .dropdown { box-shadow: 0px 4px 8px rgba(0,0,0,0.5); }
header ul.secondary > li > a { display: block; box-sizing: border-box; width: 44px; height: 48px; margin: 0; padding: 0; background-position: 8px 11px; background-repeat: no-repeat; font-size: 18px; line-height: 11px; text-indent: -9999px; cursor: pointer; }

header ul.nav > li.menu { display: none; position: relative; }
header .menu > a { background-image: url(../img/menu.png); }
header .menu > a:hover { background-image: url(../img/menu-over.png); }
header .menu ul { right: 0; }
header ul.secondary .rollup1 { display: none; }
header ul.secondary .rollup2 { display: none; }
header ul.secondary .rollup3 { display: none; }
header ul.secondary .rollup4 { display: none; }
header ul.secondary .rollup5 { display: none; }

header ul.secondary > li.search .dropdown { box-sizing: border-box; right: 20px; width: 336px; }
header ul.secondary > li.search > a {background-image: url(../img/search.png);}
header ul.secondary > li.search.active > a,
header ul.secondary > li.search > a:hover { background-image: url(../img/search-over.png);}
header ul.secondary > li.search input { position: relative; box-sizing: border-box; width: 100%; border: 1px solid #bbb; font-size: 18px; padding: 4px 8px; }
header ul.secondary > li.search input.searching {background: url(../img/search-spinner.gif) right 8px center no-repeat;}

.search .message { padding: 0 8px; font-size: 22px; color: #083f88; }

header ul.nav > li.search > div.dropdown ul.results { max-height: 240px; }
.search .results { position: static; margin: 16px 0 0 0; background: transparent; box-shadow: none; max-height: none; line-height: 22px; overflow: auto; }
.search .results li a { position: relative; display: block; height: 64px; padding: 8px 0; }
.search .results li a img { position: absolute; top: 13px; left: 13px; border-radius: 26px; width: 52px; height: 52px; }
.search .results li a:before { position: absolute; content: " "; width: 70px; height: 62px; background: url(../img/search-result-frame.png) 8px 0 no-repeat; }
.search .results li a div { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.search .results li a div sup { position: relative; top: -3px; font-weight: normal; vertical-align: baseline; }
.search .results li a .title { margin: 8px 28px 0 80px; color: #083f88; font-size: 18px; }
.search .results li a .summary { margin: 2px 28px 0 80px; padding-bottom: 18px; border-bottom: 1px solid #6ECFF6; color: #666; font-size: 15px; font-style: italic; }
.search .results li a:hover { background-color: rgba(110,207,246,0.15); text-decoration: none; }
/*.search .results li a:hover .title { color: #6ECFF6; }*/

.layout{
    position: relative;
    display: block;
    margin: 0 58px;
}

.layout:after{
    content:"";
    display: block;
    clear: both;
}

.layout.two-column > .left { float: left; width: 25%; margin-right: 4%; }
.layout.two-column > .right { position: relative; float: left; width: 70%; padding: 0 0 24px 0; background-color: #fff; }
.layout.two-column > .right.inner-shadow:after { content: ""; position: absolute; top: 0; left: 0; bottom: 0; right: 0; box-shadow: 0 0 12px rgba(0,0,0,0.3) inset; pointer-events: none; }
.bottom { display: none; clear: both; position: relative; padding: 24px 0; }

.left .nav {
    position: relative;
    padding-bottom: 16px;
    background-color: white;
    box-shadow: 0px 0px 12px rgba(0,0,0,0.3) inset;
}
.left .shadow { box-shadow: 4px 4px 5px rgba(0,0,0,0.20); }
.left ul.nav { margin: 0; padding: 22px 12px 24px 12px; list-style: none; }
.left .nav ul { margin: 0; padding: 22px 12px 0 12px; list-style: none; }
.left .nav li a { display: block; padding: 9px 12px; font-size: 18px; line-height: 120%; font-weight: 600; color: #083f88; }
.left .nav li.current > a { color: #6ECFF6; }
.left .nav li a:hover { background-color: rgba(110,207,246,0.25); text-decoration: none; }

.left .nav li ul { margin: 0; padding: 0; }
.left .nav li li a { padding-left: 32px; }

.left .filters { display: block; margin: 12px 24px 0 24px; border-top: 1px solid #6ECFF6; border-bottom: 1px solid #6ECFF6; padding: 16px 0 24px 0; }
.left .filters .title { font-size: 18px; line-height: 90%; font-weight: bold; color: #083f88; text-transform: uppercase; }
.left .filters select { box-sizing: border-box; display: inline-block; width: 100%; margin: 12px 0 0 0; padding: 1px 0 1px 16px; font-family: 'Source Sans Pro', sans-serif; font-size: 18px; color: #444; }

.right .filters { position: relative; z-index: 1; float: right; margin-bottom: 24px; border-radius: 4px; background-color: #eee; padding: 8px; text-align: center; white-space: nowrap; }
.right .filters .title { display: inline-block; margin-right: 4px; font-size: 13px; font-weight: bold; color: #083f88; text-transform: uppercase; }
.right .filters form { display: inline-block; }
.right .filters select { display: inline-block; }
.products section.content { clear: none; }
.concepts section.content { clear: none; }

section,div.group { margin: 0 40px; }
section.header { margin: 0 0 32px; position: relative; width: 100%; padding-top: 25%; background-repeat: no-repeat; background-size: 100%; z-index: 1; }
section.title,
section.content { margin-top: 24px; clear: both; position: relative; font-size: 15px; line-height: 160%; color: #444; }
section.no-margin { margin: 0; }
.title h1 { margin: 28px 0 0 0; font-family: 'Source Sans Pro', sans-serif; font-size: 28px; font-weight: normal; color: #083f88; }
.content h1 { margin: 28px 0 0 0; font-family: 'Source Sans Pro', sans-serif; font-size: 28px; font-weight: normal; color: #083f88; }
.content h2 { margin: 8px 0; font-size: 22px; font-weight: normal; color: #444; text-transform: uppercase; }
.content p { margin: 4px 0 16px 0; }
.content p a { font-weight: bold; font-style: italic; color: #083f88; }
.content sup { position: relative; top: -1px; font-size: 100%; font-weight: normal; vertical-align: baseline; }
.content table { width: 100%; }
.content table tr td { box-sizing: border-box; /*width: 50%;*/ vertical-align: top; }

.content table.ingredients tr td { width: auto; }
.content table.ingredients tr td:first-child { white-space: nowrap; }
.content table.ingredients tr td:last-child { padding-left: 12px; }

.content.two-col {}
.content.two-col table { margin: 24px 0; padding: 0 0 0 4%; border-radius: 0 40px 0 0; background-color: #fef3e2; box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.25); }
.content.two-col table td { width: 46%; padding: 20px 4% 0 0; }

.content .summary { font-size: 18px; color: #222; }

.content div.text { float: left; }

.concepts .content.concept .img.left,
.content div.left { box-sizing: border-box; float: left; margin-left: 0; margin-right: 4%; }
.concepts .content.concept .img.right,
.content div.right { box-sizing: border-box; float: right; margin-left: 4%; margin-right: 0; }
.concepts .content.concept .img.half,
.content div.half { width: 48%; }
.concepts .content.concept .img.one-third,
.content div.one-third { width: 31.33%; }
.concepts .content.concept .img.two-thirds,
.content div.two-thirds { width: 64.66%; }

.content.flex{
    display: flex;
    align-items: center;
    flex-direction: row;
}

.content.flex>*{
    flex:1;
}

.content.flex>div.left{
    margin: 0 1em 0 0;
}

.content.flex div.right{
    order: 1;
    margin: 0 0 0 1em;
}

.content.flex div.text{
    float: none;
}

.content.flex div.img{
    text-align: center;
}

.content.flex div.img img{
    width: auto;
    height: auto;
    max-width: 100%;
    display: inline;
}



@media (max-width: 720px) {
    .content.flex{
        flex-direction: column;
    }

    .content.flex>div.left{
        margin: 1em 0;
    }
    
    .content.flex div.right{
        order: 0;
        margin: 1em 0;
    }
}


.content img.left{
    float: left;
    margin-right: 1em;
}

.content img.right{
    float: right;
    margin-left: 1em;
}

.content img.one-third{
    width: 33%;
    height: auto;
}

.content img.half{
    width: 50%;
    height: auto;
}

.content img.two-thirds{
    width: 66%;
    height: auto;
}

.concept-list-container img,
.carousel-container img,
.promo-image img,
section .img img { display: block; width: 100%; }
.content .inner-shadow { position: relative; }
.content .inner-shadow:before { content:""; position: absolute; top: 0; bottom: 0; left: 0; right: 0; box-shadow: inset 0 3px 7px rgba(0,0,0,0.5); }

.content div.shadow { box-shadow: 2px 4px 10px rgba(0,0,0,0.35); }

div.group.two-columns>*{float: left; /*width:48%; set later */box-sizing:border-box;clear:none;margin:0;}
div.group.two-columns>*:nth-child(odd){clear:both;}
div.group:after{content:"";display:block;clear:both;}

/* page-specific styles */

.wide section { margin-left: 58px; margin-right: 58px; }
@media (max-width: 720px) {
    .wide section { margin-left: 4%; margin-right: 4%; }
}

.lactalis-culinary .content h2 { font-family: 'Source Sans Pro', sans-serif; font-size: 22px; font-weight: bold; text-transform: none; }

.news .content { display: inline-block; border-top: 1px solid #6ECFF6; margin-top: 16px; padding-top: 16px; }
.news .content h2,
.news .content h2 a { margin: 0; color: #083f88; text-decoration: none; }
.news .content h2 a:hover { text-decoration: underline; }
.news .content ul,
.news .content ol { margin: 0; padding: 0 0 0 16px; }
.news .content ul { list-style: none; }
.news .content ul li:before { content: "•"; position: absolute; margin: 1px 0 0 -14px; font-family: Arial, sans-serif; font-size: 150%; line-height: 100%; color: #083f88; }

.news .news.continuation,
.news .news.no-divider { border-top: none; margin-top: 0; padding-top: 0; }
.news .news.continuation h2 {font-size: 17.55px; font-weight: bold; text-transform: none; color: rgb(68, 68, 68); }
.news .news.content .shadow { box-shadow: none; }
.news .news.content.show-shadow .shadow { box-shadow: 4px 4px 5px rgba(0,0,0,0.20); }

.product .layout.two-column > .right { padding-top: 0; }
.product section.header{ margin: 0; width: 100%; padding-top: 28%; background-repeat: no-repeat; background-size: 100%; }
.product section.header.ptit-basque { background-image: url(../img/products/types/ptit-basque-header.png); }
.product section.header.mozzarella { background-image: url(../img/products/types/mozzarella-header.png); }
.product section.header.romano { background-image: url(../img/products/types/romano-header.png); }
.product section.header.goat-cheese { background-image: url(../img/products/types/goat-cheese-header.png); }
.product section.header.roquefort { background-image: url(../img/products/types/roquefort-header.png); }
.product section.header.fresh-mozzarella { background-image: url(../img/products/types/fresh-mozzarella-header.png); }
.product section.header.bel-paese { background-image: url(../img/products/types/bel-paese-header.png); }
.product section.header.spreadable-cheese { background-image: url(../img/products/types/spreadable-cheese-header.jpg); }
.product section.header.shred-blends { background-image: url(../img/products/types/shred-blends-header.png); }
.product section.header.ricotta { background-image: url(../img/products/types/ricotta-header.png); }
.product section.header.blue-cheese { background-image: url(../img/products/types/blue-cheese-header.png); }
.product section.header.cheddar { background-image: url(../img/products/types/cheddar-header.jpg); }
.product section.header.snack { background-image: url(../img/products/types/snack-header.jpg); }
.product section.header.mascarpone { background-image: url(../img/products/types/mascarpone-header.png); }
.product section.header.swiss { background-image: url(../img/products/types/swiss-header.png); }
.product section.header.provolone { background-image: url(../img/products/types/provolone-header.png); }
.product section.header.milk { background-image: url(../img/products/types/milk-header.jpg); }
.product section.header.brie { background-image: url(../img/products/types/brie-header.png); }
.product section.header.gorgonzola { background-image: url(../img/products/types/gorgonzola-header.png); }
.product section.header.asiago { background-image: url(../img/products/types/asiago-header.png); }
.product section.header.camembert { background-image: url(../img/products/types/camembert-header.png); }
.product section.header.manchego-and-other-spanish { background-image: url(../img/products/types/manchego-and-other-spanish-header.png); }
.product section.header.parmesan { background-image: url(../img/products/types/parmesan-header.png); }
.product section.header.feta { background-image: url(../img/products/types/feta-header.png); }
.product section.header.butter { background-image: url(../img/products/types/butter-header.png); }

.product section.title { clear: none; }
.product section.title h1 { float: left; margin: 8px 0 24px 0; font-family: 'Source Sans Pro', sans-serif; font-size: 28px; font-weight: normal; }

.product section.brand { clear: both; margin-top: 32px; display: table; position: relative; background-color: #F6F3EE; box-shadow: inset 0 0 4px rgba(0,0,0,0.15); }


.product section.brand .logo { position: relative; display: table-cell; width: 140px; vertical-align: top; }
.product section.brand .logo img { display: block; box-sizing: border-box; width: 100%; padding: 18px 16px; }

.product section.brand .description { display: table-cell; margin-left: 120px; padding: 12px 16px 12px 0; vertical-align: middle; color: #333; }
.product section.brand .description h3 { margin: 0; font-size: 18px; font-weight: 600; }
.product section.brand .description p { margin: 0 0 16px 0; font-size: 14px; }
.product section.brand .description p:last-child { margin-bottom: 0; }
.product section.brand .description .img.left { float: left; margin: 0 16px 16px 0; }
.product section.brand .description .img.right { float: right; margin: 0 0 16px 16px; }
.product section.brand .description .img.center { text-align: center; }
.product section.brand .logo .img { display: none; text-align: center; }
.product section.brand .logo .img img { display: inline-block; max-width: 80%; padding-bottom: 0; }
.product section.brand .logo .caption,
.product section.brand .logo .caption p,
.product section.brand .description .caption,
.product section.brand .description .caption p { margin: 0; font-size: 12px; line-height: 110%; text-align: center; }
.product section.brand .logo .caption p { margin: 0 16px; }

.product section.products { position: relative; font-size: 0; }
.product section.products .product { position: relative; display: inline-block; box-sizing: border-box; margin-top: 16px; width: 25%; text-align: center; font-size: 16px; text-decoration: none; vertical-align: top; text-transform: uppercase;  cursor: default; }
.product section.products .product .format { position: absolute; top: -8px; left: -8px; z-index: 10; padding: 0 8px; background-color: #EE2E23; color: #fff; font-size: 12px; font-style: italic; font-weight: bold; text-transform: uppercase; letter-spacing: 1px; box-shadow: 2px 2px 4px rgba(0,0,0,0.5); }
.product section.products .product .format.tigrato-cut-shreds { text-indent: -9999px; width: 25%; height: 20%; background-image: url(../img/products/flags/tigrato-cut-shreds.png); background-position: center center; background-repeat: no-repeat; background-size: 85%; }
.product section.products .product .format:before { content: ""; position: absolute; top: 0; right: 0; bottom: 0; left: 0; box-shadow: inset 0 0 8px rgba(0,0,0,0.25); }
.product section.products .product .format:after { content: ""; position: absolute; left: 0; bottom: -8px; width: 0; height: 0; border-right: 8px solid #7F2936; border-bottom: 8px solid transparent; margin-right: 8px;  }
.product section.products .product.callout-new .img:before { content: ""; position: absolute; top: 0; right: 0; bottom: 0; left: 0; background: url(../img/products/callouts/new.png) no-repeat right bottom / 33%; }
.product section.products .product .img { position: relative; margin: 8px 6px 0 6px; border-radius: 2px; box-shadow: inset 0 0 8px rgba(0,0,0,0.15); }
.product section.products .product .img img { margin: 12.5% 0; display: inline-block; width: 80%; }
.product section.products .product .description { margin-top: 8px; font-size: 14px; line-height: 14px; color: #000; padding: 0 5px;}
.product section.products .product .shelf-life { margin-top: 4px; font-size: 10px; line-height: 10px; color: #5AB58A; text-transform: uppercase; }
.product section.products .product .shelf-life:before { content: "Shelf Life: "; }
.product section.products .product .sku { font-size: 14px; font-weight: 600; color: #f00; }

.concepts .layout.two-column > .right { padding-top: 0; }
.products section.header,
.concepts section.header { margin-bottom: 21px; background-repeat: no-repeat; }
.concepts section.header.cheese-plates { background-image: url(../img/concepts/header-cheese-plates.jpg); }
.concepts section.header.mozzarella { background-image: url(../img/concepts/header-mozzarella.jpg); }
.concepts section.header.fresh-mozzarella { background-image: url(../img/concepts/header-fresh-mozzarella.jpg); }
.concepts section.header.brie { background-image: url(../img/concepts/header-brie.jpg); }
.concepts section.header.creamy-brie { background-image: url(../img/concepts/header-creamy-brie.jpg); }
.concepts section.header.feta { background-image: url(../img/concepts/header-feta.jpg); }
.concepts section.header.cheddar { background-image: url(../img/concepts/header-cheddar.jpg); }
.concepts section.header.donatellas-kitchen { background-image: url(../img/concepts/header-donatellas-kitchen.png); }
.concepts section.header.bel-paese { background-image: url(../img/concepts/header-bel-paese.jpg); }
.concepts section.header.goat-cheese { background-image: url(../img/concepts/header-goat-cheese.jpg); }
.concepts section.header.manchego-and-other-spanish { background-image: url(../img/concepts/header-manchego-and-other-spanish.jpg); }
.concepts section.header.provolone { background-image: url(../img/concepts/header-provolone.jpg); }
.concepts section.header.ricotta-and-mascarpone { background-image: url(../img/concepts/header-ricotta-and-mascarpone.jpg); }
.concepts section.content { font-size: 15px; }

.concepts .concept-list-container.grid { position: relative; margin: 0 -6px; }
.concepts .concept-list-container.grid .concept-list { display: flex; flex-flow: row wrap; justify-content: left; }
.concepts .carousel-container { position: relative; }
.concepts .carousel { position: relative; z-index: 1; display: block; box-sizing: border-box; margin-bottom: 16px; }
.concepts .grid .concept-list > div a,
.concepts .carousel > div a { position: relative; display: block; margin: 0 6px 8px; box-shadow: 0px 4px 4px rgba(0,0,0,0.25); transition: box-shadow 0.1s; }
.concepts .grid .concept-list > div { float: left; width: 33.33%; }
.concepts .grid .concept-list > div a:hover,
.concepts .carousel > div a:hover { box-shadow: 0px 4px 4px rgba(0,0,0,0.5); }
.concepts .grid .concept-list > div a img,
.concepts .carousel > div a img { display: block; }
.concepts .grid .concept-list > div a img.flag,
.concepts .carousel > div a img.flag { position: absolute; width: 20%; top: 4%; right: 4%; }

.concepts .grid .concept-list > div a .caption,
.concepts .carousel > div a .caption {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 8px 8px;
    background-color: rgba(255,255,255,0.8);
    font-size: 14px;
    text-align: center;
    color: #222;
    text-shadow: 1px 1px 4px white, -1px -1px 4px white;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}
.concepts .controls
.concepts .controls { position: absolute; top: 0; left: 0; right: 0; bottom: 0; padding: 0; list-style: none; font-size: 0; }
.concepts .controls li { position: absolute; z-index: 1; top: 0; bottom: 0; display: block; width: 32px; cursor: pointer; text-indent: -9999px; background: center center no-repeat; }
.concepts .controls li.prev { left: -32px; background-image: url(../img/carousel-left.png); }
.concepts .controls li.next { right: -32px; background-image: url(../img/carousel-right.png); }
.concepts .controls li.prev:hover { background-image: url(../img/carousel-left-over.png); }
.concepts .controls li.next:hover { background-image: url(../img/carousel-right-over.png); }
@media (max-width: 480px) {
	.concepts .controls li { top: 50%; bottom: auto; margin-top: -22px; width: 44px; height: 44px; border-radius: 22px; background-color: rgba(255,255,255,0.9); box-shadow: -4px 2px 4px rgba(0,0,0,0.25) inset; }
	.concepts .controls li.prev { left: 24px; }
	.concepts .controls li.next { right: 24px; }
}

.concepts .grid .controls { display: none; }

.concepts .content.concept .add-this { float: right; margin: 8px 0 8px 1em; }
.concepts .content.concept{
    margin: 0 46px 32px;
    border-radius: 20px 0 0 0;
    border: 1px solid rgba(204,204,204,0.6);
    padding: 8px 16px;
    box-shadow: 0px 4px 4px rgba(0,0,0,0.25);
    background-color: #F4F3EF;
}

.concepts .content.concept .img { float: left; position: relative; display: block; width: 40%; margin: 0 5% 8px 0; }
.concepts .content.concept .img img {}
.concepts .content.concept .column-text { float: left; width: 55%; }
.concepts .content.concept.condensed p { line-height: 150%; }
.concepts .content.concept .column-text ul,
.concepts .content.concept .bottom-text ul,
.concepts .content.concept .column-text ol,
.concepts .content.concept .bottom-text ol { margin: 0; padding: 0 0 0 16px; }
.concepts .content.concept .bottom-text { clear: both; padding: 16px 0 0 0; }
.concepts .content.concept .legal { display: none; margin-top: 12px; font-size: 12px; text-align: center; color: #888; }

.concepts .content h2 {
    color: #083F88;
    margin: 8px 0;
    font-size: 27px;
    font-weight: normal;
}

.concepts .content.fancy-h3 h3{
    font-family: 'Damion', cursive;
    font-weight: normal;
    color: black;
    font-size: 1.8em;
    margin: 0.66em 0;
}

.concepts .content.fancy-h3 .custom-format {
    letter-spacing: 0.15em;
}

.concepts .arrangment img{
    width: 66%;
    height: auto;
    float: right;
    margin: 0 0 1em 1em;
}

.concepts .arrangment .legend, .concepts .arrangment .closing{
    width: calc(33% - 1em);
}
.concepts .arrangment .closing{
    margin-top: 28px;
}

.concepts .arrangment ol{
    padding: 0;
    list-style-position: inside;
}

.concepts .arrangment li{
    font-size: 1.2em;
    line-height: 1.5em;
}

@media (max-width: 720px) {
    .concepts .arrangment img{
        width: 100%;
        float: none;
        margin: 0;
    }
    .concepts .arrangment .legend, .concepts .arrangment .closing{
        width: 100%;
        text-align: center;
    }
}

.concepts .content.cheese-plate{
    background-color: #F4F3EF;
    padding: 1em;
}

.concepts .content.cheese-plate .add-this { text-align: right; padding-bottom: 1em; }

.concepts .content.cheese-plate > .img { float: left; width: calc(50% - 1em); margin: 0 1em 1em 0; box-sizing: border-box; }


.concepts .content.cheese-plate .video{
    display: inline-block;
    width: 50%;/*100% - width of left image*/
    font-weight: bold;
    font-style: normal;
    line-height: 2.5em;
    color: #3D66A1;
}

.concepts .content.cheese-plate .video img{
    width: 100%;
}

.concepts .content.cheese-plate table.accompaniment{
    clear: both;
    border-collapse: seperate;
    border-spacing: 0;
    border: none;
    border-top: 1px solid #48C2EF;
    border-bottom: 1px solid #48C2EF;
    padding: 0.8em 0;
}

.concepts .content.cheese-plate table.accompaniment th,.concepts .content.cheese-plate table.accompaniment td{
    border-left: 1px solid #48C2EF;
    border-right: none;
    border-top: none;
    border-bottom: none;
    padding: 0.5em 0.8em;
    text-align: left;
    vertical-align: middle;
}

@media (max-width: 397px) {
    .concepts .content.cheese-plate table.accompaniment{
        padding: 0.4em 0;
    }

.concepts .content.cheese-plate table.accompaniment th,.concepts .content.cheese-plate table.accompaniment td{
        padding: 0.4em;
    }
}

.concepts .content.cheese-plate table.accompaniment thead th{
    padding-top: 0;
}

.concepts .content.cheese-plate table.accompaniment tbody tr:last-child td{
    padding-bottom: 0;
}

.concepts .content.cheese-plate table.accompaniment th:first-child,.concepts .content.cheese-plate table.accompaniment td:first-child{
    border-left: none;
}

.concepts .content.cheese-plate table.accompaniment th:nth-child(2),.concepts .content.cheese-plate table.accompaniment td:nth-child(2){
    width: 8em;
}

.concepts .content.cheese-plate .legal { display: none; margin-top: 12px; font-size: 12px; text-align: center; color: #888; }

.concepts .arrangment hr,.concepts .content.cheese-plate hr{
    height: 2px;
    background-color: #0b4186;
    position: relative;
    margin: 4px auto 16px auto;
    border: none;
    display: table;
}

.concepts .content.cheese-plate hr{
    width: 33%;
}

.concepts .arrangment hr{
    width: 100%;
}

.concepts .arrangment hr:before,.concepts .content.cheese-plate hr:before,.concepts .arrangment hr:after,.concepts .content.cheese-plate hr:after{
  content:"";
  display:block;
  border: 3px solid #0b4186;
  width:0;
  border-radius: 3px;
  position: absolute;
  top: calc(-3px + 2px / 2);
}

.concepts .arrangment hr:before,.concepts .content.cheese-plate hr:before{
  left: calc(-3px + 2px / 2);
}

.concepts .arrangment hr:after,.concepts .content.cheese-plate hr:after{
  right: calc(-3px + 2px / 2);
}

@media (max-width: 397px) {
    .concepts .content.cheese-plate{
        margin: 0;
        padding: 8px;
    }
}

@media (max-width: 1000px) {
    .concepts .content.concept .add-this {float: none; text-align: right;}
    .concepts .content.cheese-plate .video{
        display: block;
        width: 100%;
    }
}


.pairings ul { margin: 0; padding: 0; list-style: none; }
.pairings > ul { margin: 24px 0 24px 14px; display: table; }
.pairings > ul > li { position: relative; display: table-cell; border-left: 1px solid #6ECFF6; padding: 8px 12px 0 16px; }
.pairings > ul > li:before { content: ""; position: absolute; top: -16px; left: -14px; width: 27px; height: 27px; border-radius: 14px; background: /*#6ECFF6*/ #00AEEF no-repeat; box-shadow: -2px 2px 4px rgba(8,63,136,0.8) inset; }
.pairings > ul > li.wine:before { background-image: url(../img/pairings/wine.png); }
.pairings > ul > li.beer:before { background-image: url(../img/pairings/beer.png); }
.pairings > ul > li.proteins:before { background-image: url(../img/pairings/proteins.png); }
.pairings > ul > li.fruits:before { background-image: url(../img/pairings/fruits.png); }
.pairings > ul > li.nuts:before { background-image: url(../img/pairings/nuts.png); }
.pairings > ul > li.flavors:before { background-image: url(../img/pairings/flavors.png); }
.pairings > ul > li:last-child { padding-right: 0; }
.pairings strong { display: block; margin-bottom: 8px; font-size: 16px; line-height: 100%; color: #083f88; }
.pairings ul ul li { margin: 8px 0; font-size: 14px; line-height: 100%; }

.pairingDropdownWrapper, .content.pairings {display: none;}
.content.pairings {position: relative; padding-top: 3px;}
.content.pairings .pairingDropdownWrapper {position: absolute; top: 0; right: 0; margin: 0;}

@media (max-width: 1000px) {
	.pairings > ul { display: block; margin-top: 40px; margin-bottom: 0; line-height: 0; }
	.pairings > ul > li { position: relative; display: block; border-left: none; border-top: 1px solid #6ECFF6; padding: 0 12px 40px 16px; }
	.pairings strong { position: absolute; display: block; top: -18px; margin-bottom: 8px; font-size: 16px; line-height: 100%; color: #083f88; }
	.pairings ul ul { font-size: 14px; line-height: 120%; }
	.pairings ul ul li { display: inline-block; margin: 2px 0 0 0; line-height: 120%; }
	.pairings ul ul li:after { content: ", "; }
	.pairings ul ul li:last-child:after { content: ""; }
    .content.pairings .pairingDropdownWrapper {position: relative; top: auto; right: auto; margin: 0; float: none;}
}



section.brand { margin-top: 0; margin-bottom: 16px; display: table; position: relative; }
section.brand .left { float: none; margin: 0; position: relative; display: table-cell; width: 140px; vertical-align: middle; }
section.brand .left img { display: block; box-sizing: border-box; width: 100%; padding: 12px 16px 12px 0; }
section.brand .text { display: table-cell; padding: 12px 16px 12px 0; vertical-align: middle; color: #333; }
section.brand .text h1 { margin: 0; font-size: 18px; font-weight: 600; text-transform: uppercase; color: #333;}
section.brand .text p { margin: 0; font-size: 14px; line-height: normal}
section.brand .text a { color: #ee2e24; font-weight: 600; text-decoration: underline; }

section.videos { clear: both; font-size: 0; }

section.videos .video {
    display: inline-block;
    width: 32.33%;
    margin: 0 1% 16px 0;
    text-align: center;
    vertical-align: top;
    color: #444;
}

.video:hover { text-decoration: none; color: #000; }
.video:hover .img { box-shadow: 0 4px 8px rgba(0,0,0,0.5); }
.video .img:before { content: ""; position: absolute; top: 0; right: 0; bottom: 0; left: 0; box-shadow: inset 0 3px 7px rgba(0,0,0,0.75); }

.video .img{
    display: block;
    position: relative;
    box-shadow: 0 4px 4px rgba(0,0,0,0.25);
    transition: box-shadow 0.1s;
}

.video .img:after{
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0; 
    background: url(../img/video-play.png) center center no-repeat;
    background-size: 72px;
    opacity: 0.75;
}

.videos .video .img:after {
    background-size: 30%;
}

.video:hover .img:after {
    opacity: 1;
}

.video .img img {
    width: 100%;
    display: block;
}

.video h2 { margin: 8px 4px 0 4px; font-size: 14px; line-height: 100%; text-transform: uppercase; }
.video p { margin: 0 4px 4px 4px; font-size: 14px; line-height: 100%; }

button.ytp-play-button.ytp-button {
    display: none;
}

.image-grid { margin: 10px 0; padding: 0; list-style: none; font-size: 0; text-align: center; }
.image-grid li { display: inline-block; }
.image-grid li img { width: 100%; }

.image-grid.cell-spacing li { margin: 24px 1%; }

.image-grid.inner-shadow li { position: relative; }
.image-grid.inner-shadow li:before { content: ""; position: absolute; top: 0; bottom: 0; left: 0; right: 0; box-shadow: inset 0 3px 7px rgba(0,0,0,0.5); }

.image-grid.divider li { border-left: 1px solid #aaa; }
.image-grid.divider li:first-child { border-left: none; }

/*
.our-people .content,
.parent-company .content { line-height: 225%; }
*/
.page .content p { line-height: 225%; }

.slideshow { position: relative; width: 1166px; height: 372px; overflow: hidden; box-shadow: 0px 4px 4px rgba(0,0,0,0.25); transition: box-shadow 0.1s; }
.slideshow:hover { box-shadow: 0px 8px 8px rgba(0,0,0,0.25); }
.slideshow .slides { position: relative; display: block; width: 1166px; height: 372px; }
.slideshow .slides img { display: block; }

/* IE10- do not support pointer-events: none;, so do not overlay inset shadow */
.modern .slideshow .slides:after { content: " "; position: absolute; top: 0; right: 0; bottom: 0; left: 0; box-shadow: 0 0 12px rgba(0,0,0,0.5) inset; pointer-events: none; }

.slideshow .arrow-left,
.slideshow .arrow-right,
.slideshow .arrow-leftdn,
.slideshow .arrow-rightdn { position: absolute; display: block; width: 64px; height: 64px; top: 160px; background: url(../img/slider-arrows.png) no-repeat; overflow:hidden; cursor: pointer; }
.slideshow .arrow-left,
.slideshow .arrow-leftdn { left: 0; }
.slideshow .arrow-right,
.slideshow .arrow-rightdn { right: 0; }
.slideshow .arrow-left { background-position: 0 0; }
.slideshow .arrow-left:hover { background-position: -128px 0; }
.slideshow .arrow-leftdn { background-position: -256px 0; }
.slideshow .arrow-right { background-position: -64px 0; }
.slideshow .arrow-right:hover { background-position: -192px 0; }
.slideshow .arrow-rightdn { background-position: -320px 0; }

.slideshow .left .slideshow .arrow-left,
.slideshow .left .slideshow .arrow-right,
.slideshow .left .slideshow .arrow-leftdn,
.slideshow .left .slideshow .arrow-rightdn { top: 0px; }

.concepts .slick-dots li { margin: 0; }

.promos {
    position: relative;
    margin-top: 42px;
    margin-bottom: 42px;
    font-size: 0;
    padding: 0 2.5%;
}

a.promo {
    box-sizing: border-box;
    position: relative;
    display: inline-block;
    width: 31.33%; margin: 0 1%;
    box-shadow: 0px 4px 4px rgba(0,0,0,0.25);
    transition: box-shadow 0.1s;
}

a.promo:hover { 
    box-shadow: 0px 8px 8px rgba(0,0,0,0.5);
}

.promo img {
    width: 100%;
    display: block;
}

.promo .caption{
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    box-sizing: border-box;
    height: 25%;
    padding: 3% 4%;
    font-size: 24px; line-height: 105%;
    font-weight: 600;
    color: #fff;
    text-align: center;
    overflow: hidden;
}

.promo .caption sup { position: relative; top: -12%; font-size: 66%; font-weight: normal; vertical-align: baseline; }
.promo.green .caption {
/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#008752+0,00673e+100&0.8+0,0.8+100 */
background: -moz-linear-gradient(top,  rgba(0,135,82,0.8) 0%, rgba(0,103,62,0.8) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  rgba(0,135,82,0.8) 0%,rgba(0,103,62,0.8) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  rgba(0,135,82,0.8) 0%,rgba(0,103,62,0.8) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cc008752', endColorstr='#cc00673e',GradientType=0 ); /* IE6-9 */

}
.promo.red .caption {
/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ed1c24+0,b4151b+100&0.85+0,0.85+100 */
background: -moz-linear-gradient(top,  rgba(237,28,36,0.85) 0%, rgba(180,21,27,0.85) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  rgba(237,28,36,0.85) 0%,rgba(180,21,27,0.85) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  rgba(237,28,36,0.85) 0%,rgba(180,21,27,0.85) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d9ed1c24', endColorstr='#d9b4151b',GradientType=0 ); /* IE6-9 */

}
.promo.blue .caption {
background: -moz-linear-gradient(top,  rgba(0,61,122,0.8) 0%, rgba(0,29,63,0.8) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  rgba(0,61,122,0.8) 0%,rgba(0,29,63,0.8) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  rgba(0,61,122,0.8) 0%,rgba(0,29,63,0.8) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#CC003D7A', endColorstr='#CC001D3F',GradientType=0 ); /* IE6-9 */

}

.left .promos { margin: 24px 0 0 0; padding: 0; }
.left a.promo { display: block; width: auto; margin: 0 0 24px 0; }
.left .promo .caption { font-size: 20px; }

a.promo.concepts .wrapper{
    text-align: center;
    position: absolute;
    width: 100%;
}

a.promo.concepts .title {
    display: inline-block;
    max-width: calc(100% - 96px);
    background: linear-gradient(to bottom, rgba(0,61,122,0.9) 0%,rgba(0,29,63,0.9) 100%);
    color: white;
    border-radius: 0 0 10px 10px;
    padding: 12px 16px;
    font-size: 18px;
    line-height: 100%;
    font-weight: bold;
    text-transform: uppercase;
    box-shadow: inset 0 16px 16px rgba(0,0,0,0.25);
}

a.promo.concepts .caption{
    background-color: rgba(255,255,255,0.8);
    color: #222;
    height: auto;
    font-weight: normal;
    text-shadow: 1px 1px 8px white, -1px -1px 8px white;
    font-size: 16px;
    padding: 6% 4%;
}

a.promo.concepts img{
    width: 100%;
}

.left .promo-image { display: block; margin: 16px 8%; }
.left .promo-image img { width: 100%; }

.right .promos { margin: 24px 40px 40px 40px; padding: 0; }
.right .promos a.promo { width: 32%; }
.right .promos a.promo:first-child { margin-left: 0; }
.right .promos a.promo:last-child { margin-right: 0; }
.right .promos a.promo .caption { font-size: 16px; }

.bottom .promos { margin: 0; padding: 0; }
.bottom a.promo { width: 47%; margin: 0 auto 24px; }
.bottom .promo .caption { font-size: 3.5vw; }

.bottom .promos { text-align: center; }

.bottom .promo-image { display: block; margin: 16px 0; text-align: center; }
.bottom .promo-image img { display: inline-block; }

/* Form Styles */
.form form { position: relative; box-sizing: border-box; margin: 0 0 24px 0; padding: 12px 0 0 4%; background-color: #eee; box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.25); }
.form form fieldset { border: none; margin: 0; padding: 0; }
.form form fieldset p { clear: both; }
.form form .FormCheck { display: none; }
.form form .field { float: left; width: 46%; margin: 0 4% 0 0; padding: 12px 0 0 0; }
.form form .field.full { clear: both; float: none; width: 96%; }
.form form .field p { margin: 0; color: #083f88; }
.form form .field input,
.form form .field textarea,
.form form .field select { box-sizing: border-box; width: 100%; border: 1px solid #bbb; padding: 8px; font-family: Arial, sans-serif; font-size: 18px; }
.form form .field select.other {}
.form form .field select.other.short { float: left; width: 30%; }
.form form .field input.other { width: 70%; }
.form form .field input[type="checkbox"] { width: auto; }
.form form .field.checkbox p { display: inline; }
.form form .field label { cursor: pointer; }
.form form .actions { clear: both; padding: 12px 0; }
.form form .actions button.submit,
.form form .actions input { padding: 8px; font-family: Arial, sans-serif; font-weight: bold; text-transform: uppercase; cursor: pointer; }
.form form .info { clear: both; margin: 0 4% 0 0; padding: 1px 0 0 0; }
.form .message { border-radius: 2px; margin-bottom: 24px; padding: 8px 12px; background-color: #eee; color: #000; }
.form .message.green { background-color: #008752; color: #fff; }
.form .message.red { background-color: #ed1c24; color: #fff; }

/* privacy page */
.cookie-management-policy #sections table {border-collapse: collapse}
.cookie-management-policy #sections table tr td {width: auto; border: 1px solid #ccc; padding: 10px;}
.cookie-management-policy #sections table tr td:first-child {width: 30%;}

footer {
    clear: both;
    padding: 0 0 12px 0;
    color: #083f88; text-align: center;
    font-size: 16px;
    line-height: 110%;
    margin-top: 4em;
}

footer ul { margin: 0; padding: 0; list-style: none; font-size: 0; }
footer li { display: inline-block; margin: 0; padding: 0; border-right: 1px solid #083f88; line-height: 14px; font-size: 16px; }
footer li:last-child { border: none; }
footer li a { display: inline-block; padding: 0 6px; }
footer .phone { margin: 12px 0 18px; font-size: 18px; font-weight: bold; }
footer .legal { margin: 6px 58px; font-size: 12px; }
footer a { color: #083f88; }
.fade-to-white { 
/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+0,ffffff+25,ffffff+50&0+0,0.76+25,1+50 */
background: -moz-linear-gradient(top,  rgba(255,255,255,0) 0%, rgba(255,255,255,0.76) 25%, rgba(255,255,255,1) 50%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  rgba(255,255,255,0) 0%,rgba(255,255,255,0.76) 25%,rgba(255,255,255,1) 50%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  rgba(255,255,255,0) 0%,rgba(255,255,255,0.76) 25%,rgba(255,255,255,1) 50%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=0 ); /* IE6-9 */
}

/* suggestions */

/*.page { background: #fff url(../img/bg-photo-faded-1.jpg) no-repeat; }*/
/*
header ul.primary { background-color: rgba(255,255,255,0.75); }
header ul.primary > li:hover > a { background-color: rgba(255,255,255,0.85); }
header ul.primary ul { background-color: rgba(255,255,255,0.95); }
header ul.primary .dividers { background-color: rgba(255,255,255,0.95); }
header ul.secondary {
background: -moz-linear-gradient(left,  rgba(255,255,255,0.75) 40%, rgba(255,255,255,0) 100%);
background: -webkit-linear-gradient(left,  rgba(255,255,255,0.75) 40%,rgba(255,255,255,0) 100%);
background: linear-gradient(to right,  rgba(255,255,255,0.75) 40%,rgba(255,255,255,0) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#C0ffffff', endColorstr='#00ffffff',GradientType=1 );
}
*/


#concept-catagory-select{
    /*position: absolute;
    right: 0;
    bottom: 100%;*/
    display: none;
    width: 25%;
    float: right;
    margin-left: 1em;
}

#subnav-select{
    display: none;
    float: right;
    margin-right: 40px;
    position: relative;
    top: -10px;
    z-index: 1;
}

.grecaptcha-badge { z-index: 1100; }

/* Responsive: Typical Tablets */
@media (max-width: 1280px) {
	body:before { display: none; }

	/* remove dots */
	header ul.primary > li { margin-right: 0; }
	header ul.primary > li:after { display: none; }
	.promo .caption { font-size: 1.75vw; }
	.left .promo .caption { font-size:  1.5vw; }
	.right .promos a.promo .caption { font-size: 1.2vw; }
}

/* Responsive: Collapse Nav */
@media (max-width: 1120px) {
	header ul.primary { margin-right: 108px; }
	header ul.primary .rollup1 { display: none; }
	header ul.secondary { width: 108px; }
	header ul.secondary > li.menu { display: inline-block; }
	header ul.secondary .rollup1 { display: block; }
	header ul.primary .concepts-pairings .dividers { margin-left: -390px; }
}

@media (max-width: 1024px) {
    header ul.primary .rollup2 { display: none; }
    header ul.secondary .rollup2 { display: block; }
}

@media (max-width: 1000px) {
	/* drop left/right margins */
	header { margin: 0; }
	section.responsive-margin { margin-left: 0; margin-right: 0; }
    footer .legal { margin-left: 12px; margin-right: 12px; }
	header ul.primary { margin-right: 108px; }
    header ul.primary .rollup2 { display: inline-block; }
    header ul.secondary .rollup2 { display: none; }
	.promo .caption { font-size: 2vw; }
	.layout.two-column { margin: 0 24px; }
	.layout.two-column > .left { margin-right: 3%; }
	.layout.two-column > .right { width: 71%; }

	/* reduce left navigation font size */
	.left .nav li a { font-size: 14px; }

	/* vertically align left/right content */
	.content h2 { margin-top: 16px; }
	.content div.left,
	.content div.right,
	.content div.text { float: none; margin: 0; }
	.content div.half,
	.content div.one-third,
	.content div.two-thirds { width: auto; }

	.news .content h2 { margin-top: 16px; }
    
    .concepts .grid .concept-list > div { width: 50%; }
}

@media (max-width: 960px) {
	/* tweak drop-down left edge */
	/*
	header ul.primary .brands .dividers { margin-left: -104px; }
	header ul.primary .products .dividers { width: 537px; }
	header ul.primary .concepts-pairings .dividers { width: 540px; margin-left: -300px; }
	*/
	header ul.primary .brands .dividers { margin-left: -104px; }
	header ul.primary .products .dividers { width: 496px; }
	header ul.primary .concepts-pairings .dividers { width: 480px; margin-left: -300px; }

	.right .promos a.promo { display: block; width: 100%; margin: 0 0 32px 0; }
	.right .promos a.promo .caption { height: auto; font-size: 4vw; }
}

@media (max-width: 900px) {
	header ul.primary .rollup2 { display: none; }
	header ul.secondary .rollup2 { display: block; }
}

@media (max-width: 890px) {
	/* nudge product menu left */
	header ul.primary .products .dividers { margin-left: -338px; }
}

/* Responsive: Typical Smartphones in landscape and Tablets in portrait */
@media (max-width: 720px) {
	/* navigation below logo */
	header { height: 166px; }
	header h1 { position: static; display: block; margin: 0; }
	header h1 a { position: absolute; width: 50%; height: 110px; margin: 8px 0 0 12px;  }
	header .contact { position: absolute; right: 0; width: 40%; padding: 4%; text-align: center; }
	header ul.nav { margin-top: 118px; }
	header ul.primary { margin-left: 0; margin-right: 0; padding-left: 20px; }
	header ul.primary .rollup2 { display: inline-block; }
	header ul.primary .rollup1 { display: inline-block; }
	header ul.secondary .rollup2 { display: none; }
	header ul.secondary > li.menu { display: none; }
	header ul.secondary { width: 44px; margin-top: 118px; background: transparent; }
	header ul.secondary > li.search .dropdown { right: 0; }

	/* adjust left-edge of products */
	header ul.primary .products .dividers { margin-left: -192px; }

	.layout.two-column { margin: 0; }
	.layout.two-column > .left {
        display: none;
    }

    #concept-catagory-select{
        display: initial;
    }
    
    #subnav-select{
        display: initial;
    }
    .galbani-pro-files section.brand .left img { padding-top: 0; }
    .galbani-pro-files section.brand .text { padding-top: 0; }
    
    .layout.two-column > .right { width: auto; }

	.layout.two-column > .right.chef-sprinkles { padding-top: 40%; }

	.promos { margin: 24px auto; }

	.right .promos a.promo .caption { font-size: 6vw; }

	.bottom { display: block; }

    .bottom a.promo.concepts { margin: 0 5%; width: 47%; text-align: center; }
	.bottom a.promo.concepts .img {
        display: block;
        width: 100%;
	}
	.bottom a.promo.concepts .caption { padding-bottom: 24px; }
	
}

@media (max-width: 710px) {
	/* collapse last nav */
	header ul.primary .rollup1 { display: none; }
	header ul.secondary .rollup1 { display: block; }
	header ul.secondary { width: 88px; }
	header ul.secondary > li.menu { display: inline-block; }
}

@media (max-width: 610px) {
	header ul.primary .rollup2 { display: none; }
	header ul.secondary .rollup2 { display: block; }

	/* narrow drop-downs */
	/*
	header ul.primary .brands .dividers { margin-left: -104px; }
	header ul.primary .products .dividers { margin-left: -150px; width: 358px; }
	*/
	header ul.primary .brands .dividers { margin-left: -104px; }
	header ul.primary .products .dividers { margin-left: -150px; width: 336px; }
}

@media (max-width: 480px) {
	/* small white header */
	header { height: 128px; box-shadow: 0 0 12px rgba(0,0,0,0.25); }
	header h1 a { width: 160px; height: 72px; background-size: 160px; }
	header ul.nav { margin-top: 80px; padding-left: 8px; }
	header .contact { top: 0; width: 120px; padding: 20px 16px 0; line-height: 24px; }

	/* vertical brands menu */
	header ul.primary .brands ul li { display: block; }
	header ul.primary .brands ul a { box-sizing: border-box; min-width: 100%; margin: 0; height: 56px; }
	header ul.primary .brands .dividers { margin-left: -72px; width: 220px; }

	.layout.two-column > .right { box-shadow: none; }
	.right .filters { float: none; }
	.product section.title h1 { float: none; }
	.product section.brand .logo .img { display: block; }
	.product section.brand .description .img { display: none; }
	section { margin: 0 24px; }

	/* two promos */
	.wide a.promo:last-child { display: none; }
	.wide a.promo { width: 48%; margin: 0 1%; background-color: rgba(255,255,255,0.6); box-shadow: 0px 4px 4px rgba(0,0,0,0.25); transition: background-color 0.1s, box-shadow 0.1s; }
	.wide a.promo .caption { font-size: 3vw; }

	.product section.brand .logo { vertical-align: top; }
	.product section.products .product { width: 50%; }

	.concepts .content.concept { margin: 0 24px 32px; }
	.concepts .content.concept .img { display: none; }
	.concepts .content.concept .column-text { float: none; width: auto; }

	section.videos .video { width: 49%; }

	.form form .field { float: none; width: auto; }
    #subnav-select{margin-right: 24px;}
}

@media (max-width: 420px) {
	header ul.nav > li a { padding: 18px 8px; font-size: 16px; }
	header ul.secondary { width: 88px; }

	.promo .caption { font-size: 10px; }

    .concepts .grid .concept-list > div { width: 100%; }
}

@media (max-width: 380px) {
	header ul.nav { padding-left: 0; }
	header ul.secondary > li.search .dropdown { width: 320px; }

	/* condensed (320px wide) product menu */
	header ul.primary .products ul { margin: 0; }
	header ul.primary .products .dividers { max-width: 320px; }
	header ul.primary .products .container .subtypes li { width: 124px; }
	header ul.primary .products .container .subtypes li a { background-size: 200%; }

	.search .results { position: static; margin: 16px 0 0 0; background: transparent; box-shadow: none; max-height: none; line-height: 22px; }
	.search .results li a { position: relative; display: block; height: 64px; padding: 8px 0; }
	.search .results li a img { position: absolute; top: 13px; left: 13px; border-radius: 26px; width: 52px; height: 52px; }
	.search .results li a:before { position: absolute; content: " "; width: 70px; height: 62px; background: url(../img/search-img-bg.png) 8px 0 no-repeat; }
	.search .results li a div { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.search .results li a div sup { position: relative; top: -3px; font-weight: normal; vertical-align: baseline; }
	.search .results li a .title { margin: 8px 28px 0 80px; color: #083f88; font-size: 18px; }
	.search .results li a .summary { margin: 2px 28px 0 80px; padding-bottom: 18px; border-bottom: 1px solid #6ECFF6; color: #666; font-size: 15px; font-style: italic; }
	.search .results li a:hover { background-color: rgba(110,207,246,0.15); text-decoration: none; }
	/*.search .results li a:hover .title { color: #6ECFF6; }*/

	section { margin: 0 8px; }

	.product section.brand .logo { display: block; float: left; }
	.product section.brand .description { display: block; margin-left: 0; padding: 12px 16px; }
	.product section.brand .description h3 { text-align: center; }
	.product section.brand .description p { clear: both; }
	.product section.brand .logo .img { display: none; }

	.concepts .content.concept { margin: 0 8px 32px; }
	.concepts .content.concept .img { float: none; width: auto; margin: 8px 0; }
	.concepts .content.concept .column-text { float: none; width: auto; padding: 0;}

	.bottom { padding: 0; }
	#subnav-select{margin-right: 8px;}
	.cookie-management-policy table tr td { padding: 4px; }
}

@media (max-width: 320px) {
    .right .promos a.promo .caption { font-size: 18px; }
}

@media print {
	body { background: #fff; }
	.layout.two-column > .left { display: none; }
	.page { background: transparent; }
	.controls { display: none; }
	footer { padding-top: 12px; }

	/* recipe card */
	.concepts .layout.two-column > .right { width: auto; background: transparent; box-shadow: none; }
	.concepts .content.concept { border: 1px solid #aaa; box-shadow: none; }
	.concepts header,
	.concepts section.header,
	.concepts section.filters,
	.concepts section.intro,
	.concepts section.concept-type,
	.concepts .add-this,
	.concepts footer .nav,
	.concepts footer .phone,
	.concepts footer .address,
	.concepts .bottom { display: none; }
	.concepts .content.concept .legal { display: block; }
	.concepts section.pairings { page-break-inside: avoid; }
}

header ul.primary .concepts{
}

header ul.primary .concepts .dividers {
    width: 480px;
    margin-left: -200px;
    padding: 0 1em;
    font-size: 18px;
    line-height: 1.8em;
    max-height: 0px;
}

header ul.primary li.concepts:hover .dividers {
    padding: 1em;
    max-height: none;
}

header ul.primary .concepts ul{
    max-height: none;
}

header ul.primary .concepts ul li {
    font-size: 18px;
    line-height: 1.65em;
    width: 100%;
}

header ul.primary .concepts ul li:hover {
    font-size: 18px;
    line-height: 1.65em;
    width: 100%;
}

header ul.nav > li.concepts .sanity{
    border-collapse: collapse;
}

header ul.nav > li.concepts .sanity a{
    padding: 0;
    padding-left: 11px;
    display: block;
    width: 100%;
}

header ul.nav > li.concepts .sanity a:hover{
    background-color: rgba(110,207,246,0.15);
    color: #083f88;
}

header ul.primary li.concepts .sanity{
    width: 100%;
    max-height: 0;
}

header ul.primary li.concepts:hover .sanity{
    max-height: none;
}

header ul.primary .concepts td:nth-child(1){
    border-right: solid 1px #6ECFF6;
}

header ul.primary .concepts td:nth-child(2){
}

header ul.primary .concepts img{
    display: none;
    width: 223px;
    height: 223px;
}


/* pizza challenge */
.pizza-challenge>.wrapper {margin: 58px 40px; border-left: 12px solid #323F8C; border-right: 12px solid #323F8C; border-bottom: 12px solid #323F8C; background: #fff; }
.pizza-challenge section {margin: 0; clear: both;}
.pizza-challenge .intro {display: flex; align-items: center;}
.pizza-challenge .intro .img {margin: 32px 2% 32px 3%; width: 13%;}
.pizza-challenge .intro h2 {font-weight: 400; margin-right: 4%; font-size: 1.8vw; color: #323F8C; line-height: 1em;}
.pizza-challenge .product-list {margin: 10px 3%;}
.pizza-challenge .product-list h3 sup { top: -1.5em; font-size: 40%; }
.pizza-challenge h3 {background: #323F8C; font-size: 2.5vw; color: #fff; text-align: center; padding: 10px; margin: 0 0 10px 0; font-family: georgia;}

@media (max-width: 1280px) {
    .pizza-challenge .intro .img {width: 20%;}
    .pizza-challenge .intro h2 {font-size: 2.5vw;}
}

@media (max-width: 1080px) {
    .pizza-challenge .intro .img {margin-top: 15px; margin-bottom: 10px;}
    .pizza-challenge>.wrapper {margin: 0; }
}

@media (max-width: 767px) {
    .pizza-challenge .intro .img {width: 250px; margin-top: 20px; margin-bottom: 10px;}
    .pizza-challenge .intro h2 {font-size: 20px;}
    .pizza-challenge h3 {font-size: 32px;}
}

@media (max-width: 480px) {
    .pizza-challenge .intro h2 {font-size: 16px;}
    .pizza-challenge h3 {font-size: 24px;}
}