.flex {
  display: flex;
  flex-wrap: wrap;
}
.align-center {
  align-items: center;
}
.align-end {
  align-items: flex-end;
}
.justify-start {
  justify-content: flex-start;
}
.justify-center {
  justify-content: center;
}
.justify-end {
  justify-content: flex-end;
}
.col-xs-offset-1half {
  margin-left: 4.16666666%;
}
@media (min-width: 768px) {
  .col-sm-offset-1half {
    margin-left: 4.16666666%;
  }
}
@media (max-width: 767px) {
  .hide-xs {
    display: none;
  }
}
.dancing {
  font-family: 'Dancing Script', "Times New Roman", Times, serif;
}
.caps {
  text-transform: uppercase;
}
.normal-font {
  text-transform: none;
}
.brand-primary {
  color: #1b3556;
}
.brand-primary-bg {
  background-color: #1b3556;
}
.brand-secondary {
  color: #e9cb95;
}
.border-secondary {
  border: 5px solid #e9cb95;
}
.brand-success {
  color: #7f9a67;
}
.teal {
  color: #66a497;
}
.navbar-default .logo {
  margin: 2rem 0;
}
.navbar-default .logo .logo-img {
  max-width: 80%;
}
@media (max-width: 991px) {
  .navbar-default .navbar-nav {
    display: none !important;
  }
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  background: none;
  color: #e9cb95;
}
.navbar-default .navbar-nav > li > a {
  display: flex;
  align-items: center;
  color: #1b3556;
  text-transform: uppercase;
  padding-right: 0;
  font-size: 28px;
}
@media (min-width: 992px) and (max-width: 1199px) {
  .navbar-default .navbar-nav > li > a {
    font-size: 24px;
  }
}
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
  color: #e9cb95;
}
.navbar-default .navbar-nav > li:nth-child(n+2) a:before {
  content: "\A";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #e9cb95;
  display: block;
  margin: 0 15px 0 0;
}
.t3-copyright {
  padding: 22px 0;
  background: #1b3556;
  color: #ffffff;
  border-bottom: 6px solid #e9cb95;
}
.t3-copyright .text-center {
  margin: 0;
}
.hero {
  color: #ffffff;
  font-size: 20px;
  margin-bottom: 0;
}
.hero:before {
  content: '';
  width: 30vmax;
  height: 50%;
  background: url(/images/flowers/flower-edge.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  z-index: 2;
  left: 10%;
  top: -1.3vmax;
}
@media (max-width: 991px) {
  .hero:before {
    left: 3%;
    width: 50vmax;
    top: -2.2vmax;
  }
}
@media (max-width: 767px) {
  .hero:before {
    width: 61vmin;
    top: -2.55vmin;
  }
}
.hero:after {
  content: '';
  width: 30vmax;
  height: 50%;
  background: url(/images/flowers/flower-edge.png);
  background-repeat: no-repeat;
  background-size: contain;
  transform: rotate(180deg);
  position: absolute;
  z-index: 2;
  right: 10%;
  bottom: -1.3vmax;
}
@media (max-width: 991px) {
  .hero:after {
    right: 3%;
    width: 50vmax;
    bottom: -2.2vmax;
  }
}
@media (max-width: 767px) {
  .hero:after {
    width: 61vmin;
    bottom: -2.55vmin;
  }
}
.hero .dancing {
  font-size: calc(82px);
  line-height: 1;
}
@media (max-width: 991px) {
  .hero .dancing {
    font-size: 41px;
  }
}
.hero .teal {
  font-size: 41px;
}
.hero .border-secondary {
  box-shadow: 0 0 12px 0px #1e1e1e;
  height: 90%;
  z-index: 1;
}
.hero .col-xs-offset-1half {
  position: absolute;
  top: 2vw;
}
.hero .col-xs-10 img {
  margin-top: 1vmin;
  margin-bottom: 5vmin;
  box-shadow: 0 0 12px 0px #1e1e1e;
}
.hero .brand-primary-bg > .flex {
  min-height: 600px;
}
@media (min-width: 1200px) and (orientation: landscape) {
  .hero .brand-primary-bg > .flex {
    min-height: 700px;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .hero .brand-primary-bg > .flex .flex {
    padding-left: 30px;
    padding-right: 0;
  }
}
@media (max-width: 991px) {
  .hero .brand-primary-bg > .flex .flex {
    margin-bottom: 10rem;
  }
}
@media (max-width: 767px) {
  .hero .brand-primary-bg > .flex .flex {
    margin-bottom: 8rem;
  }
}
#t3-content {
  background: url(/images/flowers/flowers-story-bg.png) no-repeat right bottom;
  background-size: 50%;
}
@media (max-width: 1199px) {
  #t3-content {
    background-size: 80%;
  }
}
@media (max-width: 767px) {
  #t3-content {
    background-size: 100%;
  }
}
#t3-content .article-content h2 .dancing {
  font-size: 61.5px;
}
#t3-content .article-content p {
  line-height: 2.5;
}
#t3-content .article-content em {
  font-family: 'Dancing Script', "Times New Roman", Times, serif;
  color: #e9cb95;
}
#t3-content .article-content em span {
  color: #66a497;
}
#t3-content .article-content em,
#t3-content .article-content span {
  font-size: 28px;
  line-height: 1;
}
.highlights {
  margin-bottom: 0;
}
.highlights .show-xs {
  display: none;
}
@media (max-width: 767px) {
  .highlights .show-xs {
    display: flex;
  }
}
.highlights #wedding {
  background-color: #F0E9E4;
  overflow: hidden;
}
.highlights #wedding p {
  margin-top: 2rem;
}
.highlights #wedding .row {
  position: relative;
}
.highlights #wedding .row:nth-child(2n+1) {
  background-color: #1b3556;
  border-top: 10px solid #e9cb95;
  height: 300px;
}
.highlights #wedding .row:nth-child(2n+1) .highlight-content {
  bottom: 1rem;
}
.highlights #wedding .row:nth-child(2n+1) p {
  color: #ffffff;
}
.highlights #wedding .row:nth-child(2n) {
  height: 500px;
}
@media (max-width: 991px) {
  .highlights #wedding .row:nth-child(2n) {
    height: 70vmax;
  }
}
@media (max-width: 767px) {
  .highlights #wedding .row:nth-child(2n) {
    height: 150vmin;
  }
}
@media (max-width: 767px) and (orientation: landscape) {
  .highlights #wedding .row:nth-child(2n) {
    height: 144vmax;
  }
}
.highlights #wedding .row:nth-child(2n) .highlight-content {
  bottom: 2rem;
}
@media (max-width: 1199px) {
  .highlights #wedding .row:nth-child(2n) .highlight-content {
    bottom: auto;
    top: 2rem;
  }
}
.highlights #wedding .row:nth-child(1) {
  margin-top: 250px;
}
@media (max-width: 767px) and (orientation: landscape) {
  .highlights #wedding .row:nth-child(1) {
    margin-top: 330px;
  }
}
.highlights #wedding .row .highlight-content {
  position: absolute;
}
@media (min-width: 768px) and (max-width: 991px) {
  .highlights #wedding .row .vows .align-end {
    align-items: flex-start;
  }
}
.highlights #wedding span {
  font-family: 'Dancing Script', "Times New Roman", Times, serif;
  font-size: 28px;
}
.highlights #wedding figure {
  background: white;
  box-shadow: 0 0 13px 0px #313131;
  width: fit-content;
  width: -moz-fit-content;
  margin: auto;
  position: relative;
}
.highlights #wedding figure img {
  padding: 1rem 1rem 0;
}
.highlights #wedding figure figcaption {
  font-size: 34px;
}
.highlights #wedding figure figcaption span {
  font-size: 41px;
}
.highlights #wedding #proposal:before {
  content: '';
  background: url(/images/flowers/proposal-flowers.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 70%;
  height: 58%;
  position: absolute;
  top: 5vw;
  bottom: 0;
  right: -22vmin;
  z-index: 0;
}
@media (max-width: 767px) {
  .highlights #wedding #proposal:before {
    right: -30vmin;
  }
}
.highlights #wedding #vows figure,
.highlights #wedding #flower-girl figure {
  margin-left: 0;
}
.highlights #wedding #vows:before {
  content: '';
  background: url(/images/flowers/flower-edge.png);
  background-repeat: no-repeat;
  background-size: contain;
  transform: rotate(180deg);
  position: absolute;
  top: -11vmin;
  right: 0;
  width: 40vmin;
  height: 13vmin;
}
@media (min-width: 1200px) {
  .highlights #wedding #vows:before {
    right: 18vmax;
  }
}
.highlights #wedding #puppies figure {
  margin-right: 0;
}
@media (max-width: 767px) {
  .highlights #wedding #puppies figure {
    margin-right: auto;
    margin-left: 0;
  }
}
.highlights #wedding #puppies:before {
  content: '';
  background: url(/images/flowers/puppies-flowers-1.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: -29vmin;
  left: 0;
  width: 40vmin;
  height: 39vmin;
}
@media (min-width: 1200px) {
  .highlights #wedding #puppies:before {
    left: 9vmin;
  }
}
.highlights #wedding #puppies figure:after {
  content: '';
  background: url(/images/flowers/puppies-flowers-2.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 0;
  right: -13vmin;
  width: 19vmin;
  height: 34vmin;
}
@media (max-width: 767px) {
  .highlights #wedding #puppies figure:after {
    right: -21vmin;
    width: 30vmin;
    height: 47vmin;
  }
}
.highlights #wedding #flower-girl figure:before {
  content: '';
  background: url(/images/flowers/flower-girl-flowers.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: -11vmin;
  right: -10vmin;
  width: 35vmin;
  height: 30vmin;
  z-index: 2;
}
@media (max-width: 767px) {
  .highlights #wedding #flower-girl figure:before {
    top: -18vmin;
    width: 60vmin;
    height: 56vmin;
  }
}
.food-menu {
  margin-bottom: 0;
}
.food-menu #menu h2 {
  font-size: 61.5px;
}
.food-menu #menu ul {
  list-style: none;
  padding-left: 0;
}
.food-menu #menu ul,
.food-menu #menu p {
  font-size: 20px;
}
.food-menu #menu .col-md-4 {
  margin-bottom: 3vmax;
}
@media (max-width: 991px) {
  .food-menu #menu .col-md-4 {
    margin-bottom: 28vmax;
  }
}
@media (max-width: 767px) {
  .food-menu #menu .col-md-4 {
    margin-bottom: 17vmax;
  }
}
.food-menu #menu:before {
  content: '';
  background: url(/images/flowers/menu-flower-left.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: bottom left;
  width: 34vmax;
  height: 18vmax;
  position: absolute;
  left: 0;
  bottom: 0;
}
@media (min-width: 768px) and (max-width: 1199px) {
  .food-menu #menu:before {
    height: 28vmax;
  }
}
@media (min-width: 768px) and (max-width: 1199px) and (orientation: portrait) {
  .food-menu #menu:before {
    height: 22vmax;
  }
}
.food-menu #menu:after {
  content: '';
  background: url(/images/flowers/menu-flower-right.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: bottom right;
  width: 34vmax;
  height: 18vmax;
  position: absolute;
  right: 0;
  bottom: 0;
}
@media (min-width: 768px) and (max-width: 1199px) {
  .food-menu #menu:after {
    height: 28vmax;
  }
}
@media (min-width: 768px) and (max-width: 1199px) and (orientation: portrait) {
  .food-menu #menu:after {
    height: 22vmax;
  }
}