/* rem and em do Not depend on html font-size in media queries!
   Instead, 1rem - 1em = 16px*/

/* Below 1180px / 16 (iPhone X Landscape) */
@media (max-width: 73.75em) {
  * {
    --max-width: 140rem;
    --bright-blue: #0076BE;
  }

  html {
    /* 5/16  */
    font-size: 50%;
    width: auto !important;
    width: var(--max-width);
    margin: 0 auto;
    overflow-x: hidden !important;
  }
}

/* Below 1024px / 16 (iPhone X Landscape) */
@media (max-width: 64em) {
  * {
    --max-width: 129.5rem;
    --bright-blue: #0076BE;
  }

  html {
    /* 5/16  */
    font-size: 50%;
    width: auto !important;
    width: var(--max-width);
    margin: 0 auto;
    overflow-x: hidden !important;
  }
}

/* Below 912px / 16 (iPhone X Landscape) */
@media (max-width: 57em) {
  * {
    --max-width: 115rem;
    --bright-blue: #0076BE;
  }

  html {
    /* 5/16  */
    font-size: 50%;
    width: auto !important;
    width: var(--max-width);
    margin: 0 auto;
    overflow-x: hidden !important;
  }
}

/* Below 854px / 16 (iPhone X Landscape) */
@media (max-width: 53.375em) {
  * {
    --max-width: 105rem;
    --bright-blue: #0076BE;
  }

  html {
    /* 5/16  */
    font-size: 50%;
    width: auto !important;
    width: var(--max-width);
    margin: 0 auto;
    overflow-x: hidden !important;
  }

  .contactus-contact-card {
    width: 30rem;
  }
}

/* Below 812px / 16 (iPhone X Landscape) */
@media (max-width: 50.75em) {
  * {
    --max-width: 110rem;
    --bright-blue: #0076BE;
  }

  html {
    /* 5/16  */
    font-size: 50%;
    width: auto !important;
    width: var(--max-width);
    margin: 0 auto;
    overflow-x: hidden !important;
  }
}

/* Below 768px / 16 (iPhone X Landscape) */
@media (max-width: 48em) {
  * {
    --max-width: 98rem;
    --bright-blue: #0076BE;
  }

  html {
    /* 5/16  */
    font-size: 50%;
    width: auto !important;
    width: var(--max-width);
    margin: 0 auto;
    overflow-x: hidden !important;
  }

  .contactus-contact-card {
    width: 29rem;
  }

  .page-nav {
    font-size: 1.6rem;
  }
}

/* Below 740px / 16 (iPhone X Landscape) */
@media (max-width: 46.25em) {
  * {
    --max-width: 105rem;
    --bright-blue: #0076BE;
  }

  html {
    /* 5/16  */
    font-size: 45%;
    width: auto !important;
    width: var(--max-width);
    margin: 0 auto;
    overflow-x: hidden !important;
  }
}

/* Below 736px / 16 (iPhone X Landscape) */
@media (max-width: 46em) {
  * {
    --max-width: 103rem;
    --bright-blue: #0076BE;
  }

  html {
    /* 5/16  */
    font-size: 45%;
    width: auto !important;
    width: var(--max-width);
    margin: 0 auto;
    overflow-x: hidden !important;
  }
}

/* Below 667px / 16 (iPhone X Landscape) */
@media (max-width: 41.6875em) {
  * {
    --max-width: 103rem;
    --bright-blue: #0076BE;
  }

  html {
    /* 5/16  */
    font-size: 41%;
    width: auto !important;
    width: var(--max-width);
    margin: 0 auto;
    overflow-x: hidden !important;
  }
}

/* Below 641px / 16 (iPhone X Landscape) */
@media (max-width: 40.0625em) {
  * {
    --max-width: 97.5rem;
    --bright-blue: #0076BE;
  }

  html {
    /* 5/16  */
    font-size: 43%;
    width: auto !important;
    width: var(--max-width);
    margin: 0 auto;
    overflow-x: hidden !important;
  }

  .contactus-contact-card {
    width: 28rem;
  }

  .page-nav {
    font-size: 1.55rem;
  }

}

/* Below 412px / 16 (Wider Phones) */
@media (max-width: 25.875em) {
  * {
    --max-width: 90rem;
    --bright-blue: #0076BE;
  }

  html {
    /* 5/16  */
    font-size: 31%;
    width: auto !important;
    width: var(--max-width);
    margin: 0 auto;
    overflow-x: hidden !important;
  }

  body {
    overflow-x: hidden !important;
    position: relative;
    width: 100%;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
  }

  .main-page-layout {
    min-width: 100%;
  }

  .header {
    /*margin-right: 1.2rem;*/
    grid-template-columns: 36rem auto 6fr 7rem;
    margin-left: 2.4rem;
  }

  .header-space {
    /*width: 5rem;*/
  }

  /* Mobile */
  .btn-mobile-nav {
    margin-left: -2rem;
    display: block;
    z-index: 30;
  }

  .main-nav {
    max-width: 50vw;
    position: absolute;
    background-color: rgba(255, 255, 255, 0.97);
    top: 0px;
    left: 50vw;
    width: 50vw;
    height: 100vh;
    z-index: 1;
    grid-template-columns: 1fr;
    justify-content: start;
    align-items: start;
    font-size: 3rem;
    line-height: 0.5rem;
    transition: all 0.5s ease-in-out;

    transform: translate3d(100vw, 0, 0);

    /* 1) Hide the element*/
    opacity: 0;
    /* 2) Inaccessible to mouse and keyboard*/
    pointer-events: none;
    /* 3) Hide it from screen readers */
    visibility: hidden;
    /*display: none;*/
  }

  .main-nav-whatwedo,
  .main-nav-sectors,
  .main-nav-products,
  .main-nav-aboutus,
  .main-nav-trackrecord,
  .main-nav-ourclients,
  .main-nav-contactus {
    /*margin-right: 10rem;*/
    margin-left: 2rem;
    justify-self: left;
    /*margin-top: -40rem;*/
  }

  .main-nav-whatwedo {
    margin-top: 10rem;
    /*justify-self: center;*/
  }

  .main-nav-contactus {
    /*justify-self: center;*/
    margin-bottom: 60vh;
  }

  .nav-open .main-nav {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
    /*display: inline;*/
    transform: translate3d(0vw, 0, 0);
  }

  .nav-open .icon-mobile-nav[name="close-outline"] {
    display: inline-block;
  }

  .nav-open .icon-mobile-nav[name="menu-outline"] {
    display: none;
  }

  /* Page Nav*/
  .page-nav {
    max-width: 50vw;
    position: absolute;
    background-color: rgba(255, 255, 255, 0.97);
    top: 0;
    left: 50vw;
    width: 100vw;
    height: 100vh;
    z-index: 1;
    grid-template-columns: 1fr;
    grid-row-gap: 1rem;
    justify-content: start;
    justify-items: left;
    align-items: start;

    font-size: 3rem;
    transition: all 0.5s ease-in-out;

    transform: translate3d(100vw, 0, 0);

    /* 1) Hide the element*/
    opacity: 0;
    /* 2) Inaccessible to mouse and keyboard*/
    pointer-events: none;
    /* 3) Hide it from screen readers */
    visibility: hidden;
  }

  .page-nav-home,
  .page-nav-whatwedo,
  .page-nav-sectors,
  .page-nav-products,
  .page-nav-aboutus,
  .page-nav-trackrecord,
  .page-nav-ourclients,
  .page-nav-contactus {
    margin-left: 2rem;
    justify-self: left;
  }

  .page-nav-home {
    margin-top: 10rem;
  }

  .ourclients-nav-home {
    padding-top: 5rem;
  }

  .page-nav-contactus {
    /*justify-self: center;*/
    margin-bottom: 50vh;
  }

  .nav-open .page-nav {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
    transform: translate3d(0vw, 0, 0);
  }

  .header-mobile {
    padding-top: 2rem;
    padding-right: 3rem;
    width: 100%;
    display: flex;
    justify-content: flex-end;
  }

  .main-header-mobile {
    padding-top: 0rem;
  }

  .common-txt {
    font-size: 2.8rem;
  }

  .header-ice {
    justify-self: right;
    align-self: end;
    /*padding-right: 2rem;*/
  }

  .header-ice img {
    margin-left: -2rem;
    width: 35rem;
  }

  .header-whoweare-primary h1 {
    font-size: 2.9rem;
  }

  .header-whoweare-secondary {
    font-size: 3rem;
  }

  .main-whatwedo-screens {
    grid-template-columns: 1fr 1fr;
    max-width: calc(var(--max-width) - 11.5rem);
  }

  .main-whatwedo-screens-header {
    align-items: start;
    justify-items: start;
  }

  .main-whatwedo-screens-summary {
    align-items: start;
    justify-items: start;
  }

  .main-whatwedo-screens-detail {
    grid-template-columns: 0rem 1fr;
    align-items: start;
    justify-items: start;
    margin-left: 0rem;
  }

  .main-trackrecord-cards-grid {
    grid-template-columns: 1fr;
    row-gap: 2.4rem;
  }

  .main-trackrecord-card {
    display: grid;
    grid-template-columns: 1fr 3fr;
  }

  .main-trackrecord-card-details {
    align-items: center;
  }

  .main-whychooseus-benefits {
    grid-template-columns: 1fr;
  }

  .common-top-margin {
    margin-top: 0rem;
  }
  .main-whychooseus {
    max-width: calc(var(--max-width) - 10rem);
  }

  .main-whychooseus-benefit {
    height: 12.5rem;
  }

  .main-whychooseus-benefit h2 {
    font-size: 2.2rem;
  }

  .main-whychooseus-benefit h3 {
    font-size: 2.2rem;
  }

  .main-trackrecord-card-year {
    margin-top: 0rem;
    margin-left: -2rem;
  }

  .main-products {
    margin-top: 1rem;
  }

  .main-products-hide-right-products-scroll {
    margin-top: -3.4rem;
  }

  .main-products-cards-section {
    margin-left: 2rem;
  }

  .main-trackrecord-card-details-00s,
  .main-trackrecord-card-details-10s,
  .main-trackrecord-card-details-20s {
    margin-top: 0rem;
  }

  /*.main-trackrecord-card-details-20s {*/
  /*  margin-left: -4rem;*/
  /*}*/

  .main-trackrecord-card-details-00s,
  .main-trackrecord-card-details-10s {
    grid-template-columns: 0.04fr 1fr;
    margin-left: -1rem;
  }

  .main-trackrecord-card-details-20s {
    grid-template-columns: 0.02fr 1fr;
    margin-left: -1rem;
  }

  .main-trackrecord-card-year-20s-rsquo {
    padding-left: .5rem;
  }

  .main-trackrecord-card-year-00s-rsquo {
    margin-left: 0rem;
  }

  .main-trackrecord-card-year-10s-rsquo {
    margin-left: 0rem;
  }

  .main-trackrecord-card-year-20s-years {
    margin-left: -0.3rem;
  }

  .main-trackrecord-card-year-00s-years {
    margin-left: -0.3rem;
  }
  .main-trackrecord-card-year-10s {
    margin-left: -2rem;
  }
  .main-trackrecord-card-year-10s-years {
    margin-left: -1.3rem;
    letter-spacing: 0.1em;
  }

  .main-sectors {
    margin-top: 0rem;
  }

  .main-sectors-container-detail {
    margin-left: 0rem;
    grid-template-columns: 0rem 1fr;
  }

  .main-sectors-markets {
    max-width: calc(var(--max-width) - 9.6rem);
    margin-left: -18.8rem;
  }

  .main-trackrecord-header {
    grid-template-columns: 1fr;
  }

  .main-trackrecord-years {
    max-width: calc(var(--max-width) - 12rem);
    margin-left: 6rem;
  }

  .main-trackrecord-card-00s,
  .main-trackrecord-card-10s,
  .main-trackrecord-card-20s {
    font-size: 10rem;
    margin-left: -1rem;
  }

  .main-products-slick-container {
    width: 85rem;
  }

  .main-footer {
    height: 34.5rem;
  }

  .main-footer-container {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr 1fr 1fr;
    margin-left: 2.4rem;
  }

  .main-footer-card h2,
  .main-footer-card p {
    font-size: 2.2rem;
    line-height: 2.2rem;
  }

  .main-footer-links {
    font-size: 3rem;
    line-height: 4rem;
  }

  .main-footer-links {
    visibility: hidden;
  }

  .footer-2 {
    margin-left: -2.4rem;
  }

  .main-footer-address {
    /*margin-left: 2.4rem;*/
  }

  /*************************************************************/
  /* WHAT WE DO                                                */
  /*************************************************************/

  .whatwedo-page-layout {

  }
  .whatwedo-container-page {
    margin: 0 2.4rem;
  }
  .whatwedo-details-container {
    grid-template-columns: 1fr;
    column-gap: 1.4rem;
  }

  .whatwedo-summary {
    margin-top: 0rem;
  }

  .whatwedo-container {
    grid-template-columns: 0rem 0rem 0.975fr;
    margin-left: -2.4rem;
  }

  .whatwedo-dataintegration-container {
    grid-template-columns: 1fr 0fr 0fr;
    margin-left: -0.2rem;
  }

  .whatwedo-res {
    margin-top: 1.2rem;
  }

  .whatwedo-image-container {
    width: 100%;
    height: auto;
  }

  .main-whatwedo-screens-header {
    margin-left: 2.4rem;
  }

  .whatwedo-image-container-bespoke,
  .whatwedo-image-container-data,
  .whatwedo-image-container-content {
    height: 16.4rem;
  }

  /*************************************************************/
  /* MARKET SECTORS                                            */
  /*************************************************************/
  .market-sectors-content {
    margin-top: 26rem;
  }

  .market-sectors-subpage-header-margin {
    margin-left: -0.5rem;
  }

  .market-sectors-details-container {
    grid-template-columns: 1fr;
  }

  .market-sectors-container-page {
    margin: 0 1.2rem;
  }
  .market-sectors-summary {
    margin-top: -1rem;
  }
  .market-sectors-photos-container {
    grid-template-columns: 1fr 1fr;
  }

  /*************************************************************/
  /* Why Choose Us                                             */
  /*************************************************************/
  .main-whychooseus {
    margin-left: 2.4rem;
  }
  .main-whychooseus-benefit-1 {
    padding-bottom: 2.4rem;
  }

  .main-whychooseus-benefit-2 {
    padding-bottom: 2.4rem;
  }

  .main-whychooseus-benefit-3 {
    padding-bottom: 2.4rem;
  }

  /*************************************************************/
  /* PRODUCTS                                                  */
  /*************************************************************/
  .main-products {
    margin-left: 2.4rem;
    z-index: 100;
  }

  .products-page-layout {
    grid-template-rows: 4.8rem 0.1fr 0.1fr 0.2fr;
    align-items: start;
    margin: 0 2.4rem;
  }

  .products-container {
    max-width: calc(var(--max-width) - 12rem);
  }
  .products-cards-container {
    max-width: calc(var(--max-width) - 12rem);
    grid-template-columns: 1fr;
  }
  .product-sectors-details-container {
    grid-template-columns: 1fr;
  }
  .products-accordion-title {
    font-size: 2.6rem;
  }
  .products-accordion-title-features {
    font-size: 2.2rem;
  }
  .product-sectors-summary {
    margin-top: 0rem;
  }


  .products-cards-container-benefits {
    grid-column: 1;
    font-size: 2.8rem;
    margin-left: 0rem;
  }

  .products-cards-container-benefits-container {
    margin-left: 2.4rem;
    margin-bottom: 1.2rem;
  }

  .products-input-genuscld input:checked + label + .content {
    /*height: 211.7rem;*/
    max-height: 220rem;
  }

  .products-input-genusdn input:checked + label + .content {
    /*height: 130.8rem;*/
    max-height: 220rem;
  }

  .products-input-genusp input:checked + label + .content {
    /*height: 92rem;*/
    max-height: 220rem;
  }

  .products-input-genusmvp input:checked + label + .content {
    /*height: 162.5rem;*/
    max-height: 220rem;
  }

  .products-input-genusmv input:checked + label + .content {
    /*height: 143.3rem;*/
    max-height: 220rem;
  }

  .products-input-genusvw input:checked + label + .content {
    /*height: 88.7rem;*/
    max-height: 220rem;
  }

  .products-input-genuscit input:checked + label + .content {
    /*height: 100rem;*/
    max-height: 220rem;
  }

  .image-container {
    max-width: calc(var(--max-width) - 12rem);
    grid-column: 1;
    grid-row: -1;
  }

  .image-container img {
    max-width: calc(var(--max-width) - 12rem);
  }

  .content-border-bottom {
    margin-top: -0.3rem;
  }

  .content-border-bottom-gp {
    margin-top: 0.3rem;
  }

  .main-footer-products {
    margin-left: -2.4rem;
  }

  .main-footer-products,
  .main-footer-sectors,
  .main-footer-products,
  .main-footer-aboutus,
  .main-footer-ourclients,
  .main-footer-trackrecord,
  .main-footer-aboutus
  {
    max-width: calc(var(--max-width) + 12rem);
    margin-right: -2.4rem;
  }

  .main-footer-trackrecord .main-footer-address {
    margin-left: 2.4rem;
  }
  /*************************************************************/
  /* Market Sectors                                            */
  /*************************************************************/
  .main-sectors-container {
    margin-left: 2.4rem;
  }

  .main-sectors-container-secondary {
    padding-right: 1rem;
  }
  /*************************************************************/
  /* Our Track Record                                           */
  /*************************************************************/
  .main-trackrecord {
    margin-left: 2.4rem;
  }
  /*************************************************************/
  /* ABOUT US                                                  */
  /*************************************************************/
  .aboutus-header {
    max-width: calc(var(--max-width) - 12rem);
  }

  .aboutus-cards-container {
    max-width: calc(var(--max-width) - 12rem);
    grid-template-columns: 0.01rem 4fr 0.01rem;
  }

  .aboutus-details-container {
    grid-template-columns: 1fr;
  }

  .aboutus-summary {
    margin-top: 0rem;
  }

  .aboutus-trackrecord {
    max-width: calc(var(--max-width) - 9.6rem);
  }
  .aboutus-trackrecord-card-container {
    grid-template-columns: 0rem 3.5fr 0.1fr 0.4fr 0.1rem;
  }

  .aboutus-card-container {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
  }

  .aboutus-card-details {
    margin-top: -8rem;
    grid-template-columns: 14rem 1fr;
  }

  .aboutus-card-details-name {
    grid-column: 2/-1;
  }

  .aboutus-card-details-title {
    grid-column: 2/-1;
    grid-row: 2/3;
    font-size: 2.4rem;
  }

  .aboutus-card-details-summary {
    grid-column: 1/-1;
    grid-row: 3/4;
    margin-top: 2rem;
  }

  .aboutus-card-photo {
    justify-self: start;
  }

  .aboutus-card-details-name {
    font-size: 4rem;
  }

  .aboutus-trackrecord-decade {
    font-size: 10rem;
  }

  .aboutus-card-trackrecord-title {
    font-size: 2.4rem;
    line-height: 3rem;
  }

  .aboutus-card-trackrecord-summary p {
    font-size: 2.4rem;
  }

  .aboutus-trackrecord-decade-20s {
    margin-top: -1.3rem;
  }

  .aboutus-trackrecord-decade-10s {
    margin-top: 1.5rem;
  }

  .aboutus-trackrecord-decade-00s {
    margin-top: 8.5rem;
  }

  .aboutus-trackrecord-decade-20s {
    margin-top: 10.5rem;
  }

  .aboutus-trackrecord-card-decade {
    visibility: hidden;
  }
  /*************************************************************/
  /* OUR CLIENTS                                               */
  /*************************************************************/
  .ourclients-page-layout {
    margin: 0 2.4rem;
  }
  .main-clients {
    margin-left: 2.4rem;
  }
  .main-clients-slick-carousel {
    width: 85rem;
  }

  .main-clients-header {
    grid-template-columns: 1fr;
  }

  .main-clients-header h3 {
    margin-top: -2.4rem;
  }

  .ourclients-sectors-summary {
    margin-top: 0rem;
  }

  .ourclients-logos-cards-container {
    grid-template-columns: 0.001rem 12.5rem 12.5rem 12.5rem 12.5rem 12.5rem 4.8rem;
    margin-left: -3.0rem;
  }

  .our-clients-img-card {
    width: 8rem;
  }

  .our-clients-img-card {
    width: 14rem;
  }

  /*************************************************************/
  /* CONTACT US                                               */
  /*************************************************************/
  .contactus-details-container {
    grid-template-columns: 1fr;
  }

  .contactus-summary {
    margin-top: 0rem;
  }

  .contactus-contact-container {
    grid-template-columns: 1fr;
  }

  .contactus-contact-section {
    max-width: calc(var(--max-width) - 9.6rem);
    margin-top: 0rem;
  }

  .contactus-contact-card {
    width: calc(var(--max-width) - 9.6rem);
    height: auto;
  }

  .contactus-contact-card-h2 {
    font-size: 3rem;
  }

  .contactus-contact-card p {
    font-weight: 300;
    font-size: 2.8rem;
    line-height: 2.2rem;
  }

  .contactus-contact-card-spacer {
    margin-top: -4rem;
  }

  .contactus-mobile-svg {
    width: 22px;
    height: 22px;
  }

  .contactus-contact-card-email-link a {
    font-size: 2.8rem;
  }

  .contactus-res-spacer {
    margin-top: 2rem;
  }
}

/*Below 393px / 16 */
@media (max-width: 24.5625em) {
  * {
    --max-width: 94rem;
    --bright-blue: #0076BE;
  }

  html {
    /* 5/16  */
    font-size: 28%;
    width: auto !important;
    width: var(--max-width);
    overflow-x: hidden !important;
  }
}

/*Below 390px / 16 */
@media (max-width: 24.375em) {
  * {
    --max-width: 94rem;
    --bright-blue: #0076BE;
  }

  html {
    /* 5/16  */
    font-size: 28%;
    width: auto !important;
    width: var(--max-width);
    overflow-x: hidden !important;
  }
}

/*Below 375px / 16 (Narrower Phones) */
@media (max-width: 23.4375em) {
  * {
    --max-width: 86rem;
    --bright-blue: #0076BE;
  }

  html {
    /* 5/16  */
    font-size: 28%;
    width: auto !important;
    width: var(--max-width);
    overflow-x: hidden !important;
  }
}

/* Below 360px / 16  */
@media (max-width: 22.5em) {
  * {
    --max-width: 86rem;
    --bright-blue: #0076BE;
  }

  html {
    /* 5/16  */
    font-size: 28%;
    width: auto !important;
    width: var(--max-width);
    overflow-x: hidden !important;
  }

  .header-mobile {
    padding-right: 4rem;
  }

  .main-products-cards-section {
    margin-left: 4rem;
  }
}
