/*
Theme Name:   	Telethon Child Theme
Theme URI:    	https://github.com/stuartduff/storefront-child-theme
Author:       	Stuart Duff
Author URI:     http://stuartduff.com
Template:     	telethon
Description:  	This is a blank child theme for WooThemes StoreFront theme
Version:      	1.0.0
License:      	GNU General Public License v2 or later
License URI:  	http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  	telethon
Tags:         	black, white, light, two-columns, left-sidebar, right-sidebar, responsive-layout, custom-background, custom-colors, custom-header, custom-menu, featured-images, full-width-template, threaded-comments, accessibility-ready
This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
Storefront is based on Underscores http://underscores.me/, (C) 2012-2014 Automattic, Inc.
Resetting and rebuilding styles have been helped along thanks to the fine work of
Eric Meyer http://meyerweb.com/eric/tools/css/reset/index.html
along with Nicolas Gallagher and Jonathan Neal http://necolas.github.com/normalize.css/
FontAwesome License: SIL Open Font License - http://scripts.sil.org/OFL
Images License: GNU General Public License v2 or later
*/
/*
 * Add your own custom css below this text.
 */
.main-navigation ul.menu > li.menu-item-has-children > a::after, .main-navigation ul.menu > li.page_item_has_children > a::after, .main-navigation ul.nav-menu > li.menu-item-has-children > a::after, .main-navigation ul.nav-menu > li.page_item_has_children > a::after {
  content: ''; }

.widget_search form::before, .widget_product_search form::before {
  content: ''; }

table {
  width: 100%; }

.shop_table th {
  text-align: left; }

.shop_table.cart td, .shop_table.cart th {
  text-align: left; }
  .shop_table.cart td.product-subtotal, .shop_table.cart th.product-subtotal {
    text-align: right; }

.category-related .category-title h1, .category-related .category-title h2, .category-related .category-title h3, .category-related .category-title h4 {
  text-align: center;
  text-transform: uppercase;
  font-weight: normal; }

.footer-newsletter .textinput {
  margin-bottom: 0;
  line-height: 1.15;
  font-size: 1em;
  height: 44px; }

.product.main-product {
  min-width: 100%; }

.category-products-listing--main .see-all {
  position: absolute;
  right: 20px;
  bottom: 70px;
  font-size: 12px;
  font-family: "Mont";
  letter-spacing: .185em;
  line-height: 28px;
  color: grey;
  text-transform: uppercase;
  cursor: pointer;
  z-index: 10;
  text-decoration: none; }
  .category-products-listing--main .see-all:hover {
    text-decoration: underline; }

.tawcvs-swatches {
  margin-left: 0;
  padding-left: 1px; }
  .tawcvs-swatches .swatch {
    width: 26px;
    height: 26px;
    opacity: 1;
    border: 2.5px solid #fff;
    box-shadow: 0 0 0 0 transparent; }
    .tawcvs-swatches .swatch.selected {
      border: 2.5px solid #fff;
      box-shadow: 0 0 0 1px #B3C6C2; }
      .tawcvs-swatches .swatch.selected:before {
        display: none; }

.single-product div.product .tech_information {
  margin-top: 2em;
  padding-top: 2em;
  border-top: 1px solid #E1E1E1; }
  .single-product div.product .tech_information strong {
    font-family: Adelle, serif;
    font-size: 13px;
    font-weight: normal;
    line-height: 1.8;
    color: #484949; }
  .single-product div.product .tech_information p {
    margin: 0; }

.single-product div.product .single_product_qty_btn_wrapper {
  text-align: center;
  border: 1px solid #B7BBC0;
  border-radius: 6px;
  overflow: hidden;
  height: 51px;
  width: 82px;
  position: relative;
  padding: 0;
  float: right;
  background-color: #fff;
  margin-bottom: 1em; }
  @media all and (max-width: 374px) {
    .single-product div.product .single_product_qty_btn_wrapper {
      float: none;
      display: block;
      margin: 0 auto 20px auto; } }
  @media all and (min-width: 1024px) {
    .single-product div.product .single_product_qty_btn_wrapper {
      float: left;
      margin-right: 1em;
      height: 60px;
      width: 74px; } }
  .single-product div.product .single_product_qty_btn_wrapper label {
    display: none !important; }
  .single-product div.product .single_product_qty_btn_wrapper input {
    width: 82px;
    height: 51px;
    border: none;
    margin: 0;
    padding: 0 40px 0 .5em;
    line-height: 51px;
    font-family: Adelle, serif;
    appearance: textfield;
    -moz-appearance: textfield;
    -ms-progress-appearance: textfield;
    -webkit-appearance: textfield;
    outline: none;
    box-shadow: none !important; }
    .single-product div.product .single_product_qty_btn_wrapper input::-webkit-outer-spin-button, .single-product div.product .single_product_qty_btn_wrapper input::-webkit-inner-spin-button {
      /* display: none; <- Crashes Chrome on hover */
      -webkit-appearance: none;
      margin: 0;
      /* <-- Apparently some margin are still there even though it's hidden */ }
    @media all and (min-width: 1024px) {
      .single-product div.product .single_product_qty_btn_wrapper input {
        width: 74px;
        font-size: 24px;
        padding-top: 4px;
        padding-left: 10px; } }
  .single-product div.product .single_product_qty_btn_wrapper .qty_btn {
    display: block;
    position: absolute;
    right: 0;
    width: 32px;
    height: 50%;
    border-left: 1px solid #B7BBC0;
    cursor: pointer;
    user-select: none;
    line-height: 25px;
    color: inherit; }
    @media all and (min-width: 1024px) {
      .single-product div.product .single_product_qty_btn_wrapper .qty_btn {
        font-size: 1.3em;
        line-height: 30px; } }
    .single-product div.product .single_product_qty_btn_wrapper .qty_btn:hover {
      background-color: #edeeef; }
    .single-product div.product .single_product_qty_btn_wrapper .qty_btn:active {
      background-color: #e2e4e6; }
    .single-product div.product .single_product_qty_btn_wrapper .qty_btn--plus {
      top: 0; }
    .single-product div.product .single_product_qty_btn_wrapper .qty_btn--minus {
      border-top: 1px solid #B7BBC0;
      bottom: 0; }

.request-info-wrapper {
  overflow: hidden;
  margin-top: 1em;
  font-family: Adelle, serif;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: .2em;
  font-size: 13px; }
  .request-info-wrapper a {
    text-decoration: none; }
    .request-info-wrapper a:hover {
      text-decoration: underline; }

#request-info-form {
  padding: 2em;
  box-shadow: 0 2em 4em rgba(0, 0, 0, 0.25);
  background-color: #F3F3F1; }
  #request-info-form .request-info-wrapper {
    display: flex; }
  #request-info-form .request-info-column {
    flex: 1fr; }
    #request-info-form .request-info-column--product {
      padding-right: 4em;
      display: none;
      flex: .75fr; }
      @media all and (min-width: 1024px) {
        #request-info-form .request-info-column--product {
          display: block; } }
      #request-info-form .request-info-column--product h3, #request-info-form .request-info-column--product h4 {
        font-size: 24px;
        letter-spacing: normal;
        text-transform: none;
        line-height: 1em; }
    @media all and (min-width: 1024px) {
      #request-info-form .request-info-column {
        max-width: 50%; } }
  #request-info-form .wpcf7-not-valid {
    background-color: #faedeb; }
  #request-info-form .wpcf7-not-valid-tip {
    display: none; }
  #request-info-form div.wpcf7-validation-errors, #request-info-form div.wpcf7-acceptance-missing {
    color: #cc4b37;
    border: none;
    padding: 0;
    margin: 0; }
  #request-info-form .wpcf7-response-output {
    margin: 0;
    margin-top: 1em;
    border: none;
    padding: 0; }

div.fancybox-container .fancybox-bg {
  background-color: #fff; }

div.fancybox-container .fancybox-close-small svg {
  width: 40px;
  height: 40px; }

div.fancybox-container * {
  font-family: Mont, sans-serif; }

div.fancybox-container textarea {
  max-height: 30vh; }

div.fancybox-container input[type=text],
div.fancybox-container input[type=tel],
div.fancybox-container input[type=email],
div.fancybox-container input[type=date],
div.fancybox-container textarea,
div.fancybox-container select {
  display: block;
  width: 100%;
  margin: 0 auto 1em auto;
  line-height: 3em;
  padding: 0 1em;
  border: 1px solid #F3F3F1;
  box-shadow: 1px 3px 0 0 #DBDBD9;
  border-radius: 3px; }

.custom-form-field {
  display: block;
  position: relative; }
  .custom-form-field--icon:after {
    content: '';
    display: block;
    position: absolute;
    text-align: center;
    line-height: 1em;
    top: 5px;
    right: 5px;
    width: 32px;
    bottom: 5px;
    background: #fff no-repeat center center;
    background-size: 24px auto;
    pointer-events: none; }
    .is-invalid-label .custom-form-field--icon:after {
      background-color: #faedeb; }
  .custom-form-field--icon--select:after {
    background-image: url("assets/images/form/select.svg"); }
  .custom-form-field--icon--date:after {
    background-image: url("assets/images/form/date.svg"); }

/*!
 * jQuery UI Datepicker 1.9.0
 * http://jqueryui.com
 *
 * Copyright 2012 jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * http://docs.jquery.com/UI/Datepicker#theming
 */
.ui-datepicker {
  display: none;
  padding: .2em .2em 0;
  width: 17em;
  background-color: #fff;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.25);
  border-radius: 3px; }

.ui-datepicker .ui-datepicker-header {
  padding: .2em 0;
  position: relative; }

.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next {
  height: 1.8em;
  position: absolute;
  top: 2px;
  width: 1.8em; }

.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover {
  top: 1px; }

.ui-datepicker .ui-datepicker-prev {
  left: 2px;
  text-indent: -9999em;
  background: url("assets/images/form/prev.svg") no-repeat center center;
  background-size: 10px auto; }

.ui-datepicker .ui-datepicker-next {
  right: 2px;
  text-indent: -9999em;
  background: url("assets/images/form/next.svg") no-repeat center center;
  background-size: 10px auto; }

.ui-datepicker .ui-datepicker-prev-hover {
  left: 1px; }

.ui-datepicker .ui-datepicker-next-hover {
  right: 1px; }

.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span {
  display: block;
  left: 50%;
  margin-left: -8px;
  margin-top: -8px;
  position: absolute;
  top: 50%; }

.ui-datepicker .ui-datepicker-title {
  line-height: 1.8em;
  margin: 0 2.3em;
  text-align: center;
  font-family: Adelle, serif; }

.ui-datepicker .ui-datepicker-title select {
  font-size: 1em;
  margin: 1px 0; }

.ui-datepicker select.ui-datepicker-month-year {
  width: 100%; }

.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
  width: 49%; }

.ui-datepicker table {
  border-collapse: collapse;
  font-size: .9em;
  margin: 0 0 .4em;
  width: 100%; }

.ui-datepicker th {
  border: 0;
  font-weight: bold;
  padding: .7em .3em;
  text-align: center; }

.ui-datepicker td {
  border: 0;
  padding: 1px; }

.ui-datepicker td span, .ui-datepicker td a {
  display: block;
  padding: .2em;
  text-align: right;
  text-decoration: none; }

.ui-datepicker .ui-datepicker-buttonpane {
  background-image: none;
  border-bottom: 0;
  border-left: 0;
  border-right: 0;
  margin: .7em 0 0 0;
  padding: 0 .2em; }

.ui-datepicker .ui-datepicker-buttonpane button {
  cursor: pointer;
  float: right;
  margin: .5em .2em .4em;
  overflow: visible;
  padding: .2em .6em .3em .6em;
  width: auto; }

.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
  float: left; }

/* with multiple calendars */
.ui-datepicker.ui-datepicker-multi {
  width: auto; }

.ui-datepicker-multi .ui-datepicker-group {
  float: left; }

.ui-datepicker-multi .ui-datepicker-group table {
  margin: 0 auto .4em;
  width: 95%; }

.ui-datepicker-multi-2 .ui-datepicker-group {
  width: 50%; }

.ui-datepicker-multi-3 .ui-datepicker-group {
  width: 33.3%; }

.ui-datepicker-multi-4 .ui-datepicker-group {
  width: 25%; }

.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header {
  border-left-width: 0; }

.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
  border-left-width: 0; }

.ui-datepicker-multi .ui-datepicker-buttonpane {
  clear: left; }

.ui-datepicker-row-break {
  clear: both;
  font-size: 0em;
  width: 100%; }

/* RTL support */
.ui-datepicker-rtl {
  direction: rtl; }

.ui-datepicker-rtl .ui-datepicker-prev {
  left: auto;
  right: 2px; }

.ui-datepicker-rtl .ui-datepicker-next {
  left: 2px;
  right: auto; }

.ui-datepicker-rtl .ui-datepicker-prev:hover {
  left: auto;
  right: 1px; }

.ui-datepicker-rtl .ui-datepicker-next:hover {
  left: 1px;
  right: auto; }

.ui-datepicker-rtl .ui-datepicker-buttonpane {
  clear: right; }

.ui-datepicker-rtl .ui-datepicker-buttonpane button {
  float: left; }

.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current {
  float: right; }

.ui-datepicker-rtl .ui-datepicker-group {
  float: right; }

.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header {
  border-left-width: 1px;
  border-right-width: 0; }

.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
  border-left-width: 1px;
  border-right-width: 0; }

/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
.ui-datepicker-cover {
  filter: mask();
  /*must have*/
  height: 200px;
  /*must have*/
  left: -4px;
  /*must have*/
  position: absolute;
  /*must have*/
  top: -4px;
  /*must have*/
  width: 200px;
  /*must have*/
  z-index: -1;
  /*must have*/ }

label.share_option_input .mark:after {
  background-image: url("assets/images/form/check.svg"); }

label.share_option_input--sms:before {
  background-image: url("assets/images/form/sms.svg"); }

label.share_option_input--print:before {
  background-image: url("assets/images/form/print.svg"); }

label.share_option_input--email:before, label.share_option_input--mail:before {
  background-image: url("assets/images/form/mail.svg"); }

.customization-flash {
  background-color: #EA7A2D;
  color: #fff;
  font-weight: bold;
  text-transform: uppercase;
  position: absolute;
  z-index: 2;
  pointer-events: none;
  right: -1em;
  font-size: 14px;
  padding: 1em 2em 1em 1em;
  display: flex;
  align-items: center;
  max-width: 310px;
  line-height: 1.2em;
  margin-top: 100%;
  transform: translateY(calc(-100% - 1.5em)); }
  .customization-flash:before {
    display: block;
    content: '';
    background: url("assets/images/exclamation.svg") no-repeat center;
    background-size: contain;
    margin-right: 1em;
    height: 2em;
    width: 2em; }
  .customization-flash__text {
    display: block; }
  @media all and (min-width: 1024px) {
    .customization-flash {
      font-size: 17px; }
      .customization-flash:before {
        height: 40px;
        width: 40px; } }

.related-project {
  background: #F0DDBD;
  padding-bottom: 30px; }
  .related-project:before {
    display: none;
    content: '';
    z-index: -1;
    background: #F0DDBD;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 20%; }
  .related-project__header {
    padding: 2em; }
    @media all and (min-width: 1024px) {
      .related-project__header {
        max-width: 66.6666666667%;
        padding: 3em 0; } }
    .related-project__header h2, .related-project__header h3, .related-project__header h4 {
      font-size: 31px;
      font-weight: 800;
      line-height: 1.2em;
      letter-spacing: .0187em; }
      .related-project__header h2 a, .related-project__header h3 a, .related-project__header h4 a {
        text-decoration: none; }
      @media all and (min-width: 1024px) {
        .related-project__header h2, .related-project__header h3, .related-project__header h4 {
          font-size: 43px; } }
    @media all and (min-width: 1024px) {
      .related-project__header p {
        font-size: 17px; } }
    .related-project__header .project-cta {
      text-decoration: none;
      display: block;
      font-weight: bold;
      font-size: 0.8125rem;
      line-height: 1.75rem;
      letter-spacing: 0.125rem;
      text-transform: uppercase;
      font-family: adelle, serif; }
      .related-project__header .project-cta:hover {
        text-decoration: underline; }
      @media all and (min-width: 1024px) {
        .related-project__header .project-cta {
          display: none; } }
  .related-project .related-project__swiper {
    max-width: 100%; }
    .related-project .related-project__swiper .swiper-container {
      max-width: 100%; }
      @media all and (min-width: 1024px) {
        .related-project .related-project__swiper .swiper-container {
          width: 75%; } }
    .related-project .related-project__swiper .swiper-pagination {
      width: 100%;
      position: relative;
      bottom: -1.7em; }
      .related-project .related-project__swiper .swiper-pagination.swiper-pagination-bullets .swiper-pagination-bullet {
        transition: all .5s ease;
        width: 11px !important;
        height: 11px !important;
        text-indent: -5555px;
        border: 1px solid transparent;
        background: #848484 !important;
        margin: 0 8px;
        opacity: 1;
        outline: none; }
        .related-project .related-project__swiper .swiper-pagination.swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active {
          border: 1px solid #848484 !important;
          background-color: transparent !important;
          transform: scale(1.2); }
      @media all and (min-width: 1024px) {
        .related-project .related-project__swiper .swiper-pagination {
          width: 25%;
          bottom: auto; } }
    @media all and (min-width: 1024px) {
      .related-project .related-project__swiper {
        display: flex;
        flex-direction: row-reverse;
        align-items: center; } }
  @media all and (min-width: 1024px) {
    .related-project {
      background-color: transparent;
      position: relative; }
      .related-project:before {
        display: block; } }

.faq-content .accordion-content ul {
  padding: .5em 0 .5em 2em; }
  .faq-content .accordion-content ul li {
    list-style-type: disc; }

.double-project-banner-image-wrapper img {
  max-width: 554px;
  height: auto; }

.cesvi-select {
  font-size: 12px;
  text-transform: uppercase;
  display: block;
  margin-top: 1em;
  position: relative; }
  .cesvi-select select {
    appearance: textfield;
    -moz-appearance: textfield;
    -webkit-appearance: textfield;
    display: block;
    width: 100%;
    margin: 0 auto 1em auto;
    line-height: 3em;
    padding: 0 30px 0 1em;
    border-radius: 3px;
    font-size: 13px; }
    .cesvi-select select, .cesvi-select select:focus {
      border: 1px solid #F3F3F1;
      box-shadow: 1px 3px 0 0 #DBDBD9; }
  .cesvi-select:after {
    content: '';
    display: block;
    position: absolute;
    text-align: center;
    line-height: 1em;
    top: 5px;
    right: 5px;
    width: 32px;
    bottom: 5px;
    background: url("assets/images/form/select.svg") #fff no-repeat center center;
    background-size: 24px auto;
    pointer-events: none; }

.wedding-search-results {
  padding: 1em;
  background-color: #f3f3f1;
  box-shadow: 5px 5px 0 #e1e1e1;
  width: 600px; }
  .wedding-search-results__item {
    width: 100%;
    clear: both;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #cccccc;
    padding-bottom: 1em;
    margin-bottom: 1em; }
    .wedding-search-results__item:last-child {
      border-bottom: none;
      padding-bottom: 0;
      margin-bottom: 0; }

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

.error-404 {
  padding-top: 10vmin;
  padding-bottom: 10vmin; }

.single_add_to_cart_button[disabled] {
  opacity: .25; }

.additional-info__more {
  display: block;
  white-space: nowrap;
  transition: all .5s ease-out;
  cursor: pointer;
  transform: translateZ(0); }

.additional-info__content {
  display: block;
  transition: all .5s ease-out;
  opacity: 1;
  transform: none;
  max-height: 30em; }

.additional-info--collapsed .additional-info__content {
  opacity: 0;
  max-height: 0;
  padding: 0;
  margin: 0;
  transform: translateY(2em); }
