html,
body,
.body-bg {
  min-height: 100vh;
}
.body-bg {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
#content {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}
.frame {
  margin-top: 0;
  margin-bottom: 0;
}
.btn {
  background: transparent;
}
.btn-default:hover {
  background: transparent;
}
/* Admin Panel*/
#TSFE_ADMIN_PANEL_FORM {
  display: none !important;
}
@font-face {
  font-family: 'Open Sans';
  src: url('/fileadmin/templates/font/OpenSans-Regular-webfont.eot');
  src: url('/fileadmin/templates/font/OpenSans-Regular-webfont.eot?#iefix') format('embedded-opentype'), url('/fileadmin/templates/font/OpenSans-Regular-webfont.woff') format('woff'), url('/fileadmin/templates/font/OpenSans-Regular-webfont.ttf') format('truetype'), url('/fileadmin/templates/font/OpenSans-Regular-webfont.svg#open_sansregular') format('svg');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'Open Sans';
  src: url('/fileadmin/templates/font/OpenSans-Italic-webfont.eot');
  src: url('/fileadmin/templates/font/OpenSans-Italic-webfont.eot?#iefix') format('embedded-opentype'), url('/fileadmin/templates/font/OpenSans-Italic-webfont.woff') format('woff'), url('/fileadmin/templates/font/OpenSans-Italic-webfont.ttf') format('truetype'), url('/fileadmin/templates/font/OpenSans-Italic-webfont.svg#open_sansitalic') format('svg');
  font-weight: normal;
  font-style: italic;
}
@font-face {
  font-family: 'Open Sans';
  src: url('/fileadmin/templates/font/OpenSans-Bold-webfont.eot');
  src: url('/fileadmin/templates/font/OpenSans-Bold-webfont.eot?#iefix') format('embedded-opentype'), url('/fileadmin/templates/font/OpenSans-Bold-webfont.woff') format('woff'), url('/fileadmin/templates/font/OpenSans-Bold-webfont.ttf') format('truetype'), url('/fileadmin/templates/font/OpenSans-Bold-webfont.svg#open_sansbold') format('svg');
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: 'Open Sans';
  src: url('/fileadmin/templates/font/OpenSans-BoldItalic-webfont.eot');
  src: url('/fileadmin/templates/font/OpenSans-BoldItalic-webfont.eot?#iefix') format('embedded-opentype'), url('/fileadmin/templates/font/OpenSans-BoldItalic-webfont.woff') format('woff'), url('/fileadmin/templates/font/OpenSans-BoldItalic-webfont.ttf') format('truetype'), url('/fileadmin/templates/font/OpenSans-BoldItalic-webfont.svg#open_sansbold_italic') format('svg');
  font-weight: bold;
  font-style: italic;
}
@font-face {
  font-family: 'open_sansextrabold';
  src: url('/fileadmin/templates/font/OpenSans-ExtraBold-webfont.eot');
  src: url('/fileadmin/templates/font/OpenSans-ExtraBold-webfont.eot?#iefix') format('embedded-opentype'), url('/fileadmin/templates/font/OpenSans-ExtraBold-webfont.woff') format('woff'), url('/fileadmin/templates/font/OpenSans-ExtraBold-webfont.ttf') format('truetype'), url('/fileadmin/templates/font/OpenSans-ExtraBold-webfont.svg#open_sansextrabold') format('svg');
  font-weight: bolder;
  font-style: normal;
}
@font-face {
  font-family: 'Open Sans';
  src: url('/fileadmin/templates/font/OpenSans-ExtraBoldItalic-webfont.eot');
  src: url('/fileadmin/templates/font/OpenSans-ExtraBoldItalic-webfont.eot?#iefix') format('embedded-opentype'), url('/fileadmin/templates/font/OpenSans-ExtraBoldItalic-webfont.woff') format('woff'), url('/fileadmin/templates/font/OpenSans-ExtraBoldItalic-webfont.ttf') format('truetype'), url('/fileadmin/templates/font/OpenSans-ExtraBoldItalic-webfont.svg#open_sansextrabold_italic') format('svg');
  font-weight: bolder;
  font-style: italic;
}
a:link,
a:active,
a:visited {
  color: #ef8033;
}
a:hover {
  color: #f39d62;
  text-decoration: underline;
}
.page-heading {
  margin-top: 60px;
  color: #666;
  max-width: 850px;
}
h1,
.h1 {
  font-weight: 700;
  font-size: 40px;
}
h1:after,
.h1:after {
  display: block;
  margin: 30px 0;
  border: 1px solid #ef8033;
  width: 100px;
  height: 2px;
  content: "";
}
h1 strong,
.h1 strong {
  color: #ef8033;
}
h2,
.h2 {
  font-weight: 700;
  font-size: 1.66em;
}
h3,
.h3 {
  font-weight: 700;
  font-size: 1.2em;
}
b,
strong {
  font-weight: bold;
}
i,
em {
  font-style: italic;
}
blockquote {
  color: #ef8033;
  font-weight: bold;
  font-size: 1.2em;
  line-height: 1.2;
  border: 0;
  padding: 0;
}
blockquote:before,
blockquote:after {
  font-size: 1.33em;
  line-height: 0;
  vertical-align: -0.33em;
  margin: 0 4px;
  display: inline-block;
}
blockquote:before {
  content: open-quote;
}
blockquote:after {
  content: close-quote;
}
blockquote p {
  display: inline;
}
header.navbar {
  background: #061c34;
  border: 0;
}
@media (min-width: 992px) {
  header.navbar .container-fluid {
    padding-right: 0;
  }
}
header.navbar .navbar-brand-image:hover {
  opacity: 1;
}
header.navbar .logo {
  height: 64px;
  width: auto;
}
@media (min-width: 992px) {
  header.navbar .logo {
    margin-left: 15px;
  }
}
.navbar-default .navbar-nav {
  margin: 0;
}
.navbar-default .navbar-nav > li {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  -webkit-transition: background 0.2s;
  transition: background 0.2s;
}
.navbar-default .navbar-nav > li.dropdown > a {
  font-weight: bold;
  text-transform: capitalize;
}
@media (min-width: 992px) {
  .navbar-default .navbar-nav > li.dropdown > a {
    min-width: 135px;
    text-align: center;
    padding: 0 15px;
  }
}
@media (min-width: 1200px) {
  .navbar-default .navbar-nav > li.dropdown > a {
    padding: 0 30px;
  }
}
.navbar-default .navbar-nav > li.dropdown > a:active {
  color: #ef8033;
}
.navbar-default .navbar-nav > li.dropdown > a:focus {
  color: #FFF;
}
@media (min-width: 992px) {
  .navbar-default .navbar-nav > li.dropdown > a:focus {
    color: #333;
  }
}
.navbar-default .navbar-nav > li.dropdown.active > a:hover {
  color: #FFF;
}
@media (min-width: 992px) {
  .navbar-default .navbar-nav > li.dropdown.active > a:hover {
    color: #333;
  }
}
@media (min-width: 992px) {
  .navbar-default .navbar-nav > li:hover .dropdown-menu {
    visibility: visible;
    opacity: 1;
  }
  .navbar-default .navbar-nav > li:hover .bar {
    opacity: 1;
  }
}
.navbar-default .navbar-nav > li:hover {
  background: #0b3562;
}
@media (min-width: 992px) {
  .navbar-default .navbar-nav > li:hover {
    background: #FFF;
  }
}
.navbar-default .navbar-nav > li:hover > a {
  color: #FFF;
}
@media (min-width: 992px) {
  .navbar-default .navbar-nav > li:hover > a {
    color: #061c34;
  }
  .navbar-default .navbar-nav > li:hover > a:focus {
    color: #333;
  }
}
.navbar-default .navbar-nav > li > a {
  color: #FFF;
}
.navbar-default .navbar-nav > li > a:focus {
  color: #FFF;
}
.navbar-default .navbar-nav > li .dropdown-menu {
  position: relative;
  min-width: 100%;
  background: #FFF;
  border: 0;
  padding: 0;
}
@media (min-width: 992px) {
  .navbar-default .navbar-nav > li .dropdown-menu {
    position: absolute;
    display: block;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: opacity 0.2s, visibility 0.2s;
    transition: opacity 0.2s, visibility 0.2s;
    -webkit-box-shadow: 0 2px 1px rgba(0, 0, 0, 0.1);
    box-shadow: 0 2px 1px rgba(0, 0, 0, 0.1);
  }
}
.navbar-default .navbar-nav > li .dropdown-menu a {
  padding: 11.5px 30px;
  -webkit-transition: color 0.2s, background 0.2s;
  transition: color 0.2s, background 0.2s;
  white-space: nowrap;
  line-height: 1em;
  color: #333;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
@media (min-width: 992px) {
  .navbar-default .navbar-nav > li .dropdown-menu a {
    border: none;
    padding: 11.5px 15px;
  }
}
@media (min-width: 1200px) {
  .navbar-default .navbar-nav > li .dropdown-menu a {
    padding: 11.5px 30px;
  }
}
.navbar-default .navbar-nav > li .dropdown-menu a:hover {
  color: #333;
  background: #EFEFEF;
}
.navbar-default .navbar-nav > li .dropdown-menu .active a {
  color: #ef8033;
  background: #FFF;
}
.navbar-default .navbar-nav > li .dropdown-menu .active a:hover {
  background: #fbe1cf;
}
.navbar-default .navbar-nav .active > a {
  color: #FFF;
}
.navbar-default .navbar-main li a {
  font-weight: 300;
}
.navbar-default .navbar-main li a .bar {
  display: none;
}
@media (min-width: 992px) {
  .navbar-default .navbar-main li a .bar {
    display: block;
    top: 66%;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: calc(100% - 30px);
    height: 2px;
    -webkit-backface-visibility: hidden;
  }
}
@media (min-width: 1200px) {
  .navbar-default .navbar-main li a .bar {
    width: calc(100% - 60px);
  }
}
.navbar-default .navbar-collapse {
  border-top: none;
  padding-left: 0;
  padding-right: 0;
}
@media (min-width: 992px) {
  .navbar-default .navbar-collapse {
    padding-right: 0;
    padding-left: 15px;
  }
}
.navbar-default button.navbar-toggle .icon-bar {
  background-color: #FFF;
}
.navbar-default .menu-toggle {
  position: absolute;
  right: 0;
  top: 0;
  padding: 10px 18px;
  border-left: 1px solid rgba(255, 255, 255, 0.2);
}
@media (min-width: 992px) {
  .navbar-default .menu-toggle {
    display: none;
  }
}
.navbar-default .menu-toggle .fa-plus {
  transition: transform 0.3s;
}
.navbar-default .menu-toggle .fa-plus.active {
  transform: rotate(315deg);
}
.navbar-fixed-top .navbar-collapse {
  max-height: none;
  box-shadow: 0 2px 1px rgba(0, 0, 0, 0.1);
}
.carousel-text {
  text-shadow: none;
}
.carousel-inner .item {
  height: 200px;
}
@media (min-width: 768px) {
  .carousel-inner .item {
    height: 250px;
  }
}
@media (min-width: 992px) {
  .carousel-inner .item {
    height: 300px;
  }
}
@media (min-width: 1200px) {
  .carousel-inner .item {
    height: 400px;
  }
}
.no-flexboxlegacy .carousel-inner .item {
  background-size: 140% auto;
}
form.search {
  display: none;
}
@media (min-width: 768px) {
  form.search {
    display: inline-block;
  }
}
form.search .form-control {
  background: none;
  border: 1px solid rgba(255, 255, 255, 0.5);
  color: #FFF;
  padding: 6px 8px;
  height: 32px;
  font-size: 14px;
}
form.search .form-control:hover,
form.search .form-control:focus {
  border-color: #FFF;
}
form.search .btn {
  background: none;
  color: #FFF;
  border: none;
  outline: none;
  padding: 0;
  margin-left: 15px;
  margin-top: 0;
}
.fa-search:hover {
  opacity: 0.8;
}
.search-toggle {
  background: transparent;
  color: white;
  border: 0;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  outline: none;
  cursor: pointer;
}
.search-toggle.collapsed {
  float: right;
  height: 34px;
  width: 34px;
  margin: 18px;
}
@media (min-width: 992px) {
  .search-toggle.collapsed {
    display: none;
  }
}
.nav > li.search-toggle-container {
  display: none;
}
@media (min-width: 992px) {
  .nav > li.search-toggle-container {
    display: block;
  }
}
.search-collapse {
  display: none;
  position: absolute;
  top: 100%;
  z-index: 100;
  width: 100%;
  padding: 15px;
  background: rgba(6, 28, 52, 0.9);
}
@media (min-width: 992px) {
  .search-collapse {
    width: 600px;
    left: 50%;
    transform: translateX(-46%);
    margin-top: 30px;
  }
}
.search-collapse .before {
  display: none;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -100%);
  width: 60px;
  border: 30px solid transparent;
  border-top: none;
  border-bottom: 30px solid rgba(6, 28, 52, 0.9);
  background: transparent;
}
@media (min-width: 992px) {
  .search-collapse .before {
    display: block;
  }
}
.search-collapse .form-group {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 0;
}
.search-collapse .form-control {
  width: 100%;
}
.search-collapse .search {
  display: block;
}
#tx-indexedsearch-searchbox-button-submit {
  margin: 0;
}
.search-wrap {
  background: #DDD;
  padding: 15px;
}
@media (min-width: 992px) {
  .search-wrap {
    padding: 60px;
  }
}
.search-wrap hr {
  border-color: #000;
}
.search-wrap a {
  color: #333;
  font-weight: bold;
}
.tx-indexedsearch-browsebox > li > a {
  background: transparent;
  border: 1px solid #061c34;
  color: #061c34;
  padding: 10px 15px;
}
.tx-indexedsearch-browsebox > li > a:hover,
.tx-indexedsearch-browsebox > li > a:focus {
  color: #FFF;
  background: #061c34;
  border-color: #061c34;
  cursor: pointer;
}
.tx-indexedsearch-browsebox > .tx-indexedsearch-browselist-currentPage > strong > a {
  color: #FFF;
  background: #061c34;
  border: 1px solid #061c34;
  padding: 10px 15px;
}
.tx-indexedsearch-browsebox > .tx-indexedsearch-browselist-currentPage > strong > a:hover,
.tx-indexedsearch-browsebox > .tx-indexedsearch-browselist-currentPage > strong > a:focus {
  color: #061c34;
  background: #FFF;
  border-color: #061c34;
  cursor: pointer;
}
#tx_indexedsearch #tx-indexedsearch-searchbox-sword {
  border: 1px solid #061c34;
  padding: 10px 15px;
  color: #061c34;
  height: unset;
  border-right-width: 0;
}
#tx_indexedsearch .btn {
  background: #061c34;
  color: #FFF;
  padding: 10px 15px;
  border: 1px solid #061c34;
}
@media (min-width: 992px) {
  #tx_indexedsearch .btn {
    padding: 10px 30px;
  }
}
#tx_indexedsearch .btn:hover {
  color: #061c34;
  background: #FFF;
}
.homepage-content {
  margin-bottom: 60px;
}
.homepage-content .col-sm-6 {
  margin-bottom: 30px;
}
.homepage-images .image {
  height: 300px;
  background-size: cover;
  background-position: center;
}
.homepage-images img {
  display: none;
}
.homepage-services {
  margin-bottom: 60px;
  counter-reset: homepage-services;
}
.homepage-services > div {
  counter-increment: homepage-services;
}
.homepage-services > div:before {
  content: "0" counter(homepage-services);
  font-size: 2.5em;
  font-weight: 700;
}
.homepage-services > div > div {
  display: flex;
  flex: 1 0 auto;
}
.homepage-services h2 {
  font-size: 1.5em;
}
.homepage-news {
  margin-bottom: 60px;
  counter-reset: homepage-news;
}
.homepage-news .news-item {
  counter-increment: homepage-news;
}
.homepage-news .news-item:before {
  content: "0" counter(homepage-news);
  font-size: 2.5em;
  font-weight: 700;
}
.homepage-news h2 {
  font-size: 1.5em;
}
#banner-2 {
  margin-bottom: 60px;
}
.btn,
a.btn {
  border: 1px solid #333;
  color: #333;
  margin-top: 1em;
  font-weight: bold;
}
.btn a,
a.btn a {
  color: #333;
}
.btn a:hover,
a.btn a:hover {
  color: #ef8033;
  text-decoration: none;
}
.btn:hover,
a.btn:hover {
  border-color: #ef8033;
  color: #ef8033;
}
.btn:hover a,
a.btn:hover a {
  color: #ef8033;
}
.btn i,
a.btn i {
  margin-left: 10px;
}
.news-list-view .news-list-item {
  margin-top: 30px;
}
.news-list-view a {
  color: #333;
}
@media (min-width: 992px) {
  .news.news-single .headline h1 {
    max-width: 360px;
  }
}
.news.news-single .pager .previous i {
  margin-right: 15px;
}
.news.news-single .pager .next i {
  margin-left: 15px;
}
.news.news-single .news-text-wrap pre {
  background: #EEE;
  color: #666;
  border: 0;
  border-left: 4px solid #ef8033;
  padding: 15px;
}
.news.news-single .news-text-wrap ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.news.news-single .news-text-wrap ul li {
  padding-left: 30px;
  position: relative;
}
.news.news-single .news-text-wrap ul li:before {
  content: '-';
  position: absolute;
  left: 15px;
}
.product .cta {
  border: 2px solid #ef8033;
  padding: 15px;
  max-width: 320px;
}
.product section {
  counter-reset: list-item;
}
.product section > .frame {
  padding: 0 15px;
}
.product section .list-item {
  counter-increment: list-item;
  padding-left: 60px;
}
.product section .list-item:before {
  position: absolute;
  left: 15px;
  top: -4px;
  display: block;
  font-size: 1.3em;
  font-weight: 700;
  color: #ef8033;
  content: "0" counter(list-item) ".";
}
.product section .breakout {
  margin: 60px calc(50% - 50vw);
  display: block;
  display: flex;
  clear: both;
}
.product section .image {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  min-height: 400px;
  margin: 0;
}
.product section .image img {
  display: none;
}
.product section .content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #EEE;
  min-height: 400px;
  padding: 60px;
}
.product section .content h2 {
  color: #ef8033;
}
.product hr {
  margin: 30px 15px 60px;
}
.product .other-products {
  margin-top: 60px;
}
.product figure {
  position: relative;
}
.product figure figcaption {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 200px;
  color: #FFF;
  text-align: left;
  font-size: 2em;
  font-weight: bold;
}
.product figure figcaption:after {
  max-width: 100px;
  width: 100%;
  height: 2px;
  background: #ef8033;
  content: "";
  position: absolute;
  top: 110%;
  left: 0;
}
.product figure figcaption:hover {
  cursor: pointer;
}
.subpage-contact-banner {
  background: #ef8033;
  color: #FFF;
  font-size: 15px;
  padding: 15px 0;
  text-align: center;
}
@media (min-width: 992px) {
  .subpage-contact-banner {
    font-size: 20px;
    padding: 30px 0;
  }
}
.subpage-contact-banner p {
  margin: 0;
}
.subpage-contact-banner a {
  color: #FFF;
  text-decoration: underline;
  font-weight: bold;
}
.subpage-content h2:after {
  display: block;
  margin: 30px 0;
  border: 1px solid #ef8033;
  width: 100px;
  height: 2px;
  content: "";
}
.subpage-content .tx-dce-pi1 {
  background: #EEE;
}
.subpage-content .tx-dce-pi1:nth-of-type(2n) {
  background: #FFF;
}
.subpage-content p + h3 {
  margin-top: 30px;
}
.subpage-content img + p {
  margin-top: 30px;
}
.subpage-content p a {
  margin: 0 3px;
}
.subpage-section {
  padding: 60px 0;
}
.subpage-image {
  padding: 0;
}
.subpage-image .image-bg {
  background-size: cover;
  background-position: center;
  color: #FFF;
  padding: 60px;
  text-align: right;
}
.subpage-image .image-bg.image-left h2 {
  text-align: right;
  float: right;
  max-width: 500px;
}
.subpage-image .image-bg.image-right h2 {
  text-align: left;
  float: left;
  max-width: 500px;
}
.subpage-image .text-wrap {
  padding: 60px;
}
.subpage-image .text-wrap.text-left h2,
.subpage-image .text-wrap.text-left h3,
.subpage-image .text-wrap.text-left p {
  max-width: 500px;
  text-align: right;
}
.subpage-image .text-wrap.text-right h2,
.subpage-image .text-wrap.text-right h3,
.subpage-image .text-wrap.text-right p {
  max-width: 500px;
  text-align: left;
}
#tl_diagram {
  display: block;
  margin: 0;
}
footer {
  background: #061c34;
  color: #FFF;
  font-size: 13px;
  padding: 60px 0 0;
}
footer .footer-section {
  background: none;
  border: none;
}
footer .footer-section a:link,
footer .footer-section a:active,
footer .footer-section a:visited,
footer .footer-section a:hover {
  color: #FFF;
}
footer .footer-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media (min-width: 768px) {
  footer .footer-header {
    justify-content: space-between;
  }
}
footer .logo {
  height: 64px;
  width: auto;
}
footer .footer-main {
  margin-top: 30px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}
footer .footer-main .row {
  margin: 0;
}
footer .footer-main .col-sm-2 {
  padding: 0;
}
footer .footer-main h5 {
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-left: 0;
  border-right: 0;
  padding: 15px;
  margin: 0;
  position: relative;
  border-bottom-width: 0;
}
footer .footer-main h5:hover {
  background: rgba(255, 255, 255, 0.25);
  cursor: pointer;
}
@media (min-width: 768px) {
  footer .footer-main h5 {
    border-bottom-width: 1px;
  }
  footer .footer-main h5:hover {
    background: initial;
    cursor: initial;
  }
}
footer .footer-main h5:after {
  content: "\f067";
  font-family: FontAwesome;
  position: absolute;
  right: 15px;
  transition: transform 0.3s;
}
@media (min-width: 768px) {
  footer .footer-main h5:after {
    display: none;
  }
}
footer .footer-main h5.active:after {
  transform: rotate(315deg);
}
footer .footer-main ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: none;
}
@media (min-width: 768px) {
  footer .footer-main ul {
    display: block;
  }
}
footer .footer-main ul li a {
  display: block;
  width: 100%;
  padding: 11.5px 15px 0;
}
footer .footer-main ul li:last-of-type {
  margin-bottom: 11.5px;
}
footer .footer-copyright {
  padding: 15px;
  text-align: center;
}
@media (min-width: 992px) {
  footer .footer-copyright {
    text-align: right;
  }
}
/* .flex : master class needed for all Flex subclasses*/
.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* .flex-wrap : wraps child elements, useful on .row elements to wrap .col-xx child elements*/
  /* .flex-col : changes flex-direction to column orientation*/
  /* .flex-center : places child elements in the absolute center of the parent*/
  /* .flex-sp-between : spaces child elements to fit across X axis (Y axis if .flex-col is used) and adds even space between each element*/
  /* .flex-end : places all child elements at the very end of the parent element (bottom right corner)*/
  /* .flex-1 : allows a child element to take up as much space as possible*/
}
.flex-wrap {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.flex-col {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
.flex-center {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  /* .flex-center-y : places child elements in the center on the Y axis (X axis if .flex-col is used), X axis is unaffected*/
  /* .flex-center-x : places child elements in the center on the X axis (Y axis if .flex-col is used), Y axis is unaffected*/
}
.flex-center-y {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.flex-center-x {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.flex-sp-between {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.flex-end {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  /* .flex-end-x : places all child elements at the end of the X axis (Y axis if .flex-col is used)*/
  /* .flex-end-y : places all child elements at the end of the Y axis (X axis if .flex-col is used)*/
  /* .flex-end-self : places item at the end the the flex object*/
}
.flex-end-x {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}
.flex-end-y {
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}
.flex-end-self {
  -ms-flex-item-align: end;
  align-self: flex-end;
}
.flex-1 {
  -webkit-box-flex: 1;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}
.flex.row:before,
.flex.row:after {
  content: normal;
}
.no-flexboxlegacy .body-bg {
  display: block;
}
.no-flexboxlegacy .homepage-services .tx-dce-pi1 .flex-sp-between {
  width: 100%;
}
.no-padding {
  padding: 0;
}
.v-padding-top-xs {
  padding-top: 10px;
}
.v-padding-top-sm {
  padding-top: 15px;
}
.v-padding-top-md {
  padding-top: 30px;
}
.v-padding-top-lg {
  padding-top: 60px;
}
.v-padding-bottom-xs {
  padding-bottom: 10px;
}
.v-padding-bottom-sm {
  padding-bottom: 15px;
}
.v-padding-bottom-md {
  padding-bottom: 30px;
}
.v-padding-bottom-lg {
  padding-bottom: 60px;
}
.v-padding-xs {
  padding-top: 10px;
  padding-bottom: 10px;
}
.v-padding-sm {
  padding-top: 15px;
  padding-bottom: 15px;
}
.v-padding-md {
  padding-top: 30px;
  padding-bottom: 30px;
}
.v-padding-lg {
  padding-top: 60px;
  padding-bottom: 60px;
}
.sadface {
  display: none;
  padding: 0 60px;
}
@media (min-width: 992px) {
  .sadface {
    display: block;
  }
}
