
.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;
}

.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: #f7f7f7;
  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;
  padding: 0 0 60px;
  min-height: 620px; }
  .listingsGallery-content{
    padding-left: 20px;
    text-align:center;
  }
  @media screen and (min-width: 1024px) {
    .listingsGallery-content{
    text-align:left;
    }
  }
  @media screen and (min-width: 1024px) {
    .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: 1024px) {
    .listingsGallery-wrapper {
    padding-top:40px;
    }
  }

  @media screen and (min-width: 1024px) {
    .listingsGallery-wrapper {
    -ms-grid-columns: 50% 50%;
    grid-template-columns: 50% 50%; 
    }
  }

  .listingsGallery-text {
    padding: 40px 20px; }
    @media screen and (min-width: 1024px) {
      .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: 10px;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;}
    @media screen and (min-width: 1024px) {
      .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: 1240px) {
      .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: 1024px) {
      .listingsGallery-header {
        -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1 / span 1 } }
    @media screen and (min-width: 1024px) {
      .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 10px; }

        @media screen and (min-width: 1024px) {
          .listingsGallery-header-content {
            margin-left: 0;
          }
        }
    .listingsGallery-header-cat {
      color: #323232;
      text-transform: uppercase;
      letter-spacing: 1px;
      font-size: 14px; }
      @media screen and (min-width: 768px) {
        .listingsGallery-header-cat {
          letter-spacing: 2px;
          font-size: 0.9375rem; } }
    .listingsGallery-header-heading {
      color: #323232;
      font-size: 24px;
      line-height: 1.1; }
      @media screen and (min-width: 768px) {
        .listingsGallery-header-heading {
          font-size: 2.40307rem; } }
    .listingsGallery-header-subheader {
      font-size: 16px;
      color: #323232; }
      @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: 10px; }
    @media screen and (min-width: 860px) {
      .listingsGallery .service-listings, .listingsGallery .product-listings {
        padding-top: 0;
        grid-column: 1 / span 1; } }


html[dir="rtl"] .listingsGallery .service-listings, html[dir="rtl"] .listingsGallery .product-listings {
  text-align: right;
}


  .listingsGallery-review {
    padding-bottom: 30px;
    display: flex;
    align-items: center; 
    justify-content: center;}
    @media screen and (min-width: 1024px) {
      .listingsGallery-review {
      justify-content: flex-start;
      }
    }
    .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: 20px;
   }
  .listingsGallery-specialities-header {
    color: #323232;
    font-weight: 700; }
  .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; }

  .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 {
        padding-bottom: 56.25%;
        cursor: pointer;
        position:relative;
        background-size: cover;
        border: 1px solid transparent;
        transition: all .25s ease-out; }
        .listingsGallery-thumbnails .listingsGalleryThumbnail-wrapper .listingsGalleryThumbnail:hover {
          border: 1px solid #0079c1; }
        .listingGallery-video-player {
          position: absolute;
          top: 0;
          left: 0;
        }

.listingswitcher .tab-section-content-section h1 {
  font-size: 1.9994rem;
  line-height: 1.35; }

.listingswitcher .tab-section-content-section h2 {
  color: #323232;
  font-size: 1.414rem;
  line-height: 1.5; }

.listingswitcher .tab-section-content-section ul {
  padding: 0 15px 15px 15px; }

.listings-information {
  background: #2b2b2b;
  background-image: url("https://www.esri.com/content/dam/esrisites/en-us/arcgis/products/arcgis-pro/december-2018-assets/hover-topo-1.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: bottom; }
  .listings-information svg, .listings-information .icon-ui-svg {
    fill: #17bb1e; }

    .listingswitcher .tabbed-content-switcher .tab-contents .tab-section .seperator{
      background-color: #0079c1;
    }

.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 #323232;
}

.listingsGalleryThumbnail-wrapper:hover .play-video-icon{
background:#0079c1;
}

.listingsGalleryThumbnail-wrapper:hover .play-video-icon:after{
  border-left: 10px solid #fff;
  }

.contentbar {
  min-height: initial;
  border-bottom: #555555 1px solid; }
  .contentbar-icon svg, .contentbar-icon .icon-ui-svg {
    height: 48px;
    width: 64px; }
  .contentbar.dark svg, .contentbar.dark .icon-ui-svg {
    fill: #49b0f2; }
  .contentbar.light svg, .contentbar.light .icon-ui-svg {
    fill: #0079c1; }

.tabbed-content-switcher .tab-contents .tab-section .seperator {
  border-top: none;
  height: 3px;
  width: 50px;
  margin-top: 15px;
  margin-bottom: 20px;
  background-color: #49b0f2;
  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;
  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 .textCenter {
text-align: center; }

.tabbed-content-switcher-wrap .tabbed-content-switcher.dark {
background-color: #323232; }
.tabbed-content-switcher-wrap .tabbed-content-switcher.dark .tabbed-content-switcher--header {
  color: #ffffff; }
.tabbed-content-switcher-wrap .tabbed-content-switcher.dark .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title {
  border-bottom-color: #323232;
  color: #efefef; }
  .tabbed-content-switcher-wrap .tabbed-content-switcher.dark .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title img,
  .tabbed-content-switcher-wrap .tabbed-content-switcher.dark .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title svg,
  .tabbed-content-switcher-wrap .tabbed-content-switcher.dark .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title svg *,
  .tabbed-content-switcher-wrap .tabbed-content-switcher.dark .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title .icon-number {
    fill: #888888;
    color: #888888; }
  .tabbed-content-switcher-wrap .tabbed-content-switcher.dark .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title:focus {
    color: #ffffff; }
  .tabbed-content-switcher-wrap .tabbed-content-switcher.dark .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title:hover {
    border-bottom: 3px solid rgba(73, 176, 242, 0.5); }
    .tabbed-content-switcher-wrap .tabbed-content-switcher.dark .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title:hover img,
    .tabbed-content-switcher-wrap .tabbed-content-switcher.dark .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title:hover svg,
    .tabbed-content-switcher-wrap .tabbed-content-switcher.dark .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title:hover svg *,
    .tabbed-content-switcher-wrap .tabbed-content-switcher.dark .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title:hover .icon-number {
      fill: #E5E5E5;
      color: #E5E5E5; }
  .tabbed-content-switcher-wrap .tabbed-content-switcher.dark .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title.is-active {
    border-bottom-color: #49b0f2;
    color: #fff; }
    .tabbed-content-switcher-wrap .tabbed-content-switcher.dark .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title.is-active img,
    .tabbed-content-switcher-wrap .tabbed-content-switcher.dark .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title.is-active svg,
    .tabbed-content-switcher-wrap .tabbed-content-switcher.dark .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title.is-active svg *,
    .tabbed-content-switcher-wrap .tabbed-content-switcher.dark .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title.is-active .icon-number {
      fill: #ffffff;
      color: #ffffff; }
.tabbed-content-switcher-wrap .tabbed-content-switcher.dark .middleslider .tabs-transparent .tabbed-content-switcher-nav .tabbed-content-switcher-nav-left {
  background: -moz-linear-gradient(left, #323232 20%, rgba(50, 50, 50, 0) 100%);
  background: -webkit-linear-gradient(left, #323232 20%, rgba(50, 50, 50, 0) 100%);
  background: linear-gradient(to right, #323232 20%, rgba(50, 50, 50, 0) 100%);
  cursor: pointer; }
  .tabbed-content-switcher-wrap .tabbed-content-switcher.dark .middleslider .tabs-transparent .tabbed-content-switcher-nav .tabbed-content-switcher-nav-left .icon-ui-left {
    color: #ffffff; }
.tabbed-content-switcher-wrap .tabbed-content-switcher.dark .middleslider .tabs-transparent .tabbed-content-switcher-nav .tabbed-content-switcher-nav-right {
  background: -moz-linear-gradient(left, rgba(50, 50, 50, 0) 0%, #323232 80%);
  background: -webkit-linear-gradient(left, rgba(50, 50, 50, 0) 0%, #323232 80%);
  background: linear-gradient(to right, rgba(50, 50, 50, 0) 0%, #323232 80%);
  cursor: pointer; }
  .tabbed-content-switcher-wrap .tabbed-content-switcher.dark .middleslider .tabs-transparent .tabbed-content-switcher-nav .tabbed-content-switcher-nav-right .icon-ui-right {
    color: #ffffff; }
.tabbed-content-switcher-wrap .tabbed-content-switcher.dark .middleslider .tabs-transparent .tab-contents {
  border-top-color: #4c4c4c; }
  .tabbed-content-switcher-wrap .tabbed-content-switcher.dark .middleslider .tabs-transparent .tab-contents .tab-section .tab-section-content .section-title {
    color: #ffffff; }
  .tabbed-content-switcher-wrap .tabbed-content-switcher.dark .middleslider .tabs-transparent .tab-contents .tab-section .tab-section-content .section-desc {
    color: #bcbcbc; }

.tabbed-content-switcher-wrap .tabbed-content-switcher.light {
background-color: #ffffff; }
.tabbed-content-switcher-wrap .tabbed-content-switcher.light .tabbed-content-switcher--header {
  color: #323232; }
.tabbed-content-switcher-wrap .tabbed-content-switcher.light .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title {
  border-bottom-color: #ffffff;
  color: #000000; }
  .tabbed-content-switcher-wrap .tabbed-content-switcher.light .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title img,
  .tabbed-content-switcher-wrap .tabbed-content-switcher.light .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title svg,
  .tabbed-content-switcher-wrap .tabbed-content-switcher.light .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title svg *,
  .tabbed-content-switcher-wrap .tabbed-content-switcher.light .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title .icon-number {
    fill: #6D6D6d;
    color: #6D6D6d; }
  .tabbed-content-switcher-wrap .tabbed-content-switcher.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: #0079C1;
      color: #0079C1; }
  .tabbed-content-switcher-wrap .tabbed-content-switcher.light .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title.is-active {
    border-bottom-color: #0079C1;
    color: #000000; }
    .tabbed-content-switcher-wrap .tabbed-content-switcher.light .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title.is-active img,
    .tabbed-content-switcher-wrap .tabbed-content-switcher.light .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title.is-active svg,
    .tabbed-content-switcher-wrap .tabbed-content-switcher.light .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title.is-active svg *,
    .tabbed-content-switcher-wrap .tabbed-content-switcher.light .middleslider .tabs-transparent .tabbed-content-switcher-nav .tab-nav .tab-title.is-active .icon-number {
      fill: #0079C1;
      color: #0079C1; }
.tabbed-content-switcher-wrap .tabbed-content-switcher.light .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.light .middleslider .tabs-transparent .tabbed-content-switcher-nav .tabbed-content-switcher-nav-left .icon-ui-left {
    color: #6E6E6E; }
.tabbed-content-switcher-wrap .tabbed-content-switcher.light .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.light .middleslider .tabs-transparent .tabbed-content-switcher-nav .tabbed-content-switcher-nav-right .icon-ui-right {
    color: #6E6E6E; }
.tabbed-content-switcher-wrap .tabbed-content-switcher.light .middleslider .tabs-transparent .tab-contents {
  border-top-color: #CCCCCC; }
  .tabbed-content-switcher-wrap .tabbed-content-switcher.light .middleslider .tabs-transparent .tab-contents .tab-section .tab-section-content .section-title {
    color: #323232; }
  .tabbed-content-switcher-wrap .tabbed-content-switcher.light .middleslider .tabs-transparent .tab-contents .tab-section .tab-section-content .section-desc {
    color: #bcbcbc;
    color: #595959; } @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: #0079c1; }
  .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: #005e95; }
      .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 #efefef;
  }
  .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: #00619b;
    }
    .review-reply-button:focus{
      background: none;
      text-decoration:underline;
      color: #00619b;
      outline:none;
    }

    .review-delete-button{
      color:#d83020;
      padding: 0.375rem .5rem;
    }

    .review-delete-button:hover{
      background: none;
      text-decoration:underline;
      color: #e65240;
    }
    .review-delete-button:focus{
      background: none;
      text-decoration:underline;
      color: #e65240;
      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: #efefef;
        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: #f7f7f7; }
  .network-table-header {
    border-bottom: 1px solid #ccc;
    padding: 32px 40px;
    color: #323232;
    background: #efefef; }
    @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: #0079c1;
  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: #49b0f2; }

.icon-title-series .icon-title {
  padding: 20px 0; }

@keyframes fadein {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }


.two-thirds-tile-divide_container {
  background: url("https://www.esri.com/content/dam/esrisites/en-us/marketplace/test-assets/marketplace-services-listings-case-studies-bg-1706x900.jpg") no-repeat center;
  background-size: cover; }
  .two-thirds-tile-divide_container .left{
    background-color: #ffffff;
    border-color: #ffffff;
  }

  .two-thirds-tile-divide-tiles .block--tttd{
    background-color: #ffffff;
  }


.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; 
background-size: cover;}
  .benefits-services svg,  .benefits-services .svg {
    width: 60px;
    height: 60px;
    fill: #49b0f2; }
  .benefits-services .contentbar {
    border-top: 1px solid #555555; }

  .benefits-services.products .image-series .text-link-stack-icon .contentarea .contenttext {
    display: none; }

    .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;
    }

  .review-section-content-review-feedback{
    background:#f8f8f8;
    border:1px solid #efefef;
    padding: 20px 30px;
  }
.review-feedback textarea{
 width:100%;
 height: auto;
  padding-top: 0.3rem;
  border: 1px solid #ccc;
  padding: 20px;
}
.review-feedback textarea:focus{
  outline:none;
}


.review-submission-form{
  background:#f8f8f8;
  border:1px solid #efefef;
  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 #ccc;
   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{
      background-color:#efefef;
    }
    .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 #ccc;
      border-bottom: 1px solid #ccc;
      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: Black;
      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: #efefef;
  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)
}