@import url('../etc.clientlibs/esri-sites/components/content/two-thirds-tile-divide/clientlibs.css');
@import "legacy-calcite-variables.css";

.calcite-theme-light {
  --calcite-ui-background-1: #ffffff !important;
}

.star-rating__stars {
    position: relative;
    height: 1.5rem;
    width: 7.5rem;
    background: url(https://www.esri.com/content/dam/esrisites/en-us/marketplace/test-assets/star-outline.svg);
    background-size: 1.5rem 1.5rem;
    cursor: pointer;
    transition: all .25s ease-in-out;
  }
  
  .star-rating__label {
    position: absolute;
    height: 100%;
    background-size: 1.5rem 1.5rem;
    cursor: pointer;
    transition: all .25s ease-in-out;
  }
  
  .star-rating__input {
    margin: 0;
    position: absolute;
    height: 1px; width: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
  }
  
  .star-rating__stars .star-rating__label:nth-of-type(1) {
    z-index: 5;
    width: 20%;
  }
  
  .star-rating__stars .star-rating__label:nth-of-type(2) {
    z-index: 4;
    width: 40%;
  }
  
  .star-rating__stars .star-rating__label:nth-of-type(3) {
    z-index: 3;
    width: 60%;
  }
  
  .star-rating__stars .star-rating__label:nth-of-type(4) {
    z-index: 2;
    width: 80%;
  }
  
  .star-rating__stars .star-rating__label:nth-of-type(5) {
    z-index: 1;
    width: 100%;
  }
  
  .star-rating__input.checked + .star-rating__label,
  .star-rating__input:focus + .star-rating__label,
  .star-rating__label:hover {
    background-image: url(https://www.esri.com/content/dam/esrisites/en-us/marketplace/test-assets/star-fill.svg);
  }
  
  .star-rating__label:hover ~ .star-rating__label {
    background-image: url(https://www.esri.com/content/dam/esrisites/en-us/marketplace/test-assets/star-outline.svg);
  }
  
  .star-rating__input:focus ~ .star-rating__focus {
    position: absolute;
    top: -.25em;
    right: -.25em;
    bottom: -.25em;
    left: -.25em;
    outline: 0.25rem solid lightblue;
  }
  
  
  @media (max-width: 1280px) {
    .desktoponly{
      display:none;
    }
  }
  
  .scrollsection{
    position: relative;
    overflow-y: scroll;
    height: 250px;
    border: 1px solid #ccc;
  }
  
  .scrollsection-content{
    padding: 40px 10px;
  }
  
  @media (min-width: 1280px) {
    .scrollsection-content{
      padding: 40px 20% 40px 40px;
    }
  }
  
  html[dir="rtl"] .scrollsection-content{
    padding: 40px 40px 40px 20%;
  }
  
  .scrollsection::-webkit-scrollbar {
    -webkit-appearance: none;
  }
  
  .scrollsection::-webkit-scrollbar:vertical {
    width: 11px;
  }
  
  .scrollsection::-webkit-scrollbar:horizontal {
    height: 11px;
  }
  
  .scrollsection::-webkit-scrollbar-thumb {
    border-radius: 8px;
    border: 2px solid white; /* should match background, can't be transparent */
    background-color: rgba(0, 0, 0, .2);
  }
  
  .scroll{
    position:relative;
  
  }
  .fade-out{
    position:relative;
  }
  .fade-out:after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height:200px;
    background-image: linear-gradient( rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 1) 100% );
  }
  
  
  .cta-buttons--actions a[scale="s"],
  .cta-buttons--actions button[scale="s"] {
      padding: calc(1.55rem/ 4) calc(1.55rem* 0.5 + 20px) calc(1.55rem/ 4) calc(1.55rem* 0.5);
      font-size: 0.8125rem;
      line-height: 1.55rem;
  }
  .cta-buttons--actions button[scale="l"]{
    padding: calc(1.55rem / 2)  calc(1.55rem* 1 + 24px) calc(1.55rem / 2)  calc(1.55rem* 1);
    font-size: 1.2019rem;
    line-height: 1.55rem; 
    text-align: end;}
    @media screen and (max-width: 859px) {
      .cta-buttons--actions button[scale="l"] {
        font-size: 1.1305rem; } }
    @media screen and (max-width: 479px) {
      .cta-buttons--actions button[scale="l"] {
        font-size: 1.0625rem; } }
  .recommended-card-content .cta-buttons--actions button {
      margin: 0;
  }

  .cta-buttons--messages {
    margin-bottom: 30px;
  }

  button[data-primary="true"]{
    border:none;
  }

  .cta-buttons--messages p {
    margin: 5px 0;
    color: var(--calcite-ui-text-2);
}
  
  .mp-product-subscription-wrapper{
    background-color: #f7f7f7;
    background-repeat: no-repeat;
    background-position: bottom;
    padding: 60px 0;
    min-height: 620px; 
  }
  
  .mp-contact-provider-wrapper{
    background-color: #f7f7f7;
    background-repeat: no-repeat;
    background-position: -941px;
    padding: 60px 0;
    min-height: 320px; 
    background-image: url(https://www.esri.com/content/dam/esrisites/en-us/marketplace/test-assets/marketplace-contact-provider-bg-2560x400.jpg);
  }
  
  
  .mp-contact-provider-header{
    width:100%;
  }
  
  @media (min-width: 1280px) {
    .mp-contact-provider-header{
      width:50%;
    }
    .mp-contact-provider-wrapper{
      background-position: bottom;
      }    
  }
  
  .mp-form-wrapper input, .mp-form-wrapper select{
    border:1px solid #ccc;
    padding:5px 20px;
    width:100%;
    margin:15px 0;
  }
  
  .mp-form-wrapper textarea {
    border:1px solid #ccc;
    padding:20px;
    width:100%;
  }
  .mp-form-2-column{
    display:flex;
    flex-direction: column;
  }
  
  .mp-form-2-column .mp-form-column{
   flex-basis:100%;
   width:100%;
  }
  
  @media (min-width: 760px) {
    .mp-form-2-column{
      flex-direction: row;
      }
    .mp-form-2-column .mp-form-column{
      flex-basis:50%;
      width:50%;
     }
  }
  .select-wrapper {
      position: relative;	
  }
  
  .select-wrapper select {
      background: #fff;
      border: 1px solid #ccc;
      width: 100%;
      padding: 5px 20px;
      font-size: 16px;
  
      /* Here's the code we need */
      -webkit-appearance: none;
      -moz-appearance: none;
      -ms-appearance: none;
       -o-appearance: none;
          appearance: none;
  }
  
  
  
  .select-wrapper:after {
    content: '';
    font-size: 28px;
    position: absolute;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M5.293 3h1.414l4.5 4.5-4.5 4.5H5.293l4.5-4.5z'/%3E%3C/svg%3E");  top: 12px;
    right: 20px;
    pointer-events: none;
    height: 15px;
    width: 15px;
    background-repeat: no-repeat;
  }
  
  html[dir="rtl"] .select-wrapper:after {
    left: 20px;
    right: auto;
    transform: rotate(180deg);
  }
  
  
  select::-ms-expand {
    display: none;
  }
  
  .mp-form-2-column .mp-form-column:first-child{
    padding-right: 0;
  }
  
  .mp-form-2-column .mp-form-column:last-child{
    padding-left: 0;
  }
  
  @media (min-width: 600px) {
  
    .mp-form-2-column .mp-form-column:first-child{
      padding-right: 10px;
    }
    
    .mp-form-2-column .mp-form-column:last-child{
      padding-left: 10px;
    }
  
  
    html[dir="rtl"] .mp-form-2-column .mp-form-column:first-child{
      padding-left: 10px;
      padding-right: 0;
    }
  
    html[dir="rtl"] .mp-form-2-column .mp-form-column:last-child{
      padding-right: 10px;
      padding-left: 0;
    }
  
  }
  
  
  
  .alert-message{
   font-style: italic;
   padding:20px 0;
   float: right;
   position:relative;
  }
  
  .alert-message-icon{
    background-image: url("data:image/svg+xml,%3Csvg id='icon-ui-svg' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='%230079c2' d='M24.9 31.1H28v.8h-3.1v.1h-.8v-.1H21v-.8h3.1V20.9H22v-.8h2.1V20h.8v.1h.1v.8h-.1zm18-7.1A18.9 18.9 0 1 1 24 5.1 18.921 18.921 0 0 1 42.9 24zm-.8 0A18.1 18.1 0 1 0 24 42.1 18.12 18.12 0 0 0 42.1 24zm-19.125-9A1.025 1.025 0 1 1 24 16.025 1.026 1.026 0 0 1 22.975 15zm.8 0c0 .248.45.248.45 0a.225.225 0 0 0-.45 0z' id='icon-ui-svg--base'/%3E%3C/svg%3E");
    height: 20px;
    width: 20px;
    background-repeat: no-repeat;
    display: inline-block;
    margin-right: 6px;
  }
  
  html[dir="rtl"] .alert-message-icon{
    margin-right: 0;
    margin-left: 6px;
  }
  .alert-message:before{
    content: '';
    font-size: 28px;
    position: absolute;
    left: -22px;
    height: 15px;
    width: 15px;
    background-repeat: no-repeat;
    background-image: url("data:image/svg+xml,%3Csvg id='icon-ui-svg' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='%230079c2' d='M24.9 31.1H28v.8h-3.1v.1h-.8v-.1H21v-.8h3.1V20.9H22v-.8h2.1V20h.8v.1h.1v.8h-.1zm18-7.1A18.9 18.9 0 1 1 24 5.1 18.921 18.921 0 0 1 42.9 24zm-.8 0A18.1 18.1 0 1 0 24 42.1 18.12 18.12 0 0 0 42.1 24zm-19.125-9A1.025 1.025 0 1 1 24 16.025 1.026 1.026 0 0 1 22.975 15zm.8 0c0 .248.45.248.45 0a.225.225 0 0 0-.45 0z' id='icon-ui-svg--base'/%3E%3C/svg%3E");
  }

  .alert-message.leftaligned{
    float:left;
    padding:20px;
  }

  .alert-message.leftaligned:before{
    left:0;
  }


  .mp-message-div{
    display:flex;
    align-items: center;
  }
  
  html[dir="rtl"] .mp-form-wrapper .alert-message {
    float: left;
  }
  
  html[dir="rtl"] .mp-form-wrapper .alert-message:before {
    right: -22px;
  }
  
  
  .mp-contact-provider-id{
    display:flex;
    align-items: center;
  }
  .mp-contact-provider-logo{
    width:140px;
  }
  .mp-contact-provider-logo img{
   width:120px;
   height:120px;
  }
  
  .input-container {
    display: block;
    position: relative;
    padding-left: 35px;
    margin-bottom: 12px;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
  }
  
  /* Hide the browser's default checkbox */
  .input-container input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
  }
  
  /* Create a custom checkbox */
  .input-checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 22px;
    width: 22px;
    background-color: #eee;
    border:1px solid #ccc;
  }
  
  /* On mouse-over, add a grey background color */
  .input-container:hover input ~ .input-checkmark {
    background-color: #fff;
  }
  
  /* When the checkbox is checked, add a blue background */
  .input-container input:checked ~ .input-checkmark {
    background-color: #fff;
    color:red;
  }
  
  /* Create the checkmark/indicator (hidden when not checked) */
  .input-checkmark:after {
    content: "";
    position: absolute;
    display: none;
  }
  
  /* Show the checkmark when checked */
  .input-container input:checked ~ .input-checkmark:after {
    display: block;
  }
  
  /* Style the checkmark/indicator */
  .input-container .input-checkmark:after {
    left: 7px;
    top: 3px;
    width: 5px;
    height: 10px;
    border: solid #0079c2;
    border-width: 0 1px 1px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  
  
  .mp-product-subscription-nav{
    margin-bottom:40px;
  }
  .mp-product-subscription-nav a:before{
    content: '';
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='%230079c1' d='M18.231 5h2.766l-11 11 11 11H18.23l-11-11z'/%3E%3C/svg%3E");
    height: 14px;
    width: 14px;
    display: inline-block;
    transition: all 0.15s ease-in-out 0s;
    margin-right:5px;
  }
  
  
  .mp-product-column .mp-product-column-name{
    flex-basis: 100%;
    display:flex;
    align-items:center;
   }
  
   .mp-product-column.item .mp-product-column-name{
    border-bottom: 1px solid #ccc;
    padding-bottom: 20px;
   }
  
   .mp-product-column.item .mp-product-column-info{
    padding: 10px 0 20px 0; 
   }
  
   .mp-product-column.item .mp-product-column-qty{
    display: flex;
    align-items: center;
   }
  
  
   .mp-product-column.item .mp-product-column-info > div{
    padding: 10px 0;
   }
  
   .mp-product-column.item .mp-product-column-price{
     margin-left:0!important;
   }
   .mp-product-column.item .mp-product-column-price::before{
    content: "Product price: ";
    width: 140px;
    display: inline-block;
   }
  
   .mp-product-column.item .mp-product-column-subtotal::before{
    content: "Sub-total: ";
    width: 140px;
    display: inline-block;
   }
  
   .mp-product-column.item .mp-product-column-qty::before{
    content: "Quantity: ";
    width: 140px;
    display: inline-block;
   }
  
  
   .mp-terms-acceptance .btn{
    padding: 20px 60px;
   }
  
   .mp-terms-acceptance .btn.cancel{
    margin-left:20px;
   }
  
   html[dir="rtl"].mp-terms-acceptance .btn:first-child{
    margin-left:0;
    margin-right:20px;
   }
  
   @media (max-width: 1280px) {
    .mp-product-subscription-table{
      min-width: 100vw;
      margin-left: -2.5rem;
      padding:0 20px;
    }
  
    .mp-product-subscription-nav{
      padding: 20px;
      margin-bottom:0;
    }
    .mp-product-subscription-wrapper{
      padding: 60px 0 0;
    }
    .mp-product-subscription{
      padding:0;
    }
    .mp-product-subscription-content{
      background-image: url("https://www.esri.com/content/dam/esrisites/en-us/marketplace/test-assets/marketplace-services-listings-banner-bg-2560x750.jpg");
      background-position: bottom;
      background-position-x: -400px;
      padding: 0 30px 60px;
    }
  
    .mp-product-subscription-wrapper .grid-container{
      max-width:100vw;
    }
  
   }
  @media (min-width: 1280px) {
  
    .mp-product-subscription{
      display:flex;
    }
  
    .mp-product-subscription-wrapper{
      background-image: url("https://www.esri.com/content/dam/esrisites/en-us/marketplace/test-assets/marketplace-services-listings-banner-bg-2560x750.jpg");
    }
  
  
    .mp-product-subscription, .mp-product-subscription-details{
      padding: 0;
    }
  
    .mp-product-column.item .mp-product-column-name{
      border-bottom: none;
     }
  
    .mp-product-subscription-content{
      flex-basis:70%;
      padding-right: 30px;
    }
  
    .mp-product-subscription-table{
      flex-basis:30%;
    }
    .mp-product-column{
      display:flex;
    }
  
    .mp-product-column.item .mp-product-column-info, .mp-product-column.item .mp-product-column-info > div{
      padding: 0;
     }
  
     .mp-product-column.item .mp-product-column-qty{
      display: block;
      align-items: initial;
     }
  
    .mp-product-column.item .mp-product-column-price::before,
    .mp-product-column.item .mp-product-column-subtotal::before,
    .mp-product-column.item .mp-product-column-qty::before {
      content: "";
     }
    
    .mp-product-column .mp-product-column-name{
      flex-basis: 55%;
      align-items: flex-start;
      border:none;
     }
  
    .mp-product-column .mp-product-column-info{
      flex-basis: 45%;
      display:flex;
    }
    .mp-product-column .mp-product-column-price{
      flex-basis: 30%;
    }
    .mp-product-column .mp-product-column-qty{
      flex-basis: 40%;
    }
    .mp-product-column .mp-product-column-subtotal{
      flex-basis: 30%;
    }
    .mp-product-column-qty{
      text-align:center;
    }
    .mp-product-column-subtotal{
      text-align:right;
    }
    .mp-product-subscription, .mp-product-subscription-details{
      padding: 0 20px;
    }
    .mp-product-subscription-table-content{
      background-color: #efefef;
    }
  }
  
  .mp-product-subscription-table-header{
    border-bottom: 1px solid #ccc;
    padding: 36px 50px;
    background: #efefef;
  }
  
  .mp-product-subscription-table-content{
    padding: 36px 50px;
  }
  
  .mp-product-column-name-image img{
    height:120px;
    width:120px;
    margin-right:20px;
  }
  
  
  .mp-product-column.header{
    padding: 30px 0;
    border-bottom: 1px solid #ccc;
    align-items: baseline;
  }
  .mp-product-column.item{
    padding: 30px 0;
  }
  .mp-product-subscription-details p span{
      padding-right:10px;
      display: inline-block;
  }
  
  
  .mp-CTA-wrapper{
    padding:30px 0;
    display:flex;
    justify-content: flex-end;
    align-items:baseline;
  }
  
  .mp-CTA-total{
    margin: 0 20px;
  }
  .mp-CTA-total span{
    font-weight:500;
  }
  
  .qtyLoader {
    justify-content: center;
    display: flex;
    height: 35px;
  }
  .qtyLoader .prc__qty {
    height: 31px;
    margin-top: 0;
    border: 0;
    border-top: 1px solid #a9a9a9;
    border-bottom: 1px solid #a9a9a9;
    border-left: 1px solid #a9a9a9;
    border-right: 1px solid #a9a9a9;
    width: 40px;
    text-align: center;
    box-shadow: none;
    color: #000;
    margin: 0 -2px;
    -moz-appearance: textfield;
  }
  .qtyLoader .prc__qty::-webkit-outer-spin-button, .qtyLoader .prc__qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
  }
  .qtyLoader .prc__qty:active, .qtyLoader .prc__qty:focus, .qtyLoader .prc__qty:focus-within {
    background-color: #fff;
    border: 1px solid #0079c1;
    color: #0079c1;
  }
  @media screen and (min-width: 600) {
    .qtyLoader .prc__qty {
      width: 58px;
      border-left: none;
      border-right: none;
   }
  }
  .qtyLoader button {
    display: inline-block;
    height: 31px;
    border: 1px solid #a9a9a9;
    background: transparent;
    font-size: 15px;
    color: #595959;
    outline: none;
    z-index: 1;
  }
  .qtyLoader button:hover {
    background-color: #f4f4f4;
    border: 1px solid #6e6e6e;
    color: #000;
  }
  .qtyLoader button:active:hover {
    background-color: #fff;
    border: 1px solid #0079c1;
    color: #0079c1;
  }
  @media screen and (max-width: 600) {
    .qtyLoader button {
      display: none;
   }
  }
  
  .mp-breadcrumbs{
    position:relative;
    padding:0 20px;
  }

  .submission-image{
    width: 30%;
    height:auto;

    @media screen and (min-width: 1280px) {
      width:auto;
    }
  }

  .mp-breadcrumbs::before{
    position: absolute;
    content:"";
      background-image: url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%230079c1' d='M6.793 12l7-7h1.414l-7 7 7 7h-1.414z'/%3E%3Cpath fill='none' d='M0 0h24v24H0z'/%3E%3C/svg%3E");
      height:13px;
      width:13px;
      display: inline-block;
      left: 0;
      top: 1px;
  }
  
  .mp-help-questions{
background-image: url('https://www.esri.com/content/dam/esrisites/en-us/marketplace/test-assets/marketplace-common-submission-questions-bg.png');
  }

  .mp-help-questions-list li{
  list-style: none;
  }
  .aligncenter {
    margin: 0 auto; }
  
  .star-ratings-wrapper {
    position: relative;
    height: 37px;
    width: 200px;
    display: inline-block; }
    .star-ratings-wrapper.small {
      height: 20px;
      width: 120px; }
  
  .star-ratings-filled, .star-ratings-blank {
    height: 37px;
    background-repeat: no-repeat;
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
    background-size: cover; }
    .star-ratings-filled.small, .star-ratings-blank.small {
      height: 22px; }
  
  .star-ratings-filled {
    background-image: url("https://www.esri.com/content/dam/esrisites/en-us/marketplace/test-assets/marketplace-product-listings-review-stars-fill-120x20.svg"); }
    html[dir="rtl"] .star-ratings-filled {
      right: -1px;
      transform: scaleX(-1); }
  
  .star-ratings-blank {
    background-image: url("https://www.esri.com/content/dam/esrisites/en-us/marketplace/test-assets/marketplace-product-listings-review-stars-outline-120x20.svg"); }
  
  .listingsGallery {
    background-color: var(--calcite-ui-background-2);
    background-image: url("https://www.esri.com/content/dam/esrisites/en-us/marketplace/test-assets/marketplace-services-listings-banner-bg-2560x750.jpg");
    background-repeat: no-repeat;
    background-position: bottom;
    background-size: cover;
    padding: 0 0 60px;
    min-height: 620px; }
    .listingsGallery-content{
      padding-left: 20px;
    }
    @media screen and (min-width: 1280px) {
      .listingsGallery {
        padding: 100px 0 60px; } 
        .listingsGallery-content{
          padding-right: 100px;
        }
      }
  
  
    .listingsGallery-wrapper {
      display: -ms-grid;
      display: grid;
      -ms-grid-columns: 100%;
        grid-template-columns: 100%; 
    }
    @media screen and (max-width: 600px) {
      .listingsGallery-wrapper {
      padding-top:40px;
      }
    }
  
    @media screen and (min-width: 1280px) {
      .listingsGallery-wrapper {
      -ms-grid-columns: 50% 50%;
      grid-template-columns: 50% 50%; 
      }
    }
  
    .listingsGallery-text {
      padding: 40px 20px; }
      @media screen and (min-width: 1280px) {
        .listingsGallery-text {
          padding: 40px;
          padding: 0 40px 0 0; }
          .listingsGallery-text html[dir="rtl"] {
            padding: 0 0 0 40px; } }
    .listingsGallery-image {
      -ms-grid-column: 1;
      -ms-grid-column-span: 2;
      grid-column: 1 / span 2;
      margin-top: 50px;
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2;}
      @media screen and (min-width: 1280px) {
        .listingsGallery-image {
          -ms-grid-column: 2;
          grid-column: 2;
          margin-top: 0;
              -ms-grid-row: 1;
              -ms-grid-row-span: 2;
              grid-row: 1 / span 2; } }
      .listingsGallery-image-wrapper {
        padding: 0;
        animation: fadein 2s; }
    .listingsGallery-header {
      display: block;}
  
      @media screen and (min-width: 600px) {
        .listingsGallery-header{
        -ms-grid-column: 1;
        -ms-grid-column-span: 2;
        grid-column: 1 / span 2;
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        display: flex;
        flex-direction: row;
        padding: 60px 20px 30px 0;
        flex-wrap: nowrap;
      }
      }
      @media screen and (min-width: 1280px) {
        .listingsGallery-header {
          -ms-grid-column: 1;
      -ms-grid-column-span: 1;
      grid-column: 1 / span 1 } }
      @media screen and (min-width: 1280px) {
        .listingsGallery-header {
          padding: 0 20px 30px 0; } }
      .listingsGallery-header-logo {
        flex: 0 0 120px; }
        @media screen and (min-width: 768px) {
          .listingsGallery-header-logo {
            flex: 0 0 220px; } }
        .listingsGallery-header-logo svg, .listingsGallery-header-logo img {
          width: 150px;
          height: 150px; 
        padding-bottom:20px;}
          @media screen and (min-width: 768px) {
            .listingsGallery-header-logo svg, .listingsGallery-header-logo img {
              width: 200px;
              height: auto } }
      .listingsGallery-header-content {
        flex-basis: auto;
        padding: 0; }
        .listingsGallery-header-content p {
          margin: 0 0 10px 0; }
      .listingsGallery-header-cat {
        color: var(--calcite-ui-text-2);
        text-transform: uppercase;
        letter-spacing: 1px;
        font-size: 1.2rem; }
        @media screen and (min-width: 768px) {
          .listingsGallery-header-cat {
            letter-spacing: 2px;
            font-size: 0.9375rem; } }
      .listingsGallery-header-heading {
        color: var(--calcite-ui-text-1);
        font-size: 30px;
        line-height: 1.1; }
        @media screen and (min-width: 768px) {
          .listingsGallery-header-heading {
            font-size: 2.40307rem; } }
      .listingsGallery-header-subheader {
        font-size: 16px;
        color: var(--calcite-ui-text-2); }
        @media screen and (min-width: 768px) {
          .listingsGallery-header-subheader {
            font-size: 0.9375rem; } }
    .listingsGallery .service-listings, .listingsGallery .product-listings {
      grid-column: 1 / span 2;
      order: 3;
      padding-top: 30px; }
      @media screen and (min-width: 860px) {
        .listingsGallery .service-listings, .listingsGallery .product-listings {
          padding-top: 0;
          grid-column: 1 / span 1; } }
    .listingsGallery-review {
      padding-bottom: 30px;
      display: flex;
      align-items: center; }
      .listingsGallery-review .rating-text {
        color: #0079c1;
        padding: 0 20px;
        font-size: 16px; }
    .listingsGallery-price {
      padding-bottom: 30px; }
      .listingsGallery-price-text, .listingsGallery-price-currency {
        display: inline-block; }
      .listingsGallery-price-text span {
        font-weight: 700; 
        font-size: 30px;}
        @media screen and (min-width: 768px) {
          .listingsGallery-price-text span {
            font-size: 1.2019rem;
            line-height: 1.5;}
        }

      .listingsGallery-price-currency select {
        font-weight: 700;
        background-color: initial;
        height: auto;
        margin: 0 10px;
        border: 1px solid #cccccc;
        padding: 0.2rem 1.5rem 0.2rem 0.4rem; }
    .listingsGallery-cta {
     margin: 10px 0; }
     .listingsGallery-cta .cta-buttons--actions{
      margin-bottom:0;
     }
     .listingsGallery-cta calcite-button{
      padding-inline-end: 20px;
     }
    .listingsGallery-specialities-header {
      color: var(--calcite-ui-text-1);
      margin:0;
      font-weight: 700; }
      .listingsGallery-specialities-icons{
        display: flex;
        align-items: center;
      }
    .listingsGallery-specialities-icons .specialities-icon {
      display: inline-block;
      width: 50%;
      padding: 5px 0; }
      @media screen and (min-width: 768px) {
        .listingsGallery-specialities-icons .specialities-icon {
          width: 30%; } }
    .listingsGallery-store {
      padding-bottom: 20px; }
      .listingsGallery-store .storeLinks {
        display: inline-block;
        margin-right: 10px; }
    .listingsGallery-appstore img {
      max-height: 40px;
      width: auto;
      padding-right: 5px; }
      html[dir="rtl"] .listingsGallery-appstore img {
        padding-right: 0;
        padding-left: 5px; }
        .listingsGallery-mainimage {
          padding-bottom: 56.25%;
          width: 100%;
          max-width:768px;
          margin: 0 auto;
          background-repeat: no-repeat;
          background-position: center;
          background-size: contain; }
          @media screen and (min-width: 768px) {
            .listingsGallery-mainimage {
              min-height: 394px;
            }
          }
    .listingsGallery-thumbnails {
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap; 
      justify-content: center; }
      .listingsGallery-thumbnails .listingsGalleryThumbnail-wrapper {
        flex-basis: 20%;
        margin-top: 16px;
        padding-right: 10px; 
        position:relative;}
        .listingsGallery-thumbnails .listingsGalleryThumbnail-wrapper:last-of-type {
          padding-right: 0; }
        .listingsGallery-thumbnails .listingsGalleryThumbnail-wrapper .listingsGalleryThumbnail {
          min-height: 90px;
          max-width:134px;
          cursor: pointer;
          position:relative;
          background-size: contain;
          border: 1px solid transparent;
          transition: all .25s ease-out;
          background-repeat: no-repeat;
          background-position: center;
          transition: all .25s ease-out;
          border: 1px solid var(--calcite-ui-border-1); }
          .listingsGallery-thumbnails .listingsGalleryThumbnail-wrapper .listingsGalleryThumbnail:hover {
            border: 1px solid var(--calcite-ui-brand); }
          .listingGallery-video-player {
            position: absolute;
            top: 0;
            left: 0;
          }
  
          @media screen and (max-width: 600px) {
            .listingsGallery-thumbnails .listingsGalleryThumbnail-wrapper .listingsGalleryThumbnail {
            min-height: 60px;
            }
          }

    .listingswitcher .tab-section-content-section{
      color: var(--calcite-ui-text-2);
    }

  .listingswitcher .tab-section-content-section h1 {
    color: var(--calcite-ui-text-1);
    font-size: 1.9994rem;
    line-height: 1.35; }
  
  .listingswitcher .tab-section-content-section h2 {
    color: var(--calcite-ui-text-2);
    font-size: 1.414rem;
    line-height: 1.5; }
  
  .listingswitcher .tab-section-content-section ul {
    color: var(--calcite-ui-text-2);
    padding: 0 15px 15px 15px; }

      .listingswitcher .tabbed-content-switcher .tab-contents .tab-section .seperator{
        background-color: var(--calcite-ui-brand);
      }
  
  .play-video-icon{
      margin-top: 0px;
      background: rgba(255, 255, 255, 1);
      width: 36px;
      height: 36px;
      border-radius: 100%;
      left: 50%;
      position: absolute;
      top: 50%;
      transform: translate(-50%, -50%);
      z-index: 5;
      transition: all .25s ease-out;
      cursor:pointer;
  }
  
  .play-video-icon:after{
    content: "";
      border-top: 8px solid transparent;
      border-bottom: 8px solid transparent;
      left: 52.5%;
      position: absolute;
      top: 50%;
      transform: translate(-50%, -50%);
      height: 0;
      width: 0;
      border-left: 10px solid var(--calcite-ui-text-1);
  }
  
  .listingsGalleryThumbnail-wrapper:hover .play-video-icon{
  background:var(--calcite-ui-brand);
  }
  
  .listingsGalleryThumbnail-wrapper:hover .play-video-icon:after{
    border-left: 10px solid var(--calcite-ui-foreground-1);
    }
  
    .contentbar-icon svg, .contentbar-icon .icon-ui-svg {
      height: 48px;
      width: 64px; }
    .contentbar.dark svg, .contentbar.dark .icon-ui-svg {
      fill: var(--calcite-ui-brand); }
    .contentbar.light svg, .contentbar.light .icon-ui-svg {
      fill: var(--calcite-ui-brand); }
  
  .tabbed-content-switcher .tab-contents .tab-section .seperator {
    border-top: none;
    height: 3px;
    width: 50px;
    margin-top: 15px;
    margin-bottom: 20px;
    background-color: var(--calcite-ui-brand);
    text-align: left; }
  
  @media screen and (max-width: 768px) {
  .tabbed-content-switcher-wrap .tabbed-content-switcher {
    min-height: auto;
    background-size: cover; } }

.tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider h3 {
  line-height: 2.95rem; }

.tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider h1 {
  margin: 0; }

.tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tabbed-content-switcher-nav {
  overflow: hidden;
  text-align: center;
  position: relative;
  height: 113px; }
  .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav {
    display: flex;
    white-space: nowrap;
    text-align: center;
    position: absolute;
    top: 0;
    left: 0;
    transition: 0.3s; }
    .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title {
      width: 286px;
      min-width: 286px;
      border-bottom-width: 3px;
      border-bottom-style: solid;
      border-top: none;
      border-left: none;
      border-right: none;
      margin-right: 0;
      margin-bottom: 4px;
      font-size: 1rem;
      line-height: 1.55rem;
      text-align: center;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      position: relative;
      z-index: 0;
      height: 112px;
      float: none;
      position: relative; }
      @media screen and (max-width: 480px) {
        .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title {
          font-size: 0.85rem; } }
      .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title img,
      .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title svg,
      .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title .icon-number {
        width: 50px;
        height: 50px;
        display: block;
        margin: 0 auto 10px auto;
        position: relative;
        z-index: -2; }
      .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title .icon-number {
        font-size: 40px;
        line-height: 40px;
        font-style: normal; }
      .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title span {
        display: block;
        position: relative;
        z-index: -1;
        margin-bottom: 9px; }
      .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title:focus {
        background-image: none; }
      .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title:hover {
        background-image: none;
        background: none; }
    .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav.tab-nav--fit-5-tabs .tab-title {
      width: 285px;
      min-width: 285px; }
    .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav.tab-nav--fit-6-tabs .tab-title {
      width: 237px;
      min-width: 237px; }
  .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tabbed-content-switcher-nav .tabbed-content-switcher-nav-left,
  .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tabbed-content-switcher-nav .tabbed-content-switcher-nav-right {
    width: 70px;
    padding: 60px 0 0 0;
    border: none;
    position: absolute;
    z-index: 1;
    height: 103px;
    outline: none; }
    .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tabbed-content-switcher-nav .tabbed-content-switcher-nav-left i,
    .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tabbed-content-switcher-nav .tabbed-content-switcher-nav-right i {
      font-size: 22px; }
  .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tabbed-content-switcher-nav .tabbed-content-switcher-nav-left {
    text-align: left;
    left: 0; }
  .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tabbed-content-switcher-nav .tabbed-content-switcher-nav-right {
    text-align: right;
    right: 0; }
  .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tabbed-content-switcher-nav.no-icon {
    height: 53px; }
    .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tabbed-content-switcher-nav.no-icon .tab-nav .tab-title {
      height: 52px; }
      .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tabbed-content-switcher-nav.no-icon .tab-nav .tab-title img,
      .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tabbed-content-switcher-nav.no-icon .tab-nav .tab-title svg {
        display: none; }
    .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tabbed-content-switcher-nav.no-icon .tabbed-content-switcher-nav-left {
      height: 52px;
      padding: 0; }
      .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tabbed-content-switcher-nav.no-icon .tabbed-content-switcher-nav-left .icon-ui-left {
        position: absolute;
        top: 8px;
        left: 0; }
    .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tabbed-content-switcher-nav.no-icon .tabbed-content-switcher-nav-right {
      height: 52px;
      padding: 0; }
      .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tabbed-content-switcher-nav.no-icon .tabbed-content-switcher-nav-right .icon-ui-right {
        position: absolute;
        top: 8px;
        right: 0; }

.tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tab-contents {
  border-top-width: 1px;
  border-top-style: solid;
  margin-top: -1px; }
  .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tab-contents .tab-section {
    padding-left: 0;
    padding-right: 0;
    padding: 20px 0 60px 0;
    opacity: 0;
    display: none;
    margin-top: 110px; }
    .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tab-contents .tab-section .tab-section-image {
      width: 100%;
      padding-bottom: 40px; }
      @media screen and (min-width: 800px) {
        .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tab-contents .tab-section .tab-section-image {
          width: 55%;
          float: left; } }
      @media screen and (min-width: 1440px) {
        .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tab-contents .tab-section .tab-section-image {
          font-size: 24px; } }
    .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tab-contents .tab-section .tab-section-content {
      width: 100%;
      text-align: left; }
      html[dir='rtl'] .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tab-contents .tab-section .tab-section-content {
        text-align: right;
        float: right; }
      .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tab-contents .tab-section .tab-section-content .section-title {
        font-size: 1.6994866rem;
        line-height: 2.325rem; }
        @media screen and (max-width: 461px) {
          .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tab-contents .tab-section .tab-section-content .section-title {
            font-size: 1.503565rem; } }
        @media screen and (max-width: 479px) {
          .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tab-contents .tab-section .tab-section-content .section-title {
            font-size: 1.328125rem; } }
      .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tab-contents .tab-section .tab-section-content .section-desc {
        font-size: 0.9375rem;
        line-height: 1.55rem;
        line-height: 1.4rem !important;
        margin-bottom: 0; }
      @media screen and (min-width: 800px) {
        .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tab-contents .tab-section .tab-section-content {
          width: 35%;
          float: left;
          padding-left: 30px;
          box-sizing: border-box; } }
      @media screen and (min-width: 850px) {
        .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tab-contents .tab-section .tab-section-content {
          width: 35%;
          float: left;
          text-align: left;
          padding-left: 30px;
          box-sizing: border-box;
          min-height: 300px;
          height: 300px;
          display: -ms-flexbox;
          display: -webkit-flex;
          display: flex;
          -ms-flex-align: center;
          -webkit-align-items: center;
          -webkit-box-align: center;
          align-items: center; } }
      @media screen and (min-width: 1130px) {
        .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tab-contents .tab-section .tab-section-content {
          width: 35%;
          float: left;
          text-align: left;
          padding-left: 30px;
          box-sizing: border-box;
          min-height: 370px;
          height: 370px;
          display: -ms-flexbox;
          display: -webkit-flex;
          display: flex;
          -ms-flex-align: center;
          -webkit-align-items: center;
          -webkit-box-align: center;
          align-items: center; } }
      @media screen and (min-width: 1440px) {
        .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tab-contents .tab-section .tab-section-content {
          width: 35%;
          float: left;
          text-align: left;
          padding-left: 30px;
          box-sizing: border-box;
          min-height: 450px;
          height: 450px;
          display: -ms-flexbox;
          display: -webkit-flex;
          display: flex;
          -ms-flex-align: center;
          -webkit-align-items: center;
          -webkit-box-align: center;
          align-items: center; } }
    .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tab-contents .tab-section.is-active {
      display: block;
      opacity: 1;
      margin-top: 10px; }

.tabbed-content-switcher-wrap .tabbed-content-switcher .textCenter {
  text-align: center; }

.tabbed-content-switcher-wrap .tabbed-content-switcher {
  background-color: var(--calcite-ui-background-1); }
  .tabbed-content-switcher-wrap .tabbed-content-switcher .tabbed-content-switcher--header {
    color: var(--calcite-ui-text-1); }
  .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title {
    border-bottom-color: var(--calcite-ui-background-1);
    color: var(--calcite-ui-text-1); }
    .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title img,
    .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title svg,
    .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title svg *,
    .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title .icon-number {
      fill: var(--calcite-ui-text-3);
      color: var(--calcite-ui-text-3); }
    .tabbed-content-switcher-wrap .tabbed-content-switcher.calcite-theme-light .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title:hover {
      border-bottom: 3px solid rgba(0, 121, 193, 0.5); }
      .tabbed-content-switcher-wrap .tabbed-content-switcher.light .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title:hover img,
      .tabbed-content-switcher-wrap .tabbed-content-switcher.light .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title:hover svg,
      .tabbed-content-switcher-wrap .tabbed-content-switcher.light .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title:hover svg *,
      .tabbed-content-switcher-wrap .tabbed-content-switcher.light .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title:hover .icon-number {
        fill: var(--calcite-ui-brand);
        color: var(--calcite-ui-brand); }
    .tabbed-content-switcher-wrap .tabbed-content-switcher.light .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title.is-active {
      border-bottom-color: var(--calcite-ui-brand);
      color: var(--calcite-ui-brand); }
      .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title.is-active img,
      .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title.is-active svg,
      .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title.is-active svg *,
      .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title.is-active .icon-number {
        fill: var(--calcite-ui-brand);
        color: var(--calcite-ui-brand); }
  .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tabbed-content-switcher-nav .tabbed-content-switcher-nav-left {
    background: -moz-linear-gradient(left, white 20%, rgba(255, 255, 255, 0) 100%);
    background: -webkit-linear-gradient(left, white 10%, rgba(255, 255, 255, 0) 100%);
    background: linear-gradient(to right, white 20%, rgba(255, 255, 255, 0) 100%); }
    .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tabbed-content-switcher-nav .tabbed-content-switcher-nav-left .icon-ui-left {
      color: #6E6E6E; }
  .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tabbed-content-switcher-nav .tabbed-content-switcher-nav-right {
    background: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0%, white 80%);
    background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, white 80%);
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, white 80%); }
    .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tabbed-content-switcher-nav .tabbed-content-switcher-nav-right .icon-ui-right {
      color: var(--calcite-ui-text-3); }
  .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tab-contents {
    border-top-color: var(--calcite-ui-border-1); }
    .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tab-contents .tab-section .tab-section-content .section-title {
      color: var(--calcite-ui-text-1); }
    .tabbed-content-switcher-wrap .tabbed-content-switcher .middleslider .tabs-transparent .tab-contents .tab-section .tab-section-content .section-desc {
      color: var(--calcite-ui-text-2); } 
      @media screen and (max-width: 860px) {
    .tabbed-content-switcher .tab-contents .tab-section.overview .column-8 {
      width: 100%;
      max-width: 94vw; } }
  
  .tabbed-content-switcher .tab-contents .tab-section.reviews .reviews-header .star-section {
    display: flex;
    flex-direction: column; }
    @media screen and (min-width: 768px) {
      .tabbed-content-switcher .tab-contents .tab-section.reviews .reviews-header .star-section {
        flex-direction: row; } }
  
  .tabbed-content-switcher .tab-contents .tab-section.reviews .reviews-header-title, .tabbed-content-switcher .tab-contents .tab-section.reviews .reviews-header-star, .tabbed-content-switcher .tab-contents .tab-section.reviews .reviews-header-rating {
    display: flex;
    flex-wrap: wrap; }
  
  .tabbed-content-switcher .tab-contents .tab-section.reviews .reviews-header-rating {
    margin: 0 10px; }
    @media screen and (max-width: 700px) {
    .reviews-header-star .total-reviews{
      margin-top: 20px;
    }
  }
  .tabbed-content-switcher .tab-contents .tab-section.reviews .reviews-header-star {
    padding: 20px 0; }
    @media screen and (min-width: 768px) {
      .tabbed-content-switcher .tab-contents .tab-section.reviews .reviews-header-star {
        align-items: center;
        padding: 0 30px; } }
    .tabbed-content-switcher .tab-contents .tab-section.reviews .reviews-header-star svg {
      height: 32px;
      width: 32px;
      fill: var(--calcite-ui-brand); }
    .tabbed-content-switcher .tab-contents .tab-section.reviews .reviews-header-star span {
      font-size: 1.9994rem;
      line-height: 2.325rem; }
  
  .tabbed-content-switcher .tab-contents .tab-section.reviews .reviews-header .overall-rating {
    font-weight: 600; }

    .review-rating-wrapper{
      display: flex;
      flex-direction: row;
      justify-content: space-between;
    }

    .review-rating-wrapper .overall-rating .js-dropdown-toggle{
      white-space: nowrap;
    padding-right: 40px;
  }

    .review-rating-wrapper .overall-rating .js-dropdown-toggle:focus{
     outline:none;
    }

    .review-rating-wrapper .overall-rating .js-dropdown-toggle:after{
      content: '';
      background-image: url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24' viewBox='0 0 24 24'%3E%3Cpath fill='%230079c1' d='M5 9.293l7 7 7-7v1.414l-7 7-7-7z'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-size: contain;
      background-position: 50% 50%;
      height: 16px;
      transition: all .25s ease-in-out;
      width: 16px;
      display: inline-block;
      margin-left: 5px;
      position: absolute;
      top: 25%;
    }

    .review-rating-wrapper .overall-rating .js-dropdown-toggle[aria-expanded="true"]:after{
      background-image: url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24' viewBox='0 0 24 24'%3E%3Cpath fill='%23007901' d='M5 13.293l7-7 7 7v1.414l-7-7-7 7z'/%3E%3C/svg%3E");
        }

  .tabbed-content-switcher .tab-contents .tab-section.reviews .review-footer .show-more {
    margin: 40px auto;
    display: block;
    text-align: center; }
    .tabbed-content-switcher .tab-contents .tab-section.reviews .review-footer .show-more-button {
      transition: all .25s ease-out;
      position: relative; }
      .tabbed-content-switcher .tab-contents .tab-section.reviews .review-footer .show-more-button:after {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='%230079c1' d='M25 11.293v1.414l-9.5 9.5-9.5-9.5v-1.414l9.5 9.5z'/%3E%3C/svg%3E");
        content: "";
        background-repeat: no-repeat;
        background-size: contain;
        background-position: 50% 50%;
        height: 30px;
        transition: all .25s ease-in-out;
        width: 25px;
        display: inline-block;
        margin-left: 5px;
        position: absolute; }
      .tabbed-content-switcher .tab-contents .tab-section.reviews .review-footer .show-more-button:hover {
        text-decoration: none;
        color: var(--calcite-ui-brand-hover); }
        .tabbed-content-switcher .tab-contents .tab-section.reviews .review-footer .show-more-button:hover:after {
          background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='%23005e95' d='M25 11.293v1.414l-9.5 9.5-9.5-9.5v-1.414l9.5 9.5z'/%3E%3C/svg%3E"); }
  
          .tabbed-content-switcher .tab-contents .tab-section.reviews .review-sections {
            padding-bottom:30px;
          }

  .tabbed-content-switcher .tab-contents .tab-section.reviews .review-section {
    display: flex;
    flex-direction: column;
    }

    .tabbed-content-switcher .tab-contents .tab-section.reviews .review-section:last-child{
      border-bottom: 1px solid var(--calcite-ui-border-1);
    }
    .review-section-content-title{
      display: flex;
      align-items: baseline;
    }
    @media screen and (min-width: 860px) {
      .tabbed-content-switcher .tab-contents .tab-section.reviews .review-section {
        flex-direction: row; } }
    .tabbed-content-switcher .tab-contents .tab-section.reviews .review-section-image {
      flex-basis: 120px;
      min-width: 120px; }
      .tabbed-content-switcher .tab-contents .tab-section.reviews .review-section-image img {
        height: 80px;
        width: 80px; }
    @media screen and (min-width: 860px) {
      .tabbed-content-switcher .tab-contents .tab-section.reviews .review-section-star {
        flex-basis: 150px; } }
    .tabbed-content-switcher .tab-contents .tab-section.reviews .review-section-star img {
      height: 64px;
      width: 64px; }
    .tabbed-content-switcher .tab-contents .tab-section.reviews .review-section-content {
      position:relative;
      flex: 1 1 auto; }
      .tabbed-content-switcher .tab-contents .tab-section.reviews .review-section-content-name, .tabbed-content-switcher .tab-contents .tab-section.reviews .review-section-content-commentdate {
        display: inline-block; }
      .tabbed-content-switcher .tab-contents .tab-section.reviews .review-section-content-commentdate {
        color: #d4d4d4; }
        @media screen and (min-width: 860px) {
          .tabbed-content-switcher .tab-contents .tab-section.reviews .review-section-content-commentdate {
            padding: 0 20px; } }
      .tabbed-content-switcher .tab-contents .tab-section.reviews .review-section-content-description {
        padding-top: 5px; 
        width:100%;
      }

        @media screen and (min-width: 860px) {
          .tabbed-content-switcher .tab-contents .tab-section.reviews .review-section-content-description {
            width:70% } }
        

        .review-reply-button{
          padding: 0.375rem .5rem;
        }

      .review-reply-button:hover{
        background: none;
        text-decoration:underline;
        color: var(--calcite-ui-brand-hover);
      }
      .review-reply-button:focus{
        background: none;
        text-decoration:underline;
        color: var(--calcite-ui-brand-hover);
        outline:none;
      }

      .review-delete-button{
        color:var(--calcite-ui-danger);
        padding: 0.375rem .5rem;
      }

      .review-delete-button:hover{
        background: none;
        text-decoration:underline;
        color: var(--calcite-ui-danger-hover);
      }
      .review-delete-button:focus{
        background: none;
        text-decoration:underline;
        color: var(--calcite-ui-danger-hover);
        outline:none;
      }

        .tabbed-content-switcher .tab-contents .tab-section.reviews .review-section-content-description .comment-text {
          display: inline-block; }
        .tabbed-content-switcher .tab-contents .tab-section.reviews .review-section-content-description p {
          margin: 0; 
        color:#6a6a6a;}
        .review-section-provider-reply{
          border-radius: 10px;
          padding: 1px 10px 2px;
          font-size: 11px;
          font-weight: 500;
          background: var(--calcite-ui-foreground-3);
          margin:0 15px;
        }
    .tabbed-content-switcher .tab-contents .tab-section.reviews .review-section-time {
      margin: 0 0 0 30px;
      position: absolute;
      right: 0;
      color: #aaaaaa;
      font-size:12px; }
  
  .tab-section-content-section ul {
    padding: 0 20px; }
  
  .tab-section-content-section h2 {
    margin-top: 72px;
    font-size: 1.414rem;
    line-height: 1.5;
    font-weight: 600;
    margin-bottom: 32px; }
    .tab-section-content-section h2:first-of-type {
      margin-top: 10px; } 
  
  @media screen and (max-width: 860px) {
    .network-information.column-8 {
      width: 100%;
      max-width: 96vw; } }
  
  .network-table {
    display: flex;
    flex-direction: column;
    background-color: var(--calcite-ui-foreground-2); }
    .network-table-header {
      border-bottom: 1px solid var(--calcite-ui-border-1);
      padding: 32px 40px;
      color: var(--calcite-ui-text-1);
      background: var(--calcite-ui-foreground-3); }
      @media screen and (max-width: 860px) {
        .network-table-header.desktoponly {
          display: none; } }
      .network-table-header img {
        height: 70px;
        display: inline-block; }
    .network-table-content {
      padding: 0 40px 40px 40px; }
      @media screen and (min-width: 768px) and (max-width: 860px) {
        .network-table-content {
          column-count: 2;
          padding: 40px;
          padding: 80px 40px 40px 40px; } }
      .network-table-content-subheader {
        margin-top: 56px; }
        @media screen and (min-width: 768px) and (max-width: 860px) {
          .network-table-content-subheader:first-of-type {
            margin-top: 0; } }
      .network-table-content p a, .network-table-content p span {
        display: block; }
      .network-table-content .network-table-content-list {
        padding: 0 15px; }
    .network-table.belowtablet .network-table-header {
      padding: 22px 15px; }
  
  .overview-section .seperator {
    border-top: none;
    height: 3px;
    width: 50px;
    margin-top: 15px;
    margin-bottom: 20px;
    background-color: var(--calcite-ui-brand);
    text-align: left; }
  
  .more-information {
    border-bottom: #555555 1px solid; }
    .more-information[data-attribute="product-listing"] {
      background: #2a2a2a url("https://www.esri.com/content/dam/esrisites/en-us/marketplace/test-assets/marketplace-product-listings-bottom-bg-2560x1400.jpg") no-repeat center bottom; }
    .more-information:last-of-type {
      border-bottom: none; }
    .more-information .cards-simple .card-content .icon-container {
      margin-bottom: 15px; }
    .more-information .cards-simple a:hover {
      border: solid 1px #49b0f2; }
      .more-information .cards-simple a:hover .card-content {
        border-left: solid 3px #49b0f2; }
    .more-information.dark svg, .more-information.dark .icon-ui-svg {
      fill: #49b0f2; }
    .more-information.light svg, .more-information.light .icon-ui-svg {
      fill: #0079c1; }
  
  .icon-title-series .darktheme {
    background-color: #efefef; }
  
  .icon-title-series svg, .icon-title-series .icon-ui-svg {
    fill: var(--calcite-ui-brand); }
  
  .icon-title-series .icon-title {
    padding: 20px 0; }
  
  @keyframes fadein {
    from {
      opacity: 0; }
    to {
      opacity: 1; } }

    .two-thirds-tile-divide_container .tttd__tiles{
      background: no-repeat bottom right url("https://www.esri.com/content/dam/esrisites/en-us/marketplace/test-assets/marketplace-services-listings-case-studies-bg-1706x900.jpg") !important;
      background-size:cover !important;
    }

  .benefits-services {
    background: #292929 url("https://www.esri.com/content/dam/esrisites/en-us/marketplace/test-assets/marketplace-common-large-dark-bg-2560x850.jpg") no-repeat center !important;}
    .benefits-services svg,  .benefits-services .svg {
      width: 60px;
      height: 60px;
      filter: invert(100%) sepia(100%) saturate(1%) hue-rotate(70deg) brightness(111%) contrast(102%);
      fill: var(--calcite-ui-brand); }
    .benefits-services .contentbar {
      border-top: 1px solid var(--calcite-ui-border-1); 
    color: var(--calcite-ui-text-2);}

    .benefits-services .contentbar .contentbar_heading{
      color: var(--calcite-ui-text-2);
    }
    .benefits-services.products .image-series .text-link-stack-icon .contentarea .contenttext {
      display: none; }

      .benefits-services .text-link-stack-icon-series .headercontainer .headertitle{
        color: var(--calcite-ui-text-1);
      }

      .benefits-services .text-link-stack-icon-series .block-group{
        justify-content: center;
      }

      .benefits-services .text-link-stack-icon-series .block-group .block{
        text-align: center;
      }
      .benefits-services .text-link-stack-icon-series .block-group .block .text-link-stack-icon{
        margin: 0 auto;
        color:var(--calcite-ui-text-1);
      }
  
    .review-section-content-review-feedback{
      background:var(--calcite-ui-foreground-2);
      border:1px solid var(--calcite-ui-border-1);
      padding: 20px 30px;
    }
  .review-feedback textarea{
   width:100%;
   height: auto;
    padding-top: 0.3rem;
    border: 1px solid var(--calcite-ui-border-1);
    padding: 20px;
  }
  .review-feedback textarea:focus{
    outline:none;
  }


  .review-submission-form{
    background:var(--calcite-ui-foreground-2);
    border:1px solid var(--calcite-ui-border-2);
    width: 100%;
    padding: 20px 30px;
  }

  @media screen and (max-width: 700px) {
    .review-submission-form{
      padding: 20px 10px;
    }
    .review-submission-form .listingsGallery-cta.cta-buttons{
      flex-direction: column;
    }
    .review-submission-form .listingsGallery-cta .star-rating{
      margin: 5px 20px 0 0;
    }
    .review-submission-form .listingsGallery-cta .cta-buttons--actions{
      margin-top:20px;
    }
  }

  .review-submission-form textarea{
    width:100%;
    height: auto;
     padding-top: 0.3rem;
     border: 1px solid var(--calcite-ui-border-1);
     padding: 20px;
     margin-bottom: 20px;
  }

  .review-feedback .cta-buttons--actions{
    text-align:right;
  }
  .review-feedback .cta-buttons--actions.btn-no-icons buttons{
      margin-left: 10px;
  }

  .review-submission-form .listingsGallery-cta.cta-buttons{
    display: flex;
    justify-content: flex-end;
  }

  .review-submission-form .listingsGallery-cta .star-rating{
    margin: 5px 20px 0 20px;
  }
  @media screen and (max-width: 700px) {
  .review-submission-form .listingsGallery-cta.cta-buttons{
    flex-direction: column;
  }
}

      .review-view-more p {
        width: 200px;
        margin: auto;
        line-height: 60px;
        cursor:pointer; }
      .reviews .reviews-header-rating .total-reviews {
        font-size: 1.2rem !important;
        margin-left: 20px;
        align-self: flex-end;
      }  
  
  @media screen and (min-width: 860px) {
    .belowtablet {
      display: none; } }
  
      .noiconButton:after{
        background-image:none !important;
        width:0 !important;
      }
  
      .more-from-provider,.more-from-provider .recommended-section {
        background-color:var(--calcite-ui-foreground-2);
      }
      .more-from-provider .recommended-section .marketplace-cards.block-group{
        justify-content: center;
      }

      /* thank you pages  */
      .info-icon{
        background-image: url("data:image/svg+xml,%3Csvg id='icon-ui-svg' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='%230079c1' d='M24.9 31.1H28v.8h-3.1v.1h-.8v-.1H21v-.8h3.1V20.9H22v-.8h2.1V20h.8v.1h.1v.8h-.1zm18-7.1A18.9 18.9 0 1 1 24 5.1 18.921 18.921 0 0 1 42.9 24zm-.8 0A18.1 18.1 0 1 0 24 42.1 18.12 18.12 0 0 0 42.1 24zm-19.125-9A1.025 1.025 0 1 1 24 16.025 1.026 1.026 0 0 1 22.975 15zm.8 0c0 .248.45.248.45 0a.225.225 0 0 0-.45 0z' id='icon-ui-svg--base'/%3E%3C/svg%3E");        height: 15px;
        width: 16px;
        display: inline-block;
        margin-right: 3px;
      }
      .italicised{
        font-style: italic;
      }
      .mp-thank-you{
        background: url(https://www.esri.com/content/dam/esrisites/en-us/marketplace/test-assets/marketplace-thank-you-scenerio-background.jpg) center;
        background-size: cover;
      }

      .mp-thank-you .rightIndent {
        text-align: right;
     }
      .mp-thank-you .thankyou-information {
        border-top: 1px solid var(--calcite-ui-border-1);
        border-bottom: 1px solid var(--calcite-ui-border-1);
        padding: 20px 0;
     }
      .mp-thank-you .thankyou-information .thankyou-details {
        display: flex;
        flex-direction: column;
     }

      .mp-thank-you .thankyou-information .thankyou-details-leftSection {
        text-align: left;
        flex: 1 1 100%;
        display: flex;
        align-items: center;
     }

      .mp-thank-you .thankyou-information .thankyou-details-leftSection .info-Icon img {
        width: 120px;
        height: 120px;
     }
      .mp-thank-you .thankyou-information .thankyou-details-leftSection .info-text {
        color: var(--calcite-ui-text-1);
        margin:0 30px;
     }
      .mp-thank-you .thankyou-information .thankyou-details-rightSection {
        align-items: center;
        display: flex;
        justify-content: flex-start;
        padding-top: 30px;
     }
      
     @media screen and (min-width: 768px) {
      .mp-thank-you .thankyou-information .thankyou-details {
        flex-direction: row;
    }
      .mp-thank-you .thankyou-information .thankyou-details-leftSection {
        flex: 1 1 50%;
    }
      .mp-thank-you .thankyou-information .thankyou-details-rightSection {
        justify-content: flex-end;
        padding:0;
    }
   }
      
   .review-sections:focus, .review-sections div:focus{
     outline:none;
   }

   .ty-whatsnext{
     justify-content: center;
   }
   .text-link-stack-icon-series.thankyou .headercontainer{
      width:50%;
      margin:0 auto 60px;
   }

   .mp-form-wrapper .contactUs-form{
     display:flex;
     flex-direction:column-reverse;

   }
   .mp-form-wrapper .contactUs-form .contactUs-form-content{
    flex: 1 1 100%;
  }

  .mp-form-wrapper .contactUs-form .contactUs-form-content .mp-thank-you{
    background:none;
  }
  .mp-form-wrapper .contactUs-form .contactUs-table {
    flex: 1 1 100%;
  }

  .mp-form-wrapper .contactUs-form .contactUs-table .contactUs-table-wrapper{
    background: var(--calcite-ui-foreground-3);
    padding: 30px 0;
    margin-bottom:100px;
  }

   .contactUs-table-content{
     margin: 0 60px;
   }

   @media screen and (min-width: 768px) {

    .mp-form-wrapper .contactUs-form{
      flex-direction:row;
    }
    .mp-form-wrapper .contactUs-form .contactUs-form-content{
     flex: 1 1 60%;
     margin-right:60px;
   }
 
   .mp-form-wrapper .contactUs-form .contactUs-table {
     flex: 1 1 30%;
   }
   }

   /* 404 error message styles */
   #header-search #searchbox {
    visibility: hidden;
}

.fatFooter {
    margin-top: 0 !important;
}

#fatFooterHead .socialLinks a {
    background-image: url('/graphics/icons/Icon_Sprites_16.png') !important;
}

#search404container {
    width: 100%;
    height: 400px;
    margin: 0 auto;
    margin-top: 60px;
    position: relative;
    background: #ffffff url(//www.esri.com/~/media/55CF801A514E424B81CFAEEEF0FCAA76) top center repeat-x;
}

#search404container h1 {
    font-size: 110px;
    font-family: "Avenir LT W05_35 Light", Arial, Helvetica, sans-serif;
    color: #007ac2;
}

.pin404 {
    float: right;
    margin-right: 30px;
}

/*animated assets*/
.colorChanger {
    width: 143px;
    height: 272px;
}

.pinShadow img {
    margin: 35px 0 0 0;
    width: 143px;
    height: 42px;
    float: left;
    clear: left;
}

input.search-404 {
    padding: 8px;
    font-size: 16px;
    font-family: "Avenir LT W05_35 Light", Arial, Helvetica, sans-serif;
    width: 75%;
    margin: 25px 0 0 0;
    color: #222222;
    border: 1px solid #ccc;
    max-width: 380px;
}

#lnkSearch {
    background-color: transparent;
    background-image: url("//webapps-cdn.esri.com/Apps/MegaMenu/img/mega-menu-search-btn.png");
    background-repeat: no-repeat;
    border: none;
    cursor: pointer;
    position: relative;
    right: 0;
    left: -30px;
    display: inline-block;
    width: 20px;
    height: 20px;
    top: 5px;
}

.animated {
    -webkit-animation-duration: 3s;
    animation-duration: 3s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

.fadeInPin {
    -webkit-animation-name: fadeInPin;
    animation-name: fadeInPin;
}

.fadeInTitle {
    -webkit-animation-name: fadeInTitle;
    animation-name: fadeInTitle;
}

.fadeInMessage {
    margin-top: 40px;
    -webkit-animation-name: fadeInMessage;
    animation-name: fadeInMessage;
}

.fadeInSearch {
    -webkit-animation-name: fadeInSearch;
    animation-name: fadeInSearch;
}


.fadeInButton {
    -webkit-animation-name: fadeInButton;
    animation-name: fadeInButton;
}


.fadeInShadowPin {
    -webkit-animation-name: fadeInShadowPin;
    animation-name: fadeInShadowPin;
}

.colorStyle{
  background-color: rgb(230, 107, 39)
}

.benefits-services .text-link-stack-icon-series .headercontainer {
  text-align: center;
}

arcgis-map, arcgis-scene, arcgis-feature-table {
  display: block;
  height: 70vh;
}