.text-left {
    text-align: left;
}

html[dir='rtl'] .text-left {
    text-align: right;
}

.text-right {
    text-align: right;
}

html[dir='rtl'] .text-right {
    text-align: left;
}

.left {
    float: left !important;
}

html[dir='rtl'] .left {
    float: right !important;
}

.right {
    float: right !important;
}

html[dir='rtl'] .right {
    float: left !important;
}

html[dir='rtl'] .pull-left {
    float: right !important;
}

html[dir='rtl'] .pull-right {
    float: left !important;
}


/* Avenir Next
   calcite-web uses fonts.com, which won't work behind a firewall
   we'll load Avenir Next locally just like we did for Avenir
*/


/* Latin Extended */

@font-face {
    font-family: "Avenir Next";
    font-weight: 300;
    font-style: normal;
    src: local("Avenir Next Light"), url("../fonts/avenir-next/fd1f3434-eb5b-4767-8593-e6cfcbfd1558.woff2") format("woff2"), url("../fonts/avenir-next/f6ebea36-fb7c-4458-a43e-2112c48c17e4.woff") format("woff");
}

@font-face {
    font-family: "Avenir Next";
    font-weight: 400;
    font-style: normal;
    src: local("Avenir Next"), url("../fonts/avenir-next/bb590848-4012-46d6-a8d5-48c9893a176b.woff2") format("woff2"), url("../fonts/avenir-next/3a42a252-67ff-4186-88cf-762f56719ca1.woff") format("woff");
}

@font-face {
    font-family: "Avenir Next";
    font-weight: 400;
    font-style: italic;
    src: local("Avenir Next Italic"), local("Avenir Next"), url("../fonts/avenir-next/4849e0c5-f7d0-45b0-8d87-80102f27934d.woff2") format("woff2"), url("../fonts/avenir-next/5191e4ce-5fdb-4b0b-b00f-b04e333dbf3e.woff") format("woff");
}

@font-face {
    font-family: "Avenir Next";
    font-weight: 500;
    font-style: normal;
    src: local("Avenir Next Medium"), local("Avenir Next"), url("../fonts/avenir-next/7195d5d0-582f-42d4-86ca-9da8dc31146e.woff2") format("woff2"), url("../fonts/avenir-next/0417e965-6ae1-4395-8f71-f61ea767d523.woff") format("woff");
}

@font-face {
    font-family: "Avenir Next";
    font-weight: 600;
    font-style: normal;
    src: local("Avenir Next Demi Bold"), local("Avenir Next"), url("../fonts/avenir-next/b86524f7-009e-4c08-a266-c43f1fb68e5e.woff2") format("woff2"), url("../fonts/avenir-next/e40e6ac5-f2bd-4d65-baf7-b1e397d7fdcc.woff") format("woff");
}


/* Cyrillic */

@font-face {
    font-family: "Avenir Next";
    font-weight: 300;
    font-style: normal;
    src: local("Avenir Next Light"), url("../fonts/avenir-next/8803fb56-f951-4b03-ab7b-1b9727872785.woff2") format("woff2"), url("../fonts/avenir-next/ecd6b4c8-31fa-442b-92a3-a4322c3df4fe.woff") format("woff");
    unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
    font-family: "Avenir Next";
    font-weight: 400;
    font-style: normal;
    src: local("Avenir Next"), url("../fonts/avenir-next/e8b9c8fa-dbfb-4576-9394-ae85e87cb003.woff2") format("woff2"), url("../fonts/avenir-next/fb555151-cbda-4728-b28d-6e5f085c2d55.woff") format("woff");
    unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
    font-family: "Avenir Next";
    font-weight: 400;
    font-style: italic;
    src: local("Avenir Next Italic"), local("Avenir Next"), url("../fonts/avenir-next/41c4d4c4-9fe4-4468-90eb-33579fd5f2ad.woff2") format("woff2"), url("../fonts/avenir-next/a35e0b34-93f2-415d-b45f-7457d0067583.woff") format("woff");
    unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
    font-family: "Avenir Next";
    font-weight: 500;
    font-style: normal;
    src: local("Avenir Next Medium"), local("Avenir Next"), url("../fonts/avenir-next/1704d161-44ab-4854-a066-fe47d583a3a6.woff2") format("woff2"), url("../fonts/avenir-next/95aa7ca1-de33-40d9-ae40-ff045fcada66.woff") format("woff");
    unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
    font-family: "Avenir Next";
    font-weight: 600;
    font-style: normal;
    src: local("Avenir Next Demi Bold"), local("Avenir Next"), url("../fonts/avenir-next/c4ec49e5-4817-4f05-9bee-cec6f46f9d61.woff2") format("woff2"), url("../fonts/avenir-next/8e0e32b3-034a-41e8-bd15-c22974ebcdb5.woff") format("woff");
    unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}


/*@font-face {
    font-family: 'Avenir';
    src: url('../fonts/AvenirLTStd-Medium.woff') format('woff');
}

@font-face {
    font-family: 'AvenirLight';
    src: url('../fonts/AvenirLTStd-Light.woff') format('woff');
}*/

html {
    position: relative;
    min-height: 100%;
    width: 100%;
}

body {
    height: 100%;
    width: 100%;
    background-color: #f9f9f9;
    font-family: "Avenir Next", "Avenir", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
    font-weight: 300;
}

.navbar {
    height: 52px;
    padding-top: 6px;
    font-size: 14px;
    background-color: #fff;
    -webkit-transform: translateZ(0);
}

input {
    font-family: 'sans-serif', 'arial';
}

textarea {
    font-family: 'sans-serif', 'arial';
}

.open>.dropdown-menu.links {
    display: block;
    margin-left: -217px;
    margin-right: 0px;
    margin-top: 5px;
    border-top: none;
    border-radius: 0;
}

html[dir='rtl'] .open>.dropdown-menu.links {
    margin-right: -217px;
    margin-left: 0px;
}

.navbar-header {
    display: inline-flex;
}

.navbar-brand {
    line-height: 12px;
    color: #333333 !important;
}

.navbar-nav>li>a {
    line-height: 12px;
    color: #000000 !important;
    letter-spacing: 1px;
    font-size: 14px;
    max-width: 300px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.navbar .navbar-brand img {
    margin-top: -10px;
    padding-right: 24px;
    border-right: 1px solid #e1e1e1;
}

html[dir='rtl'] .navbar .navbar-brand img {
    padding-right: 0;
    border-right: none;
    padding-left: 24px;
    border-left: 1px solid #e1e1e1;
}

.navbar .open {
    background-color: transparent;
}

.dropdown .caret {
    color: #999;
}

.navbar .dropdown-toggle {
    padding: 10px 15px;
}

.nav.navbar-nav.navbar-right {
    font-size: 14px;
    float: right !important;
}

html[dir='rtl'] .nav.navbar-nav.navbar-right {
    font-size: 14px;
    float: left !important;
}

.navbar-default .navbar-nav>.open>a,
.navbar-default .navbar-nav>.open>a:focus,
.navbar-default .navbar-nav>.open>a:hover {
    background-color: #f9f9f9;
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
    z-index: 2;
}

#nav-user-operations .dropdown-menu {
    border: 1px solid #ccc;
    margin-top: -1px;
    margin-right: 0px;
    z-index: 1;
}

html[dir='rtl'] #nav-user-operations .dropdown-menu {
    margin-left: 0px;
}

#nav-gallery-link {
    display: none;
}

.dropdown-menu>li {
    padding: 7px;
}

.dropdown-menu>li>a:focus,
.dropdown-menu>li>a:hover {
    color: #000;
    text-decoration: none;
    background-color: #E5F1F9;
}

.dropdown-menu>li:hover {
    color: #000;
    text-decoration: none;
    background-color: #E5F1F9;
}

.navbar .dropdown {
    line-height: 41px;
    margin-left: -18px;
    margin-right: 0px;
}

html[dir='rtl'] .navbar .dropdown {
    margin-right: -18px;
    margin-left: 0px;
}

.navbar .dropdown img {
    width: 24px;
    max-width: 100%;
    height: auto;
    display: inline-block;
    margin-right: 10px;
    border-radius: 21px;
}

html[dir='rtl'] .navbar .dropdown img {
    margin-left: 10px;
    margin-right: 0;
}

.navbar .dropdown .dropdown-header {
    padding: 3px 0px;
}

.nav .open>a,
.nav .open>a:focus,
.nav .open>a:hover {
    background-color: transparent;
}

.nav>a>.caret:focus,
.nav>a>.caret:hover,
.nav .open>a>.caret {
    color: #000;
}

.nav .open {
    background-color: transparent;
}

#nav-my-profile {
    padding: 3px 20px;
}

#nav-user-operations {
    display: none;
}

#nav-gallery-link {
    /*display: none;*/
}

#nav-app-list {
    display: none;
}


/*#nav-app-help {
    display: none;
}
*/

#nav-logo-esri {
    margin-left: 40px;
}

#nav-logo-esri a {
    padding: 0;
}

#nav-logo-esri .logo-esri {
    height: 42px;
    width: auto;
}

.container {
    padding: 0;
}

@media (min-width: 1300px) {
    .container {
        width: 1280px;
    }
}

.section-banner {
    width: 100%;
    background: #fff;
    position: fixed;
    z-index: 999;
    margin-top: 52px;
    height: 54px;
    box-shadow: 0 0 4px 0px #ccc;
    background-image: url('../images/banner_bg.png');
    -webkit-transform: translateZ(0);
}

.section-banner .left div,
.section-banner .right div,
.section-banner #username-hint {
    max-width: 700px;
    white-space: nowrap;
    /*overflow: hidden;*/
    text-overflow: ellipsis;
    display: inline-block;
}

.section-banner .breadcrumb {
    background-color: transparent;
    padding: 0px;
    color: #fff;
}

.section-banner .breadcrumb:hover {
    color: #AAC7E2;
}

.section-banner .breadcrumb li {
    max-width: 700px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: top;
}

.section-banner .breadcrumb>li+li:before {
    padding: 0 5px;
    color: #ccc;
    content: "> ";
    vertical-align: top;
}

.section-banner .container .breadcrumb li a {
    margin-right: 0;
    max-width: 500px;
    white-space: nowrap;
    overflow: hidden;
    /*vertical-align: middle;*/
    text-overflow: ellipsis;
}

.section-banner .container .breadcrumb li,
.section-banner .container .breadcrumb a {
    color: inherit;
}

.section-banner .dropdown .dropdown-menu {
    padding: 0;
    margin: 0;
    border-radius: 0;
    /*display: block;*/
}

.section-banner .dropdown:hover .dropdown-menu {
    display: block;
}

.section-banner .dropdown .dropdown-menu li {
    color: #000;
    vertical-align: middle;
    height: 40px;
    max-width: 180px;
    text-align: left;
    padding: 10px 20px;
}

.section-banner .dropdown .dropdown-menu li:hover {
    color: #fff;
    background-color: #2B3E50;
}

.section-banner .dropdown .dropdown-menu li.divider {
    height: 1px;
    padding: 0;
    margin: 0 5px;
    background-color: #E1E1E1;
}

.section-banner .dropdown .dropdown-menu li a {
    width: 100%;
    color: inherit;
    font-size: 14px;
    background-color: transparent;
    vertical-align: middle;
    padding: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

html[dir='rtl'] .section-banner .container .breadcrumb li a {
    margin-left: 0;
}

.section-banner .container {
    height: 100%;
    padding: 11px 0px 0px;
    min-width: 1000px;
}

.section-banner .container a {
    font-size: 16px;
    color: #fff;
    position: relative;
    text-decoration: none;
    display: inline-block;
    margin-right: 15px;
    padding-top: 0px;
}

html[dir='rtl'] .section-banner .container a {
    margin-left: 15px;
    margin-right: 0;
}

.section-banner .container div {
    font-size: 16px;
    color: #fff;
    position: relative;
    text-decoration: none;
    display: inline-flex;
    /*margin-right: 15px;*/
}

.section-banner .container div .search {
    display: inline-block;
    ;
}

.section-banner .container img {
    margin-top: -4px;
    margin-right: 5px;
}

html[dir='rtl'] .section-banner .container img {
    margin-left: 5px;
    margin-right: 0;
}

.section-banner .container .right a.active {
    color: #007ac7
}

.section-banner div.search-trigger {
    position: absolute;
    right: 6px;
    padding: 0px 12px;
    display: none;
    background-image: url('../images/app-list/search.png');
    background-repeat: no-repeat;
    background-position: 50%;
    height: 100%;
}

html[dir='rtl'] .section-banner div.search-trigger {
    right: auto;
    left: 6px;
}

.section-banner div.search-remove {
    position: absolute;
    right: 28px;
    padding: 18px 12px;
    display: none;
    background-image: url('../images/app-list/close.png');
    background-repeat: no-repeat;
    background-position: 50%;
    height: 100%;
}

html[dir='rtl'] .section-banner div.search-remove {
    left: 28px;
    right: auto;
}

.section-banner .container div input[type=search] {
    min-width: 300px;
    border-radius: 25px;
}

.section-banner .container .left {
    float: left;
    padding-top: 7px;
}

.section-banner .container .right {
    float: right;
}

html[dir='rtl'] .section-banner .container .right {
    float: left;
}

.footer {
    height: 50px;
    width: 100%;
    bottom: 0;
    position: fixed;
    z-index: 999;
    /* background-color: #e1e1e1; */
    color: #7f92a5;
    font-size: 14px;
    -webkit-transform: translateZ(0);
}

.footer p {
    margin-top: 17px;
}

.login-dialog .modal-dialog {
    width: 900px;
}

.signin-subscribe {
    height: 300px;
    width: 100%;
    border: 0px;
}

.popup-close {
    float: right;
    cursor: pointer;
    color: gray;
}

html[dir='rtl'] .popup-close {
    float: left;
}

.popup-close:hover {
    color: black;
}

.popup-email {
    margin-left: 20px;
    font-size: 14px;
    margin-top: 0px;
    margin-bottom: 10px;
}

.popup-item {
    float: left;
    margin-left: 5px;
    margin-right: 5px;
    color: green;
}

html[dir='rtl'] .popup-item {
    float: right;
}

.popup-item-desc {
    margin-bottom: 20px;
    margin-left: 20px;
}

html[dir='rtl'] .popup-item-desc {
    margin-right: 20px;
    margin-left: 0px;
}

.popup-content {
    width: 420px;
    height: 230px;
    margin-top: 15px;
    margin-bottom: 10px;
    overflow-y: auto;
    overflow-x: hidden;
}

.popup-container {
    margin-left: 20px;
    margin-right: 10px;
    float: left;
    margin-top: 0px;
    width: 410px;
}

html[dir='rtl'] .popup-container {
    margin-left: 10px;
    margin-right: 20px;
    float: right;
}

.popup_iframe {
    width: 400px;
    height: 360px;
    margin-top: 40px;
}

.login-dialog .modal-header {
    display: none;
}

.image-chooser {
    position: relative;
}

.image-chooser .image-label {
    border-style: none;
    border-radius: 5px;
    color: #fff;
    font-size: 16px;
    cursor: pointer;
}

.image-chooser .image-label-wh {
    width: 164px;
    height: 42px;
}

.image-chooser .image-file {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    cursor: pointer;
}

.image-chooser .image-file-wh {
    width: 164px;
    height: 42px;
}

.btn {
    color: #000;
    background-color: #f0f0f0;
    border-color: #ccc;
}

.btn.active,
.btn.focus,
.btn:active,
.btn:focus,
.btn:hover,
.btn:active.focus,
.btn:active:focus,
.open>.dropdown-toggle.btn {
    color: #333;
    background-color: #fff;
    border-color: #ccc;
    outline: none;
}

.btn-gray {
    color: #000;
    background-color: #929292;
    border: none;
}

.btn-gray.active,
.btn-gray.focus,
.btn-gray:active,
.btn-gray:focus,
.btn-gray:hover,
.btn-gray:active.focus,
.btn-gray:active:focus,
.open>.dropdown-toggle.btn-gray {
    color: #333;
    background-color: #b9b9b9;
    border: none;
    outline: none;
}

.btn-blue {
    color: #fff;
    background-color: #45688d;
    border: none;
}

.btn-blue:disabled {
    background-color: #6b96c4;
}

.btn-blue.active,
.btn-blue.focus,
.btn-blue:active,
.btn-blue:focus,
.btn-blue:hover,
.btn-blue:active.focus,
.btn-blue:active:focus,
.open>.dropdown-toggle.btn-blue {
    color: #fff;
    background-color: #6b96c4;
    border: none;
    outline: none;
}

.btn-orange {
    color: #fff;
    background-color: #f2744c;
    border: none;
}

.btn-orange:disabled {
    background-color: #dedede;
}

.btn-orange.active,
.btn-orange.focus,
.btn-orange:active,
.btn-orange:focus,
.btn-orange:hover,
.btn-orange:active.focus,
.btn-orange:active:focus,
.open>.dropdown-toggle.btn-orange {
    color: #fff;
    background-color: #ff8660;
    border: none;
    outline: none;
}

.btn.selected {
    color: #fff;
    background-color: #f2744c;
    border: none;
}

.btn.selected.active,
.btn.selected.focus,
.btn.selected:active,
.btn.selected:focus,
.btn.selected:hover,
.btn.selected:active.focus,
.btn.selected:active:focus,
.open>.dropdown-toggle.btn.selected {
    color: #fff;
    background-color: #ff8660;
    border: none;
    outline: none;
}

.footer-logo {
    float: right;
    margin-top: -7px;
}

html[dir="rtl"] .footer-logo {
    float: left;
}

.loader {
    /*border: 1px solid blue;*/
    text-align: center;
    margin: 200px -3px 120px;
    color: #7f92a5;
}

.loader>.spinner {
    font-size: 4px;
    margin: 5em auto;
    text-indent: -9999em;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #7f92a5;
    background: -moz-linear-gradient(left, #7f92a5 10%, rgba(255, 255, 255, 0) 42%);
    background: -webkit-linear-gradient(left, #7f92a5 10%, rgba(255, 255, 255, 0) 42%);
    background: -o-linear-gradient(left, #7f92a5 10%, rgba(255, 255, 255, 0) 42%);
    background: -ms-linear-gradient(left, #7f92a5 10%, rgba(255, 255, 255, 0) 42%);
    background: linear-gradient(to right, #7f92a5 10%, rgba(255, 255, 255, 0) 42%);
    position: relative;
    -webkit-animation: load3 1.4s infinite linear;
    animation: load3 1.4s infinite linear;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
}

.loader>.spinner:before {
    width: 50%;
    height: 50%;
    background: #7f92a5;
    border-radius: 100% 0 0 0;
    position: absolute;
    top: 0;
    left: 0;
    content: '';
}

.loader>.spinner:after {
    background: #f9f9f9;
    width: 75%;
    height: 75%;
    border-radius: 50%;
    content: '';
    margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

@-webkit-keyframes load3 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes load3 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

.text-ellipsis {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

#message-hint {
    position: absolute;
    top: 0;
    height: 52px;
    width: 100%;
    z-index: 1050;
    text-align: center;
    font-size: 18px;
    opacity: 1;
    display: none;
}

#message-hint button.close {
    top: 4px;
}

.flipx {
    -moz-transform: scaleX(-1);
    -webkit-transform: scaleX(-1);
    -o-transform: scaleX(-1);
    transform: scaleX(-1);
    /*IE*/
    filter: FlipH;
}

.rtl {
    direction: rtl;
}

.text-right {
    text-align: right;
}

.create-new-app a {
    display: inline-block;
}

.new-app .templates .template .content ul li a {
    display: inline-block;
}

.footer li a {
    display: inline-block;
}

small span,
small a {
    display: inline-block;
}

.footer span,
.footer ul {
    display: inline-block;
}

.footer a,
.footer li,
.footer span {
    max-width: 400px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
}

a.index-create-like-this {
    display: inline-block;
}

.app a {
    display: inline-block;
}

.section-banner .container p {
    font-size: 16px;
    color: #fff;
    position: relative;
    text-decoration: none;
    display: inline-block;
    /*margin-right: 15px;*/
}

.footer .container div {
    margin-top: 17px;
}

.navbar-nav span {
    /*display: inline-block;*/
}

#footer-term,
#footer-privacy {
    display: inline;
}

html[dir='rtl'] .modal-overlay-close {
    right: auto;
    left: -18px;
}

html[dir='rtl'] .footer small {
    float: right;
}

.esri-logo-footer {
    padding-top: 130px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: initial;
}

.no-rtl-str {
    direction: initial;
    unicode-bidi: embed;
}
