/* ----- BUILDING BLOCKS  ----- */
.block {
  position: relative;
  width: 100%;
  min-width: 1024px;
	overflow: hidden;
	text-align: left;
}

/* ----- GRID  ----- */
.layout-row {
	position: relative;
	width: 1024px;
	margin-left: auto;
	margin-right: auto;
}

.layout-cell {
  position: relative;
	float:left;
	text-align: inherit;
  box-sizing: border-box;
}
.layout-cols-1 .layout-cell {width: 100%;}
.layout-cols-2 .layout-cell {width: 50%;}
.layout-cols-3 .layout-cell {width: 33.3333%;}
.layout-cols-4 .layout-cell {width: 25%;}
.layout-cols-5 .layout-cell {width: 20%;}


.layout-cell .align-left {
  margin: 0 50px;
	text-align: left;
}

.layout-cols-2 .layout-cell:last-of-type .align-left {
	margin-left: 33px;
}

.layout-cell .align-center {
  margin: 0 auto;
  text-align: center;
}

.v-align {
  display: table;
}

.v-align > div {
  float: none;
  display: table-cell;
}

.v-align > .align-top    {vertical-align: top;}
.v-align > .align-middle {vertical-align: middle;}
.v-align > .align-bottom {vertical-align: bottom;}


/* ----- HELPERS ----- */
.drop-20 {margin-top: 20px !important;}
.drop-32 {margin-top: 32px !important;}
.drop-70 {margin-top: 70px !important;}
.drop-55 {margin-top: 55px !important;}
.drop-80 {margin-top: 80px !important;}
.drop-150 {margin-top: 150px !important;}

.lift-25 {margin-bottom: 25px !important;}
.lift-40 {margin-bottom: 40px !important;}
.lift-50 {margin-bottom: 50px !important;}
.lift-80 {margin-bottom: 80px !important;}
.lift-100 {margin-bottom: 100px !important;}
.lift-125 {margin-bottom: 125px !important;}
.lift-250 {margin-bottom: 250px !important;}

.indent-50  {margin-left: 50px !important;}
.indent-125 {margin-left: 125px !important;}

.wrap-10  {margin-right: 10px !important;}
.wrap-50  {margin-right: 50px !important;}
.wrap-125 {margin-right: 125px !important;}

.layout-cell .align-left.indent-75 {margin-right: 10px !important;}

.width-780 {max-width: 780px !important;}

/* ----- BACKGROUND IMAGE ----- */
img.bg-image {
	display: block;
	position: absolute;
  top: 0;
  left: 0;
}

/* ----- WIDE IMAGE WITH CROP ----- */
.block.wide-image {
	background-position: center center;
	background-repeat: no-repeat;
}

/* ----- WIMAGE BLOCK ----- */
.image-block {
  line-height: 0;
}

/* ----- WREATH BLOCKS ----- */
.wreath-block > div {
  display: inline-block;
  position: relative;
  width: 175px;
  height: 93px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 175px 93px;
  background-image: url('wreath.png');
  margin-right: 38px;
  text-align: center;
}
.wreath-block > div:last-of-type {margin-right: 0;}

.wreath-block > div img {
  position: absolute;
  top: -999px;            /* use sufficiently large number */
  bottom: -999px;
  left: -999px;
  right: -999px;
  margin: auto;
}

/* ----- CENTERED ----- */
.layout-cols-1 .layout-cell {
	text-align: center;
}

/* ----- MATRIX ----- */
.layout-matrix {
  position: relative;
  width: 1000px;
	margin: 0 auto;
	padding: 12px 0;
	overflow:hidden;
	text-align: center;
}

.layout-matrix .layout-cell {
	border: 1px solid;
	border-bottom: none;
	font-size: 20px;
	padding: 40px 0;
}
.bg-light .layout-matrix .layout-cell {border-color: #d9d9d9 #d9d9d9 #d9d9d9 transparent;}
.bg-dark  .layout-matrix .layout-cell {border-color: #161616 #161616 #161616 transparent;}


.bg-dark  .layout-matrix a img {
	-webkit-filter: invert(1);
	filter: invert(1);
}

.layout-matrix .layout-cell img {
  display: block;
	zoom: 50%;
	margin: 0 auto;
}

.layout-matrix.layout-cols-1 .layout-cell:nth-child(1),
.layout-matrix.layout-cols-2 .layout-cell:nth-child(1),
.layout-matrix.layout-cols-2 .layout-cell:nth-child(2),
.layout-matrix.layout-cols-3 .layout-cell:nth-child(1),
.layout-matrix.layout-cols-3 .layout-cell:nth-child(2),
.layout-matrix.layout-cols-3 .layout-cell:nth-child(3),
.layout-matrix.layout-cols-4 .layout-cell:nth-child(1),
.layout-matrix.layout-cols-4 .layout-cell:nth-child(2),
.layout-matrix.layout-cols-4 .layout-cell:nth-child(3),
.layout-matrix.layout-cols-4 .layout-cell:nth-child(4),
.layout-matrix.layout-cols-5 .layout-cell:nth-child(1),
.layout-matrix.layout-cols-5 .layout-cell:nth-child(2),
.layout-matrix.layout-cols-5 .layout-cell:nth-child(3),
.layout-matrix.layout-cols-5 .layout-cell:nth-child(4),
.layout-matrix.layout-cols-5 .layout-cell:nth-child(5){
	border-top: none;
}

.layout-matrix.layout-cols-1 .layout-cell,
.layout-matrix.layout-cols-2 .layout-cell:nth-child(2n),
.layout-matrix.layout-cols-3 .layout-cell:nth-child(3n),
.layout-matrix.layout-cols-4 .layout-cell:nth-child(4n),
.layout-matrix.layout-cols-5 .layout-cell:nth-child(5n){
	border-right-color: transparent;
}

.layout-matrix.no-grid .layout-cell {
	border: none !important;
}

.layout-matrix .text-block {
  padding: 20px 25px 0;
}


/* ----- DEVICES ----- */
.device {
  position: relative;
}

.device.ipad.portrait {
  width: 435px;
  height: 616px;
  background-size: 435px 616px;
}
.device.ipad.landscape {
  width: 785px;
  height: 555px;
  background-size: 785px 555px;
}
.device.ipad.portrait.black  {background-image: url('ipad-portrait-black.png');}
.device.ipad.portrait.white  {background-image: url('ipad-portrait-white.png');}
.device.ipad.landscape.black {background-image: url('ipad-landscape-black.png');}
.device.ipad.landscape.white {background-image: url('ipad-landscape-white.png');}

.device.iphone.portrait {
  width: 292px;
  height: 589px;
  background-size: 292px 589px;
}
.layout-cols-3 .layout-cell .device.iphone.portrait {
  width: 231px;
  height: 467px;
  background-size: 231px 467px;
}
.device.iphone.landscape {
  width: 626px;
  height: 311px;
  background-size: 626px 311px;
}
.device.iphone.portrait.black  {background-image: url('iphone-portrait-black.png');}
.device.iphone.portrait.white  {background-image: url('iphone-portrait-white.png');}
.device.iphone.landscape.black {background-image: url('iphone-landscape-black.png');}
.device.iphone.landscape.white {background-image: url('iphone-landscape-white.png');}

.device img {
  position: absolute;
}
.device.ipad.portrait img {
  top: 56px;
  left: 30px;
  width: 376px;
  height: 502px;
}
.device.ipad.landscape img {
  top: 37px;
  left: 72px;
  width: 642px;
  height: 482px;
}

.layout-cols-2 .layout-cell .device.ipad {
  margin-top: 75px;
  margin-bottom: 75px;
}

.layout-cols-2 .layout-cell:first-of-type .device.ipad {
	margin-right: auto;
	margin-left: 50px;
}

.layout-cols-2 .layout-cell:last-of-type .device.ipad {
	margin-right: 50px;
	margin-left: auto;
}

.layout-cols-1 .layout-cell .device.ipad.landscape {
	margin: 37px auto 90px;
}

.device.iphone.portrait img {
	top: 69px;
	left: 19px;
  width: 254px;
  height: 450px;
}

.layout-cell h4 {
	margin: 0;
}

.layout-cols-3 .layout-cell .device.iphone.portrait img {
	top: 55px;
	left: 15px;
  width: 201px;
  height: 357px;
}
.device.iphone.landscape img {
  top: 20px;
  left: 73px;
  width: 480px;
  height: 270px;
}

.layout-cols-2 .layout-cell .device.iphone {
  margin-top: 80px;
  margin-bottom: 80px;
}

.layout-cols-3 .layout-cell .device.iphone {
	margin-right: auto;
	margin-left: auto;
}

.layout-cols-2 .layout-cell:first-of-type .device.iphone {
	margin-right: auto;
	margin-left: 125px;
}

.layout-cols-3 .layout-cell:first-of-type .device.iphone {
	margin-right: auto;
	margin-left: 80px;
}

.layout-cols-3 .layout-cell .text-block.caption-text {
  margin-right: 62px;
  margin-left: 62px;
	margin-top: 28px;
}

.layout-cols-3 .layout-cell:first-of-type .text-block.caption-text {
  margin-right: 40px;
  margin-left: 90px;
}

.layout-cols-3 .layout-cell:last-of-type .text-block.caption-text {
  margin-right: 90px;
  margin-left: 40px;
}

.layout-cols-2 .layout-cell:last-of-type .device.iphone {
	margin-right: 95px;
	margin-left: auto;
}

.layout-cols-3 .layout-cell:last-of-type .device.iphone {
	margin-right: 80px;
	margin-left: auto;
}

.layout-cols-1 .layout-cell .device.iphone.landscape {
	margin: 37px auto 90px;
}

/* ----- SPEC SHEET ----- */
.layout-specs .layout-cell {
  margin-top: 80px;
}

.layout-specs .layout-cell .text-block {
  position: relative;
  overflow: auto;
  zoom: 1;
  margin: 0 22px 46px;
	padding-bottom: 40px;
	border-bottom: 1px solid #3b3b3b;
}

.layout-specs .layout-cell .text-block:last-of-type {
	border-bottom: none;
}

.layout-specs .layout-cell .text-block h3 {
  position: relative;
  float: left;
	width: 26%;
}

.layout-specs .layout-cell .text-block p {
    position: relative;
	float: right;
	width: 70%;
	line-height: 1.0em;
	overflow: hidden;
	margin: 0px 0% 10px 0;
}

/* ----- BI-AD SLOT ----- */
.layout-ads {
  margin-top: 90px;
  margin-bottom: 90px;
}

.layout-ads .layout-cell .text-block {
  padding-bottom: 20px;
}

.layout-ads .layout-cell > img {
  position: absolute;
  top: 0;
}

.layout-ads .layout-cell:first-of-type  > img {
  left: 126px;
}
.layout-ads .layout-cell:last-of-type  > img {
  left: 47px;
}

.layout-ads .layout-cell:first-of-type .text-block {
  padding-left: 138px;
}

.layout-ads .layout-cell:last-of-type .text-block {
	margin-left: 20px;
  padding-left: 87px;
	border-left: 1px solid #161616;
}