/***** Desktops *****/
@media (min-width: 1480px) {
  .container {
    width: 1280px;
  }
  section {
    padding: 35px 0;
  }
  .action-box .box-main {
    width: 33%;
  }
  .expand-box .box-content {
    min-height: 225px;
  }
  .flexbox.flexbox-right .flush-content {
    padding-left: 200px;
  }
  .flexbox.flexbox-left .flush-content {
    padding-right: 200px;
  }
}

@media all and (min-width: 992px) {
  .carousel-cards .carousel-inner > .active.left,
  .carousel-cards .carousel-inner > .prev {
    left: -50%;
  }
  .carousel-cards .carousel-inner > .active.right,
  .carousel-cards .carousel-inner > .next {
    left: 50%;
  }
  .carousel-cards .carousel-inner > .left,
  .carousel-cards .carousel-inner > .prev.right,
  .carousel-cards .carousel-inner > .active {
    left: 0;
  }
  .carousel-cards .carousel-inner .cloneditem-1 {
    display: block;
  }
  .contrast .side-title-list > li.active::after {
    width: 70px;
    height: 70px;
    background-color: #0072bb !important;
    right: -35px;
    top: 15px;
  }
  .flexbox-large.flexbox-right {
    float: right;
    -moz-flex-direction: row-reverse;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
}

@media all and (min-width: 992px) and (transform-3d),
all and (min-width: 992px) and (-webkit-transform-3d) {
  .carousel-cards .carousel-inner > .item.active.right,
  .carousel-cards .carousel-inner > .item.next {
    -webkit-transform: translate3d(50%, 0, 0);
    transform: translate3d(50%, 0, 0);
    left: 0;
  }
  .carousel-cards .carousel-inner > .item.active.left,
  .carousel-cards .carousel-inner > .item.prev {
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
    left: 0;
  }
  .carousel-cards .carousel-inner > .item.left,
  .carousel-cards .carousel-inner > .item.prev.right,
  .carousel-cards .carousel-inner > .item.active {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    left: 0;
  }
}

@media all and (min-width: 1200px) {
  .expand-box .box-content {
    min-height: 250px;
  }
  .flexbox.flexbox-right .flush-content {
    padding-left: 150px;
  }
  .flexbox.flexbox-left .flush-content {
    padding-right: 150px;
  }
  .carousel-cards .carousel-inner > .active.left,
  .carousel-cards .carousel-inner > .prev {
    left: -33%;
  }
  .carousel-cards .carousel-inner > .active.right,
  .carousel-cards .carousel-inner > .next {
    left: 33%;
  }
  .carousel-cards .carousel-inner > .left,
  .carousel-cards .carousel-inner > .prev.right,
  .carousel-cards .carousel-inner > .active {
    left: 0;
  }
  .carousel-cards .carousel-inner .cloneditem-1,
  .carousel-cards .carousel-inner .cloneditem-2 {
    display: block;
  }
}

@media all and (min-width: 1200px) and (transform-3d),
all and (min-width: 1200px) and (-webkit-transform-3d) {
  .carousel-cards .carousel-inner > .item.active.right,
  .carousel-cards .carousel-inner > .item.next {
    -webkit-transform: translate3d(33%, 0, 0);
    transform: translate3d(33%, 0, 0);
    left: 0;
  }
  .carousel-cards .carousel-inner > .item.active.left,
  .carousel-cards .carousel-inner > .item.prev {
    -webkit-transform: translate3d(-33%, 0, 0);
    transform: translate3d(-33%, 0, 0);
    left: 0;
  }
  .carousel-cards .carousel-inner > .item.left,
  .carousel-cards .carousel-inner > .item.prev.right,
  .carousel-cards .carousel-inner > .item.active {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    left: 0;
  }
}

@media (min-width: 480px) {

  /* ==== GLOBAL STYLES ==== */
  .desktop-hide {
    display: none;
  }    
  .vertical-divide-content .first-column {
    padding-right: 30px;
  }
  .vertical-divide-content .second-column {
    padding-left: 40px;
  }
  .vertical-divide .col-sm-6 {
    padding: 15px 50px;
  }
  .vertical-divide .numbers-styled > li::before {
    left: 50px;
  }
  /* ==== END GLOBAL STYLES ==== */

  /* ==== NAVIGATION ==== */
  .navbar-main li > .active::after {
    content: "";
    position: absolute;
    width: 18px;
    height: 18px;
    background-color: #fff;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    left: 42%;
    bottom: -25px;
    z-index: 3;
  }
  /* ==== END NAVIGATION ==== */

  /* ==== HEADER ==== */
  .affix a.navbar-cta {
    right: 10px;
  }
  /* ==== END HEADER ==== */

  /* ==== FOOTER ==== */
  .social-media {
    margin-top: 35px;
  }
  .highlight-bg .social-media {
    margin-top: 0;
  }
  /* ==== END FOOTER ==== */

  /* ==== SECTION ELEMENTS ==== */

  /* ---- BOX GRID ---- */
  .checkerboard .first-column .translucent-bg:nth-of-type(even)::after,
  .checkerboard .second-column .translucent-bg:nth-of-type(odd)::after {
    background-color: rgba(255,255,255,0.5);
  }
  /* ---- END BOX GRID ---- */

  /* ---- EMAIL ARCHIVE ---- */
  .archive-nav-item.btn {
    margin-top: -5px;
  }
  /* ---- END EMAIL ARCHIVE ---- */

  /* ---- FLEXBOX ---- */
  .flexbox.flexbox-right {
    float: right;
    -moz-flex-direction: row-reverse;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  /* ---- END FLEXBOX ---- */

  /* ---- MODAL ---- */
  .modal-dialog.modal-vertical {
    width: 50%;
  }
  /* ---- END MODAL ---- */

  /* ---- SCROLL TO TOP ---- */
  #chat-button {
    right: 15px;
  }
  /* ---- END SCROLL TO TOP ---- */

  /* ---- TAB LISTS ---- */
  .side-tab-list > li.active::after {
    content: "";
    position: absolute;
    width: 30px;
    height: 30px;
    background-color: #fff !important;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    right: -24px;
    top: 28px;
  }
  .side-title-list > li.active::after {
    content: "";
    position: absolute;
    width: 55px;
    height: 55px;
    background-color: #fff !important;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    right: -24px;
    top: 7px;
    z-index: 3;
  }
  .contrast .side-tab-list > li.active::after {
    background-color: #eee !important;
  }
  /* ---- END TAB LISTS ---- */

  /* ---- TAB PANES ---- */
  .top-tabs .nav-tabs.nav-justified > li > a,
  .top-tabs .nav-tabs.nav-justified > .active > a,
  .top-tabs .nav-tabs.nav-justified > .active > a:focus,
  .top-tabs .nav-tabs.nav-justified > .active > a:hover,
  .top-tabs .nav-tabs.nav-justified > .active > a:active {
    border-bottom: 3px solid #fff;
  }
  .top-tabs .nav-tabs.nav-justified > li > a:hover {
    border-bottom-color: #eee;
  }
  /* ---- END TAB PANES ---- */

  /* ==== END SECTION ELEMENTS ==== */

}

@media (max-width: 1200px) {
  .navbar-nav > li {
    padding-right: 10px;
    padding-left: 10px;
  }
  .timeline img {
    width: 130px;
    height: 130px;
  }
  .timeline .col-sm-4 {
    padding-left: 0;
    padding-right: 0;
  }
}

@media only screen and (max-width: 992px) {
  .carousel .item .col-xs-12:nth-last-child(-n+2) {
    display: none;
  }
}

@media (max-width: 992px) {

  /* ==== GLOBAL STYLES ==== */

  /* ==== END GLOBAL STYLES ==== */


  /* ==== NAVIGATION ==== */

  /* ---- TOP NAV ---- */
  .navbar-nav > li {
    padding-right: 5px;
    padding-left: 5px;
  }
  .navbar-main .navbar-nav > li {
    padding: 10px 10px 0 10px;
  }
  .secondary-nav.affix {
    padding-bottom: 15px;
  }
  /* ---- END TOP NAV ---- */

  /* ==== END NAVIGATION ==== */

  /* ==== INTROS ==== */
  .intro-landing {
    padding-top: 100px;
  }
  /* ==== END INTROS ==== */

  /* ==== SECTIONS ==== */
  .expand-box .box-content {
    min-height: 310px;
  }
  .action-box li {
    margin-bottom: 10px;
    margin-left: 0;
  }
  .contrast .side-title-list > li.active::after {
    display: none;
  }
  .contrast .title-tab-content .tab-pane-content {
    min-height: 200px;
  }
  .flexbox-large {
    -moz-flex-direction: column;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  /* ==== END SECTIONS ==== */
}

@media (max-width: 992px) and (min-width: 768px) {
  .secondary-nav.affix .navbar-nav {
    float: left;
  }
  #contact-details .btn-block {
    width: 90%;
  }
}

/***** Tablets *****/
@media (max-width: 767px) {

  /* ==== GLOBAL STYLES ==== */

  /* ---- TEXT ---- */
  h1 {
    margin-bottom: 15px;
  } 
  h3 {
    margin-top: 30px;
    margin-bottom: 15px;
  }
  .x-large {
    font-size: 7em;
  }
  h2.x-large {
    top: -100px;
  }
  /* ---- END TEXT ---- */

  /* ---- LISTS ---- */
  .icon-list li {
    width: 45%;
  }
  /* ---- END LISTS ---- */

  /* ---- TABLES ---- */
  .table-chart h5 {
    text-align: left;
  }
  /* ---- END TABLES ---- */

  /* ---- LAYOUT ---- */
  .desktop-hide {
    display: block;
  }    
  .mobile-hide {
    display: none;
  }
  .desktop-hide td {
    display: inline-block;
    width: 100%;
  }
  #who,
  #when {
    padding-top: 100px;
  }
  hr.underline {
    width: 50%;
  }
  /* ---- END LAYOUT ---- */

  /* ==== END GLOBAL STYLES ==== */    
  

  /* ==== NAVIGATION ==== */

  /* ---- TOP NAV ---- */
  .navbar-nav {
    padding: 0;
  }
  .navbar-nav > li,
  .navbar-main .navbar-nav > li {
    margin-left: 0;
    padding-bottom: 10px;
    font-size: 22px;
    text-align: center;
  }  
  .navbar-nav .dropdown-toggle i {
    display: none;
  }
  .navbar-nav .open .dropdown-menu {
    text-align: center;
  }
  .navbar-nav .open .dropdown-menu > li {
    display: inline-block;
    margin: 10px 5px 5px 5px;
    vertical-align: top;
  }  
  .navbar-nav .open .dropdown-menu > li > a {
    padding: 10px;
    font-size: 18px;
    line-height: 25px;
    color: #fff;
    border: 3px solid #555;
    white-space: normal;
  }    
  .navbar-nav .open .dropdown-menu > li > a:focus,
  .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-nav .open .dropdown-menu > li > a:active {
    background-color: #222;
    border-color: #222;
  }
  .logo {
    margin-top: 10px;
  }
  .navbar-email .open .dropdown-menu > li > a {
    background-color: #48ad3a;
    border-color: #48ad3a;
  }  
  .navbar-hosting .open .dropdown-menu > li > a {
    background-color: #ed6834;
    border-color: #ed6834;
  }
  .navbar-data .open .dropdown-menu > li > a {
    background-color: #0072bb;
    border-color: #0072bb;
  }  
  .navbar-email .open .dropdown-menu > li > a:focus,
  .navbar-email .open .dropdown-menu > li > a:hover,
  .navbar-email .open .dropdown-menu > li > a:active {
    background-color: #378a2b;
    border-color: #378a2b;
  }
  .navbar-hosting .open .dropdown-menu > li > a:focus,
  .navbar-hosting .open .dropdown-menu > li > a:hover,
  .navbar-hosting .open .dropdown-menu > li > a:active {
    background-color: #d84e18;
    border-color: #d84e18;
  }
  .navbar-data .open .dropdown-menu > li > a:focus,
  .navbar-data .open .dropdown-menu > li > a:hover,
  .navbar-data .open .dropdown-menu > li > a:active {
    background-color: #005e99;
    border-color: #005e99;
  }
  .navbar-nav .dropdown-menu i {
    display: block;
    width: 100%;
    padding-right: 0;
  }
  .navbar-nav .dropdown-item {
    display: block;
    width: 135px;
    height: 100px;
  }
  .navbar-main .dropdown-item {
    width: 120px;
    height: 80px;
  }
  a:hover .dropdown-item {
    background-color: #222;
  }
  .navbar-email a:hover .dropdown-item {
    background-color: #378a2b;
  }
  .navbar-hosting a:hover .dropdown-item {
    background-color: #d84e18;
  }
  .navbar-data a:hover .dropdown-item {
    background-color: #005e99;
  }
  /* ---- END TOP NAV ---- */

  /* ==== END NAVIGATION ==== */

  /* ==== HEADER ==== */
  .contact-info {
    margin-top: 0;
  }
  /* ==== END HEADER ==== */

  /* ==== FOOTER ==== */
  footer .container {
    padding: 40px 0;
  }
  .footer-contact-info {
    margin-top: 25px;
  }   
  .social-media li {
    padding: 0;
  }
  /* ==== END FOOTER ==== */

  /* ==== INTROS ==== */
  .intro-expanded {
    padding-bottom: 50px;
  }
  .intro-landing {
    padding-top: 80px;
  }
  /* ==== END INTROS ==== */


  /* ==== SECTION ELEMENTS ==== */

  /* ---- BOX GRID ---- */
  .action-box .box-main {
    width: 50%;
  }
  .checkerboard .box.translucent-bg:nth-of-type(2n)::after {
    background-color: rgba(255,255,255,0.5);
  }
  .expand-box .box-content {
    min-height: 275px;
    padding-top: 40px;
  }
  /* ---- END BOX GRID ---- */

  /* ---- BUTTONS ---- */
  .btn {
    display: block;
    width: 50%;
    margin: 20px auto;
    white-space: normal;
  }
  .btn-block{
    width: 50%;
  }
  .btn-square {
    width: 150px;
  }
  .action-bar-button .btn-large,
  .action-bar-button .button {
    margin-left: auto;
  }
  .affix a.navbar-cta {
    left: 10px;
    top: 16px;
  }
  .btn.navbar-cta {
    width: auto;
  }
  .col-xs-6 .btn {
    width: 90%;
  }
  .btn-container .btn {
    margin: 20px auto;
  }
  /* ---- END BUTTONS ---- */

  /* ---- CALL TO ACTION ---- */
  .sidebar {
    max-width: 250px;
  }
  .action-block {
    width: 50%;
    margin: 30px auto;
  }
  /* ---- END CALL TO ACTION ---- */

  /* ---- COLUMNS ---- */
  .columns {
     -webkit-column-count: 1; /* Chrome, Safari, Opera */
     -moz-column-count: 1; /* Firefox */
     column-count: 1;
  } 
  /* ---- END COLUMNS ---- */

  /* ---- FLEXBOX ---- */
  .flexbox {
    -moz-flex-direction: column;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .flexbox-content h3 {
    margin-top: 0;
  }
  .flexbox .flexbox-image {
    max-height: 250px;
  }
  .flexbox .flexbox-image img.align-bottom {
    -moz-object-position: 50% 100%;
    -webkit-object-position: 50% 100%;
    -ms-object-position: 50% 100%;
    object-position: 50% 100%;
  }
  .flexbox-small .flush-content {
    padding: 20px;
  }
  /* ---- END FLEXBOX ---- */

  /* ---- IMAGES ---- */
  .image-lg {
    display: block;
    width: 90%;
    margin: 0 auto;
  }
  .image-md {
    display: block;
    width: 90%;
    margin: 0 auto;
  }
  /* ---- END IMAGES ---- */

  /* ---- SCROLL TO TOP ---- */
  #chat-button {
    left: 15px;
  }
  /* ---- END SCROLL TO TOP ---- */

  /* ---- TAB LISTS ---- */
  .title-tab-content .tab-pane-content {
    padding: 40px;
  }
  .contrast .side-title-list h4 {
    font-size: 18px;
  }
  .side-tab-list li { 
    display: inline-block;
    margin: 0;
    margin-top: 5px;
  }
  .side-tab-list > li.active::after {
    display: none;
  }
  .side-tabs .tab-pane {
    margin-left: 0;
  }
  .title-list > li {
    margin-left: 0;
    padding-right: 0;
  }
  /* ---- END TAB LISTS ---- */

  /* ---- TAB PANES ---- */
  .top-tabs .nav-tabs > li {
    margin: 0;
  }
  .top-tabs .nav-tabs.nav-justified > li > a {
    border: none;
  }
  .top-tabs .nav-tabs.nav-justified > li > a:hover {
    background-color: #fff;
  }
  /* ---- END TAB PANES ---- */

  /* ---- TIMELINE ---- */
  .timeline::before {
    left: 75px;    
  }
  .timeline h3 {
    margin-top: 0;
  }
  .timeline img {
    width: 100px;
    height: 100px;
  }
  .timeline-left {
    text-align: left;
  }
  /* ---- END TIMELINE ---- */

  /* ==== END SECTIONS ==== */
}

@media (min-width: 501px) {
  /*.flexbox-large.flexbox-right {
    text-align: right;
  }*/
  .flexbox-small.flexbox-right {
    -moz-flex-direction: row-reverse;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
}

/***** Phones ******/
@media (max-width: 500px) {

  /* ==== GLOBAL STYLES ==== */

  /* ---- TEXT ---- */
  body,
  .text-left,
  .intro-homepage,
  .intro-homepage h1,
  .intro-homepage h3 {
    text-align: center;
  }
  h1 {
    margin-top: 35px;
    font-size: 42px;
  }
  .x-large {
    font-size: 4em;
  }
  h2.x-large {
    position: relative;
    top: 20px;
  }
  .indent {
    padding-left: 0;
  }
  /* ---- END TEXT ---- */

  /* ---- LISTS ---- */
  ul.tab-list,
  ul.title-list {
    text-align: center;
  }
  .title-list > li {
    padding-left: 0;
  }
  .icon-list li {
    width: 90%;
  }
  .numbers-styled li {
    padding-left: 40px;
  }
  /* ---- END LISTS ---- */

  /* ---- TABLES ---- */
  table.featured-table {
    margin-top: 0;
  }
  /* ---- END TABLES ---- */

  /* ---- LAYOUT ---- */
  section ul,
  section ol {
    padding: 0;
    text-align: left;
  }
  .container {
    padding-right: 0;
    padding-left: 0;
  }
  .row {
    padding: 15px 0;
  }
  .col-xs-6 {
    width: 100%;
  }
  .col-xs-offset-3 {
    margin-left: 0;
  }
  #who,
  #when {
    padding-top: 50px;
  }
  hr.underline {
    width: 100%;
  }
  .arrow-down {
    margin-bottom: -20px;
  }
  /* ==== END GLOBAL STYLES ==== */

  /* ==== HEADER ==== */
  .logo {
    width: 70%;
    max-width: 218px;
    margin-top: 15px;
  }
  .logo img {
    width: 80%;
    max-width: 218px;
    float: left;
  }
  /* ==== HEADER ==== */

  /* ==== NAVIGATION ==== */

  /* ---- TOP NAV ---- */
  .navbar-nav .open .dropdown-menu > li {
    margin: 5px 0 0 0;
  }
  .navbar-nav .open .dropdown-menu > li > a {
    padding: 5px;
    font-size: 16px;
    line-height: 20px;
    border: none;
  }
  .navbar-nav .dropdown-item {
    width: 100px;
    height: 80px; 
  }
  .navbar-main .dropdown-item {
    width: 90px;
    height: 60px;
  }
  .affix .navbar-title img {
    width: 40px;
    height: 40px;
  }
  /* ---- END TOP NAV ---- */

  .subnav li {
    padding: 5px 0;
  }

  /* ==== END NAVIGATION ==== */

  /* ==== INTROS ==== */
  .intro h1 {
    margin-top: 0;
    font-size: 48px;
  }
  .intro h3 {
    font-size: 28px;
  }
  .intro-box {
    margin-top: -40px;
  }
  .intro-expanded {
    padding-top: 80px;
    padding-bottom: 30px;
  }
  .intro-landing {
    padding-top: 60px;
  }
  /* ==== END INTROS ==== */

  /* ==== SECTION ELEMENTS ==== */

  /* ---- BOX GRID ---- */
  .action-box .box-main {
    width: 80%;
  }
  .expand-box .box-content {
    min-height: 300px;
  }
  /* ---- END BOX GRID ---- */

  /* ---- BUTTONS ---- */
  .btn {
    width: 90%;
  }
  .btn-block{
    width: 80%;
  }
  .btn-square {
    width: 150px;
  }
  .btn.navbar-cta {
    width: auto;
  }
  /* ---- END BUTTONS ---- */

  /* ---- CALL TO ACTION ---- */
  .sidebar {
    display: block;
    float: none;
    max-width: 100%;
    margin-bottom: 15px;
  }
  .action-block {
    width: 90%;
  }
  /* ---- END CALL TO ACTION ---- */

  /* ---- EMAIL ARCHIVE ---- */
  .archive-nav .dropdown-menu {

  }
  .archive-nav-item {
    margin-bottom: 20px;
    display: block;
  }
  .archive-nav-item.item-center {
    width: 160px;
    margin: 20px auto;
  }
  /* ---- END EMAIL ARCHIVE ---- */

  .flexbox-small {
    -moz-flex-direction: column;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .flexbox-small .flexbox-image {
    max-height: 250px;
  }
  .flexbox-small .flexbox-image img.align-bottom {
    -moz-object-position: 50% 100%;
    -webkit-object-position: 50% 100%;
    -ms-object-position: 50% 100%;
    object-position: 50% 100%;
  }

  /* ---- IMAGES ---- */
  .image-right {
    float: none;
    padding-left: 0;
  }
  .image-left {
    float: none;
    padding-right: 0;
  } 
  /* ---- END IMAGES ---- */

  /* ---- PRICE TABLE ---- */
  table.pricing-table {
    margin-top: 30px;
  }
  /* ---- END PRICE TABLE ---- */

  /* ---- TAB LISTS ---- */
  .title-tab-content .tab-pane-content {
    padding: 20px;
  }
  .side-tab-list li {
    width: 120px;
  }
  /* ---- END TAB LISTS ---- */

  /* ---- TAB PANES ---- */
  .top-tabs p {
    font-size: 16px;
  }
  .contrast .tabs h2 {
    margin-left: 0;
  }
  /* ---- END TAB PANES ---- */

  /* ---- TIMELINE ---- */
  .timeline:before {
    left: 50%;
  }
  .timeline .col-xs-3,
  .timeline .col-xs-9 {
    width: 100%;
  }
  .timeline h3 {
    margin-top: 20px;
  }
  .timeline img {
    float: none;
  }
  .timeline-left {
    text-align: center;
  }
  /* ---- END TIMELINE ---- */

  /* ==== END SECTION ELEMENTS ==== */

  #homepage {
    background-position: -150px 50%;
  }
}
