/** Shopify CDN: Minification failed

Line 74:4 Expected identifier but found "*"
Line 451:2 Unexpected "/"
Line 1152:0 Expected "}" to go with "{"

**/
/*
/*    SECTION 1 
/*	  1.0 - Resets
/*    1.1 - Base Styles
/*    1.2 - HTML5 Elements
/*    1.3 - Forms and Inputs
/*    1.4 - Typography
/*    1.5 - Links and Buttons
/*    1.6 - Tables
/*    1.7 - Icons   
/*    1.8 - Tags
/*    
/*  SECTION 2
/*    2.1 - Helper classes
/*    2.2 - Grid system
/*    2.3 - Lists
/*    
/*  SECTION 3 
/*    3.1 - Toolbar
/*    3.2 - Header
/*    3.3 - Navigation
/*    3.4 - Footer
/*    3.5 - Homepage
/*    3.6 - Product & Collections 
/*    3.7 - Cart
/*    3.8 - Blogs/Articles/Search
/*    3.9 - Pages
/*
/*  SECTION 4
/*    4.1 - Media Query - Desktop Slim
/*    4.2 - Media Query - Tablet Landscape
/*    4.3 - Media Query - Mobile Landscape
/*    4.4 - Media Query - Mobile Portrait
/*
/*  SECTION 5
/*    5.1 - IE Fixes
/*    


/* =================== */
/*      SECTION 1      */
/* =================== */
/* 1.0 - Resets */
.cf:before,
.cf:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.cf:after {
    clear: both;
}

/* apply a natural box layout model to all elements, but allowing components to change */
html {
  box-sizing: border-box;
}
*, *:before, *:after {
  box-sizing: inherit;
}

/**
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */
.cf {
    *zoom: 1;
}

/* 1.1 - Base Styles */
html,body { margin: 0; padding: 0; border: 0; background-color: #ffffff; }
html { font-size: 62.5%; -webkit-touch-callout:none; -webkit-text-size-adjust:none; -ms-text-size-adjust:100%; }
body { font-size: 14px; color: #000000; font-family: "Helvetica Neue",Arial,Helvetica,sans-serif; padding: 18px 0; overflow-x: hidden; }


/* 1.2 - HTML5 Elements */
article, aside, details, figcaption, figure, dialog, footer, header, hgroup, menu, nav, section { display:block; }

/* 1.3 - Forms and Inputs */
form { margin:0; padding:0; }
button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; }
button, input { line-height: normal; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; }
input[type="search"] { -webkit-appearance: textfield; -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; }
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
textarea { overflow: auto; vertical-align: top; }
select, input[type=file] { height: 27px; height: auto; line-height: 27px; }
input, textarea { font-family: 'Stand Up Comedy Sans','Comic Sans','Comic Sans MS','Chalkboard','ChalkboardSE-Regular','Marker Felt','Purisa','URW Chancery L',cursive; -webkit-appearance: none; vertical-align:top; height:19px; line-height:16px; font-size:13px; padding:4px; display:inline-block; -moz-border-radius:1px; -webkit-border-radius:1px; border-radius:1px; }
input.focus, input:focus, textarea.focus, textarea:focus { border:1px solid #4c90ee; }
input[type=password]:focus, input[type=text]:focus, input[type=number]:focus, input[type=email]:focus, textarea:focus { outline:none; }
input[type=checkbox],input[type=radio] { height:16px; line-height:16px; vertical-align:middle; }
input[type=checkbox] { -webkit-appearance:checkbox; }
input[type=file] { cursor:pointer; border:none; box-shadow:none; padding:0; margin:0; }
input[type=submit] { cursor:pointer; }
::-webkit-input-placeholder { color: #bbbbbb !important; }
:-moz-placeholder { color: #bbbbbb !important; }
select { font-size:13px; display:inline-block; color:#222; font-family:Helvetica,Arial,sans-serif; vertical-align:top; line-height:22px; padding:2px; padding:initial; border:1px solid #ccc; -moz-border-radius:1px; -webkit-border-radius:1px; border-radius:1px; }
@-moz-document url-prefix() { select { padding:6px;  } } /* Firefox fix */
select:focus, select.focus { outline:none; border:1px solid #4c90ee; }
textarea { min-height:72px; }
img { max-width:100%; border: 0; -ms-interpolation-mode: bicubic; }
ul, ol { margin: 0; padding: 0; }
ul li { margin-bottom: 2px; }
ul { list-style:disc outside none; }
.documentation-header { margin-bottom: 30px !important; }

button, input, textarea { border: none !important; }

.text-hidden {
  height: 0;
  margin: 0;
  padding: 0;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}


/* 1.4 - Typography */


/* 1.5 - Links and Buttons */

li { 
  list-style-type: none;
}

a {
  text-decoration: none;
  color: #000000;
}

/* 1.6 - Tables */
table { width: 100%; border-spacing: 0; }
table tr td { border-top: 1px solid #dddddd; }
table tr td, table tr th { padding: 10px; text-align: left; }
table tr td:first-child, table tr th:first-child { padding-left: 0px; }
table tr td:last-child, table tr th:last-child { padding-right: 0px; }

strong { font-weight: 700; }
em { font-style: italic; }

/* 1.7 - Icons */


/* 1.8 - Tags */

/* =================== */
/*      SECTION 2      */
/* =================== */
/* 2.1 - Helper Classes */
.row:before, .row:after, .clearfix:before, .clearfix:after {content:"\0020";display:block;height:0;visibility:hidden}
.clearfix:after, .row:after { clear:both; }
.clearfix, .row { zoom:1; }

/* 2.2 - Grid System */

/* 2.3 - Lists */

/* =================== */
/*      SECTION 3      */
/* =================== */
/* 3.1 - Toolbar */


/* 3.2 - Header */
header {
  padding: 0 20px;
}

div.logo h1 {
  display: inline-block;
  font-size: 14px;
  list-style-type: none;
  margin: 0;
  padding-left: 0;
  position: relative;
}

.nav {
  width: 100%;
}

div.info-nav {
  position: relative;
  z-index: 10;
  padding-right: 40px;
}

#secondary {
  margin-bottom: 40px;
  position: relative;
  text-transform: uppercase;
  width: 100%;
}

#secondary .search {
  float: left;
  cursor: pointer;
}

#secondary .search .title {
  background-image: none;
  border: none;
  padding: 0;
  line-height: 1;
  opacity: 1;
  min-height: inherit;
}

#secondary #date {
  left: 50%;
  margin-left: -110px;
  top: 0;
  position: absolute;
}

#secondary .tertiary {
  float: right;
}

#secondary .tertiary>div {
  float: left;
  margin-right: 0;
}

.subscribe input {
  margin-top: -2px;
}

#secondary .marquee {
  width: 105px;
  overflow: hidden;
  white-space: nowrap;
  float: left;
  margin-left: 180px;
}

#secondary .marquee p {
  margin: 0;
}

.collection-page #secondary .marquee {
  margin-left: 190px;
}

#secondary .date {
  left: 50%;
  margin-left: -110px;
  top: 0;
  position: absolute;
}

#secondary .tertiary .subscribe form {
  margin: 0;
}

#secondary .tertiary .subscribe label {
  border-right: none;
  cursor: pointer;
  margin-right: 0;
  padding-right: 0;
}

#secondary .tertiary .subscribe input {
  border: none;
  padding: 0 5px;
  box-shadow: none; 
}

.subscribeButton {
  display: none;
}

/* 3.3 - Navigation */
.selectnav { display: none; }

nav.main ul {  
  list-style-type: none;
  margin: 0 0 20px 0;
  padding-left: 0;
}

nav.main ul li {
  display: inline-block;
  font-size: 14px;
  line-height: 1.3em;
  margin: 0;
  padding: 0;
  position: relative;
}

nav.main ul li a {
  color: #000000;
  text-decoration: none;
}

nav.main ul li a:hover,
nav.main ul li.current a {
  background-color: #b5d5fa;
}

.collection-page nav.main ul li {
  transition: opacity .15s ease-in-out;
  opacity: 0;
}

.collection-page nav.main ul li.current,
.collection-page nav.main ul li.site-title,
.collection-page nav.main:hover ul li {
  opacity: 1;
}

nav.main ul li:after {
  content: ",";
  margin-left: 1px;
  margin-right: 5px;
  display: inline;
}

nav.main ul li:last-child:after {
  display: none;
}

nav.main ul li:first-child:after {
  content: "";
  margin-left: 0;
}

nav.main ul li.site-title { 
  font-weight: bold;
}

span#cart-count { color: #c30; }

.hide-by-default {
  display: none;
}

.info .hide-by-default, .policies .hide-by-default, .cart .hide-by-default {
  display: block;
}

.cart input, textarea {
  padding: 0 4px;
  line-height: 16px;
}

.hide {
  display: none;
}

/* 3.5 - Homepage */

#content {
  width: 100%;
  padding: 0 20px;
}

.blog-post {
  float: left;
  max-width: 360px;
  margin: 0 80px 0 0;
  min-height: 240px;
}

.blog-post span {
  display: block;
  float: left;
  margin-right: 40px;
  position: relative;
  width: 160px;
}

.blog-post span:nth-of-type(even) {
  margin-right: 0;
}

.blog-post a {
  display: block;
}

.blog-post p {
  clear: both;
  display: block;
  width: 100%;
}

.blog-post .text {
  font-family: 'Stand Up Comedy Sans','Comic Sans','Comic Sans MS','Chalkboard','ChalkboardSE-Regular','Marker Felt','Purisa','URW Chancery L',cursive;
  font-size: 13px;
  margin: 0;
  min-height: 58px;
  padding: 30px 0;
}


/* BUBBLES! */
.bubble {
  background: #fff;
  border: 1px solid #000;
  border-radius: 20px;
  border-bottom-left-radius: 0;
  bottom: 0;
  box-sizing: border-box;
  cursor: default;
  font-size: 14px;
  left: 0;
  margin-left: 140px;
  margin-right: 0;
  opacity: 0;
  padding: 20px;
  position: absolute;
  right: auto;
  text-align: left;
  visibility: hidden;
  width: 200px;
  z-index: 101;
  transition: all .33s cubic-bezier(.47,0,.745,.715);
}

.bubble.left {
  margin-left: -200px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 20px;
}
  

.bubble.active {
  opacity: 1 !important;
  transform: scale(1);
  -webkit-transform: scale(1);
  visibility: visible !important;
  z-index: 500;
/*   max-height: 380px; */
}

.bubble .bubble-description {
  overflow: scroll;
  display: block;
  margin-top: 10px;
  max-height: 180px;
}
 */

.ajaxed-designer, .ajaxed-title {
  font-weight: bold;
}

.ajaxed-price {
  margin-top: 15px;
}

#collection .product-description {
  display: none;
}

#collection .bubble h3, .bubble h4 {
  font-size: 14px;
  margin: 0;
}

#collection .bubble h4 {
  margin-bottom: 14px;
}


/* 3.6 - Product & Collections */

#collection {
/*   width: 105%; */
  width: 100%;
}

#productList {
  margin: 0;
/*   overflow: hidden; */
  padding: 0;
  width: 100%;
}

#productList .product {
  float: left;
  margin: 0 80px 115px 0;
  position: relative;
  width: 140px;
}

.product h2 {
  font-size: 1px;
  margin: 0;
  padding: 0;
}

#productList .product.collection-description-container {
  max-width: 360px;
  width: 360px;
}

#productList .collection-description-container span {
  background: #fff;
  border: 1px solid #000;
  border-radius: 20px;
  border-top-left-radius: 0;
  cursor: default;
  display: block;
  font-size: 14px;
  line-height: 1.2;
  margin-left: 0;
  max-width: 320px;
  padding: 20px;
  text-align: left;
  width: 100%;
}

.product-photo-container {
  float: left;
  position: relative;
  width: 510px;
}

.product-photo-container .image {
  float: left;
  height: auto;
  padding: 0 40px 40px 0;
  width: 50%;
}

.product-photo-container img {
  width: 100%;
}

.product-description {
  float: left;
  margin-right: 20px;
  position: relative;
  width: 463px;
}

.product-description h1 {
  margin: 0;
}

.product-description h1, .product-description p, .product-description span {
  font-family: 'Stand Up Comedy Sans','Comic Sans','Comic Sans MS','Chalkboard','ChalkboardSE-Regular','Marker Felt','Purisa','URW Chancery L',cursive;
  font-size: 20px;
  font-weight: normal;
}

.product-description .image-main,
.product-photo-container .image-main {
  display: none;
  left: 0;
  max-width: 100%;
  position: absolute;
  top: 0;
  z-index: 5;
}

.product-description .image-main.js-active,
.product-photo-container .image-main.js-active {
  display: block;
}

.product-sidebar {
  width: 200px;
  float: right;
  font-size: 14px;
  font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;
}

.product-info span {
  font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;
  font-size: 14px;
}

.if-sale-then-actual-price { 
  text-decoration: line-through;
  margin-right: 4px;
}

.blog-post div.previous-next {
  display: none;
}

div.previous-next {
  text-align: center;
}

div.previous-next span:nth-of-type(2) {
  margin-left: 20px;
}

.selector-wrapper label:after {
  display: inline-block;
  content: ": ";
  margin-right: 4px;
}

.addtocart {
  background: #000;
  border: 1px solid #000;
  border-radius: 0;
  color: #fff;
  font-size: 14px;
  height: auto;
  margin: 20px 0 5px 0;
  padding: 12px 30px;
  text-transform: uppercase;
  font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;
  opacity: 1;
  transition: opacity .15s ease-in-out;
}

.addtocart:hover {
  opacity: 0.85;
}

a.product-thumb {
  display: block;
}

.bonus {
  margin-top: 80px;
}

.bonus iframe {
  width: 100%;
}

.selector-wrapper:nth-of-type(3) .customSelect {
  font-size: 13px;
  display: inline-block;
  background-color: rgb(248, 248, 248);
  color: #222;
  font-family: Helvetica,Arial,sans-serif;
  vertical-align: top;
  line-height: 22px;
  padding: 2px;
  padding: initial;
  -webkit-appearance: menulist;
  box-sizing: border-box;
  align-items: center;
  white-space: pre;
  -webkit-rtl-ordering: logical;
  cursor: default;
  opacity: 1;
}

.selector-wrapper:nth-of-type(3) .customSelectInner {
  background: url(/cdn/shop/files/arrows.jpg?3631575710060197748) no-repeat center right;
  padding: 1px 2px 2px 5px;
  font-size: 12px;
  background-color: white;
  border: 1px solid #ccc;
  border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
}


/* 3.7 - Cart */

#cart .extra-checkout-buttons { float: right; text-align: right;  padding-top: 15px; }
#cart .extra-checkout-buttons input { border: none; box-shadow: none; height: 42px; }
#cart .qty { text-align: center; }
#cart .price, #cart .remove { text-align: right; }
#cart .price { white-space: nowrap; }
#checkout { float: right; margin-left: 15px; }
#update-cart { float: right; }
#cart .image { text-align: center; }
#cart .image a, #cart .image img { margin: 0; border: none; }
#cart a .variant_title { display: block; color: black; }
#cart a:hover .variant_title { }
#cart .item { max-width: 400px; }
#cart .item-description { font-size: 12px; }
.subtext.success { font-weight: 700; color: #40954a; }
div.errors, .subtext.error { font-weight: 700; color: #954040; }
div.errors { margin-bottom: 15px; }

.cart-buttons { float:right!important}

#cart table {
  border-collapse: collapse;
}

#cart table tr th {
  font-weight: normal;
  text-transform: uppercase;
}

#cart table tr td {
  border-bottom: 1px solid #000;
  border-top: 1px solid black;
  font-size: 14px;
  padding: 10px 0 10px 15px;
  text-align: left;
  vertical-align: top;
}

#cart .image {
  text-align: left;
}

#cart table tr.summary td {
  border: none;
}

#cart table tr td.image {
  text-align: left;
  padding-left: 0;
  width: 140px;
  margin: 0;
}

#cart .image img {
  width: 100%;
}

#cart td.item {
  max-width: 228px;
  width: 35%;
}

#cart th.qty, #cart td.qty {
  text-align: left;
  width: 25%;
  padding-left: 0;
  padding-top: 6px;
}

#cart input {
  border: none;
}

#cart th.price, #cart td.price {
  width: 75px;
  min-width: 40px;
  padding-left: 0;
  text-align: left;
}

#cart th.remove, #cart.td.remove {
  width: 25%;
  min-width: 30px;
}

#cart td.final-price {
  text-align: right;
}


#cart .buttons input[type=submit] {
  display: inline-block;
width: auto;
height: auto;
padding: 1em 2.5em;
color: #fff;
background-color: #ff0000;
border-width: 0;
font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
font-size: 12px;
line-height: 1em;
font-weight: normal;
font-style: normal;
text-transform: uppercase;
letter-spacing: 0px;
text-align: center;
text-decoration: none;
cursor: pointer;
outline: none;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
margin: 15px 0 15px 15px;
transition: opacity .15s ease-in-out;
}

#cart .buttons input[type=submit]:hover {
  opacity: 0.85;
}
  

#cart #update-cart {
  display: none;
}


/* 3.8 - Blog / Articles / Search */

/* 3.9 - Pages */

div.policies {
  float: left;
  max-width: 440px;
  margin: 0 40px 20px 0;
  width: 100%;
}

div.policies:last-child {
  margin-right: 0;
}

.info-column {
  margin: 0 40px 40px 0;
  width: 420px;
  float: left;
  clear: none;
  margin: 0 40px 0 0;
}

.info-column#info {
  width: 220px;
  min-height: 670px;
}

.custom-widget {
  max-width: 100%;
  height: auto;
  clear: both;
  margin-bottom: 40px;
}

.custom-widget #google-map {
  height: 250px;
  width: 420px;
}

.custom-widget.video iframe {
  max-width: 420px; 
  height: 315px;
  width: 100%;
}

#instafeed {
  margin-bottom: 20px;
}

.results {
  float: left;
  margin: 0 80px 115px 0;
  max-width: 140px;
  position: relative; 
}

.thumbnail {
  width: 140px;
  height: auto;
}

.results .thumbnail {
  min-height: 190px;
}

.thumbnail img {
  width: 100%;
}

/* =================== */
/*      SECTION 4      */
/* =================== */
/* 4.1 - Desktop Slim */

@media screen and (max-width: 1355px) and (min-width: 1250px) {
 .blog-post:nth-of-type(3n+3) {
    margin-right: 0;
  }
}

@media screen and (max-width: 1287px) {
  .blog-post {
    margin-right: 40px;
  }
  
  .blog-post span {
    margin-right: 40px;
    width: 140px;
  }
  
  .blog-post .text {
    width: 320px;
  }
  
  .info-column {
	margin: 0 20px 0 0;
  }
  
  .custom-widget {
    margin-bottom: 20px;
  }
  
  .product-sidebar {
    float: left;
    margin-top: 40px;
  }
  
  #secondary .marquee {
    margin-left: 150px;
  }

}
  
@media screen and (max-width: 1200px) and (min-width: 768px) {
  .touch nav.main ul li {
    opacity: 1;
  }
}
  
  

@media screen and (max-width: 1175px ) {
  .info-column#info {
    min-height: 990px;
}

@media screen and (max-width: 1100px) {
  #secondary #date {
    display: none;
  }
  
  .info #secondary .marquee, .policies #secondary .marquee {
    display: none;
  }
  
  .product-description h1, .product-description p, .product-description span {
	font-size: 18px;
    line-height: 1.25;
  }
  
  .product-description .previous-next span {
    font-size: 20px;
  }
  
  .product-photo-container {
    width: 50%;
  }
  
  .product-description {
    margin-right: 0;
    width: 40%;
  }
  
  
  #productList .product.collection-description-container {
    clear: both;
  }
}

@media screen and (max-width: 760px ) {
  .blog-post {
    width: 100%;
    max-width: 100%;
    margin-right: 0;
  }
  
  .blog-post span {
    margin-right: 8%;
	width: 46%;
  }
  
  .blog-post span:nth-of-type(even) {
    margin-right: 0;
  }
  
  .blog-post span img, .blog-post span a {
    width: 100%;
    height: auto;
  }
  
  .blog-post .text {
	width: 100%;
    min-height: 0;
	margin: 0;
    padding: 20px 0;
    height: auto;
  }
  
   /* if there is an extra p in blog post it will throw off heights */
  
  .blog-post p {
    padding: 0;
  }
  
  .info-column {
    margin-right: 0;
  }
  
  .info-column#info {
    margin-right: 40px;
  }
  
}


/* 4.2 - Tablet Landscape */
@media only screen and (max-width: 720px) {

  #secondary .marquee {
    margin-left: 65px;
  }
  
 #secondary .tertiary .cart {
    margin-right: 0 !important;
  }
   
  .info-column {
    margin: 0 auto;
    width: 100%;
  }
  
  .info-column#info {
    min-height: 0;
    width: 100%;
  }
  
  #page h1 {
    height: 0;
    margin: 0;
  }

}

 
/* 4.3 - Mobile Landscape */
@media only screen and (max-width: 629px) {
  
  .js #nav { display: none; }
  
  .js .selectnav { display: block; }
  
  #secondary .marquee, .collection-page #secondary .marquee {
    margin-left: 0;
    clear: both;
  }
  
  #secondary .tertiary {
    float: none;
  }
  
  #secondary .tertiary>div {
    margin-right: 0;
    display: block;
    clear: both;
    float: none;
  }
  
  #secondary .search {
    margin: 15px 0 5px 0;
  }
  
  div.info-nav {
    margin-bottom: 7px;
  }
  
  #productList .product {
	margin: 0 40px 40px 0;
  }
  
  .product-photo-container {
    width: 100%;
  }
  
  .product-description {
    margin-right: 0;
    width: 90%;
  }
  
  iframe {
    width: 100%;
  }

  

}

/* 4.4 - Mobile Portrait */
@media only screen and (max-width: 400px){
  #collection {
	width: 100%;
  }
  
  #productList .product {
    width: 45%;
    height: auto;
	margin: 0 10% 10% 0; 
  }
  
  #productList .product:nth-of-type(even) {
    margin-right: 0;
  }
  
  #productList .product.collection-description-container {
	width: 90%;
    max-width: 230px;
  }
/* Mobile - Fix for Checkout Buttons */
@media only screen and (max-width: 760px) {
  .extra-checkout-buttons {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    float: none !important;
  }
  
  .extra-checkout-buttons > * {
    width: 100% !important;
    max-width: 100% !important;
    margin: 10px 0 !important;
  }
  
  .extra-checkout-buttons .dynamic-checkout__content {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
  }
  
  .extra-checkout-buttons shopify-accelerated-checkout-cart {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
  }
  
  .extra-checkout-buttons .paypal-button-label-container,
  .extra-checkout-buttons .shop-pay-wallet-button,
  .extra-checkout-buttons .dynamic-checkout__content > * {
    width: 100% !important;
    display: block !important;
    max-width: 100% !important;
  }
  
  .paypal-button-label-container {
    max-width: 100% !important;
  }
  
  #dynamic-checkout-cart,
  shopify-accelerated-checkout-cart {
    width: 100% !important;
  }
}

/* =================== */
/*      SECTION 5      */
/* =================== */
/* 5.1 - IE Fixes */


/* Close the two @media blocks above (L918, L1084) that were left open in the
   original file. Browsers already auto-closed them at EOF, so this changes
   nothing visually — it just lets rules below sit at the top level. */
}
}

/* =================== */
/*  SAVE-THE-DATE LINE */
/* =================== */
/* A real scrolling ticker. .marquee is the fixed window; .marquee-track holds
   two identical copies of the line side by side and slides left by exactly
   half its own width, so copy 2 arrives where copy 1 began and the loop is
   seamless with no visible jump. */
#secondary .marquee,
.collection-page #secondary .marquee {
  width: 340px;
  margin-left: 60px;
  overflow: hidden;
  white-space: nowrap;
  float: left;
}

#secondary .marquee-track {
  display: flex;
  width: max-content;
  animation: save-the-date-scroll 24s linear infinite;
}

#secondary .marquee-track p {
  flex: none;
  margin: 0;
  padding-right: 3em;
}

/* Let people stop it to read the whole line. */
#secondary .marquee:hover .marquee-track {
  animation-play-state: paused;
}

@keyframes save-the-date-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* On phones the bar stacks: RSVP, then the ticker, then FAQ/Registry.
   Give the ticker the full width and equal breathing room above and below.
   RSVP's own 5px bottom margin is zeroed so the gap above comes from one
   place, otherwise the line sits flush against FAQ. */
@media only screen and (max-width: 629px) {
  #secondary .marquee,
  .collection-page #secondary .marquee {
    width: auto;
    margin-left: 0;
    float: none;
    clear: both;
    padding: 8px 0;
  }

  #secondary .search {
    margin-bottom: 0;
  }
}

/* Motion-sensitive visitors get the line static and wrapped in full rather
   than a clipped window they can never read. */
@media (prefers-reduced-motion: reduce) {
  #secondary .marquee,
  .collection-page #secondary .marquee {
    width: auto;
    white-space: normal;
  }
  #secondary .marquee-track {
    animation: none;
    display: block;
    width: auto;
  }
  #secondary .marquee-track p {
    padding-right: 0;
  }
  #secondary .marquee-track p[aria-hidden="true"] {
    display: none;
  }
}

/* =================== */
/*    CONTENT LINKS    */
/* =================== */
/* The template paints every link flat black, which leaves in-copy links like
   "Book here" indistinguishable from the text around them. Restore the classic
   browser link colours inside page content only — the nav and the secondary
   bar keep their black styling. Homepage tiles are excluded so the linked
   images don't pick up an underline. */
#page a:not(.blog-post a) {
  color: #0000EE;
  text-decoration: underline;
}

#page a:not(.blog-post a):visited {
  color: #551A8B;
}

#page a:not(.blog-post a):active {
  color: #EE0000;
}


/* =================== */
/*      SECTION 5      */
/* =================== */
/* 5.1 - Homepage tile grid

   The tiles used to float at a fixed 360px, which packed three to a row on a
   wide screen and left the fourth stranded beside a band of empty space. Lay
   them out as two columns that share the full width instead, so the four
   sections make an even 2x2 and the photos grow with the viewport. Scoped to
   .tile-grid (homepage only) — the interior pages keep the 680px column. */

.tile-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 60px 80px;
  max-width: 1400px;
}

/* #page also carries .row, whose clearfix :before/:after would otherwise
   become grid items and take up the first two cells. Grid needs no clearfix. */
.tile-grid:before,
.tile-grid:after {
  display: none;
}

.tile-grid .blog-post {
  float: none;
  max-width: none;
  margin: 0;
  min-height: 0;
}

/* Two photos to a tile, sharing the column with a 40px gutter. */
.tile-grid .blog-post span {
  width: calc(50% - 20px);
  margin-right: 40px;
}

.tile-grid .blog-post span:nth-of-type(even) {
  margin-right: 0;
}

.tile-grid .blog-post span img,
.tile-grid .blog-post span a {
  display: block;
  width: 100%;
  height: auto;
}

.tile-grid .blog-post .text {
  width: 100%;
  min-height: 0;
}

/* One tile per row once two columns would squeeze the photos too small. */
@media screen and (max-width: 760px) {
  .tile-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 40px;
  }
}

/* 5.2 - RSVP embed

   The form sits outside #page so it is not held to the 680px text measure:
   it spans the full content width, flush left with the copy above it. The
   embed is fluid -- it takes the width of whatever it is dropped into. */

#rsvp-embed {
  clear: both;
  width: 100%;
  margin-top: 30px;
}

#rsvp-embed iframe {
  width: 100%;
}
