﻿/*#region Basic Site Settings*/
/* Move down content because we have a fixed navbar that is 50px tall */
    @media screen and (max-width: 767px) {
            body {
            padding-top: 70px;
            padding-bottom: 40px;/*Create extra room for the footer on a small screen*/
        }
    }

    @media screen and (min-width: 768px) {
            body {
            padding-top: 110px;
            padding-bottom: 25px;
        }
    }


    /* Wrapping element */
    /* Set some basic padding to keep content from hitting the edges */
    .body-content {
        padding-left: 15px;
        padding-right: 15px;
        padding-top: 8px !important;
    }

    /* Set widths on the form inputs since otherwise they're 100% wide */
    input[type="email"],
    input[type="password"] {
        max-width: 280px;
    }

    .normal-weight{
        font-weight:normal;
    }

    /* Responsive: Portrait tablets and up */
    @media screen and (min-width: 768px) {
        .jumbotron {
            margin-top: 20px;
        }

        .body-content {
            padding: 0;
        }
    }

    img {
        max-width: 100%;
        height: auto;
        -khtml-user-select: none;
        -o-user-select: none;
        -moz-user-select: none;
        -webkit-user-select: none;
        user-select: none;
    }

    .form-control:focus {
        border-color: #B40000;
        outline: 0;
        -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(180, 0, 0, .6);
        box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(180, 0, 0, .6);
    }

/*#endregion Basic Site Settings*/

/*#region Logo and Footer settings*/
    .footer{
        color: #C0C0C0;
        padding-top:5px;
        padding-left:5px;
        min-height: 20px;
    }

    @media screen and (max-width: 767px) {
        .CALogo {
            padding-left: 15px;
            padding-top: 5px;
            position: absolute;
            z-index: -1;
            width: 100px;
        }
    }

    @media screen and (min-width: 768px) {
        .CALogo {
            position: absolute;
            padding-top: 5px;
            padding-left: 15px;
        }
    }

    .terms {
        float: right;
        cursor: pointer;
        padding-right: 10px;
    }

    .terms:hover {
        color: white;
    }
/*#endregion Logo and Footer settings*/

/*#region Help Icon*/
.HelpIcon {
    float: right;
    padding-top: 10px;
    padding-left: 20px;
    cursor: pointer;
    z-index: 500;
    position: relative;
}
/*#endregion Help Icon*/

/*#region navmenu*/
.navmenu{
        text-transform: uppercase;
}

@media (min-width: 768px) {
    .navmenu {
        /*margin-top: 85px;*/
        background-color:   #B40000;
        position: absolute;
        margin-left: 170px;
    }
}

.navbar-inverse .navbar-nav > li > a {
    color: #000000;
}

@media (max-width: 767px) {
    .navbar-inverse .navbar-collapse {
        background-color: #B40000;
    }
}

  .navbar {
      font-family: Montserrat, sans-serif;
      margin-bottom: 0;
      background-color: #2d2d30;
      border: 0;
      font-size: 11px !important;
      letter-spacing: 2px;
      opacity: 0.9;
  }

    /*Use for same size top bar*/
  /*.navbar-fixed-top {
     height: 80px;
  }*/

     /*Used to give a smaller top bar on a small screen*/
  @media screen and (max-width: 767px){
      .navbar-fixed-top {
         height:60px;
      }

    .navbar li a, .navbar .navbar-brand {
        padding-left: 20px;
    }
  }

  /*Used to give a larger top bar on a large screen*/
  @media screen and (min-width: 768px){
      .navbar-fixed-top {
         height:110px;
      }
  }

    @media (min-width: 768px) {
        .navbar-nav > li > a {
            padding-top: 5px;
            padding-bottom: 5px;
        }
    }

  .navbar li a, .navbar .navbar-brand { 
      color: #d5d5d5 !important;
  }

  .navbar-nav li a:hover {
      color: #fff !important;
  }
  .navbar-nav li.active a {
      color: #29292c !important;
      background-color: #fff !important;
  }

 .navbar-nav li.unactive a {
      /*color: transparent !important;*/
      background-color:  #2d2d30 !important;
    color: #ffffff !important;
  }

  .navbar-default .navbar-toggle {
      border-color: transparent;
  }
/*#endregion*/

/*#region dropdown menu*/
  .open .dropdown-toggle {
      color: #fff;
      background-color: #555 !important;
  }

  .dropdown-menu li a:hover {
      background-color: rgba(180, 0, 0, 0.8) !important;
  }

   .dropdown-menu{
      background-color: #2d2d30;
  }
/*#endregion*/

/*#region Site List style*/
    .sitelistrow-even, .sitelistrow-odd, .sitelistrow-expired, .sitelistrow-blank, .sitelistrow-odd > td, .sitelistrow-even > td, .sitelistrow-expired > td, .sitelistrow-blank > td{
        padding-top: 1px !important;
        padding-bottom: 1px !important;
        cursor:default;
    }

    .sitelistrow-even{
        background-color: rgba(180, 0, 0, 0.25);
    }

    .sitelistrow-even:hover{
        /*background-color: #00b700;*/
        background-color: rgba(255, 160, 64, 0.25);
    }

    .sitelistrow-odd{
        background-color: rgba(180, 0, 0, 0.45);
    }

    .sitelistrow-wimviolation{
        background-color: rgba(214, 83, 79, 1);
        color: white;
    }
    .sitelistrow-wimviolation:hover{
        /*background-color: #00b700;*/
        background-color: rgba(214, 83, 79, 0.8);
        color: white;
    }

    .sitelistrow-cameraviolation{
        background-color: rgba(214, 83, 79, 1);
        color: white;
    }
    .sitelistrow-cameraviolation:hover{
        /*background-color: #00b700;*/
        background-color: rgba(214, 83, 79, 0.8);
        color: white;
    }

    .sitelistrow-odd:hover{
        /*background-color: #00b700;*/
        background-color: rgba(255, 160, 9, 0.25);
    }

    .sitelistrow-blank{
         background-color: #ffffff !important;
    }

    .sitelistrow-expired{
        background-color: rgba(255, 0,0, 0.60);
    }

    /*removes the top border from an empty line*/
    .sitelistrow-blank > td{
            border-top: 1px solid #ffffff !important;
    }

    .sitelistrow-blank > tr:hover td{
         background: aqua !important;
    }
/*#endregion*/

/*#region Data Table*/
    .table-hover tbody tr:hover td {
        background: #ffffff ;
    }

    .datatable {
        text-align: right;
        font-size: 85%;
    }

    .texttable{
        text-align: center;
    }

    .reportgroupheader{
        text-align:center;
         background-color:rgb(222, 222, 222);
        font-style:normal;
        font-weight:bold;
    }

    .rowheader {
        /*// background-color:rgba(128, 128, 128, 0.3);*/
        background-color: rgb(222, 222, 222);
        font-style: normal;
        font-weight: bold;
        border-bottom-style: none;
    }

    .columnheader {
        min-width: 60px;
        background-color: rgb(222, 222, 222);
        font-style: normal;
        text-align: center;
        font-weight: bold;
        border-bottom-style: solid;
        border-bottom-width: 1px;
        border-bottom-color: rgb(222, 222, 222);
    }

    .data-split {
        border-bottom-style: solid;
        border-bottom-width: 1px;
        border-bottom-color: rgb(222, 222, 222);
    }

    .columnheaderlong {
        min-width: 80px;
        background-color: rgb(222, 222, 222);
        font-weight: bold;
        text-align: center;
    }

    /* Used by the excel button */
    .extraButtonGroup {
        float: right;
    }
/*#endregion*/

/*#region report update to scrollable data grid*/
    .dataReportContent {
        overflow-y: auto;
        overflow-x: auto;
        max-height: 700px;
        margin-bottom: 10px;
    }

    .stickyHeader {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    @media only screen and (max-width: 767px) {
        /* CSS overrides for mobile here */
        .dataReportContainer {
            padding-left: 0;
            padding-right: 0;
        }
    }
/*#endregion*/

/*#region Easy tree*/
    .easytree-container /*overrides the normal one*/
    {
	    font-family: inherit !important;
	    font-size: inherit !important;
	    border: 1px solid #cccccc !important;
        border-radius: 4px;
        color:#555555 !important;
    }

    /*Easy Tree Overrides*/
    .easytree-container.easytree-focused span.easytree-node.easytree-active, .easytree-container.easytree-focused span.easytree-node.easytree-selected, span.easytree-node.easytree-active:hover, span.easytree-node.easytree-selected:hover {
            background-color: rgba(180, 0, 0, 0.45) !important;
            border-color: rgba(180, 0, 0,1) !important;
    }

    span.easytree-node:hover {
        background-color: rgba(180, 0, 0, 0.3) !important;
        border-color: rgba(180, 0, 0, 0.3) !important;
    }

    .easytree-title {
        color: inherit !important;
    }

    .GroupUserList {
        list-style: none;
    }
/*#endregion*/

/*#region Boot Strap Overrides*/
    /* boot strp overrides */
    .form-control {
        color:black !important;
    }

    .radio-inline, .checkbox-inline{
         color:black !important;
    }

    .btn-default {
        color:black !important;
    }

    /*Primary Btn*/
    .btn-primary {
        color: #ffffff;
        background-color: rgba(180,0,0,.8);
        border-color: rgba(180,0,0,1);
    }

    .btn-primary.disabled, .btn-primary[disabled], fieldset[disabled] .btn-primary, .btn-primary.disabled:hover, .btn-primary[disabled]:hover, fieldset[disabled] .btn-primary:hover, .btn-primary.disabled:focus, .btn-primary[disabled]:focus, fieldset[disabled] .btn-primary:focus, .btn-primary.disabled:active, .btn-primary[disabled]:active, fieldset[disabled] .btn-primary:active, .btn-primary.disabled.active, .btn-primary[disabled].active, fieldset[disabled] .btn-primary.active .dropdown-toggle.btn-primary.disabled {
        background-color: #EFDEDE;
        border-color: rgba(180,0,0,1);
    }

    .btn-primary:focus, .btn-primary:active, .btn-primary.active, .open .dropdown-toggle.btn-primary {
        background-color: #D16E6E;
    }

        .btn-primary:hover, .btn-primary.active:hover {
            color: #ffffff;
            background-color: rgba(180,0,0,0.55);
            border-color: rgba(180,0,0,1);
        }
/*#endregion*/

/*#region Data report scroll bar*/
    @media (min-width: 1800px) {
        .scrollbutton{
            width:282px;
            padding-left:0px;
            padding-right:0px;
        }
    }

    @media (min-width: 1600px) and (max-width: 1799px) {
        .scrollbutton{
            width:222px;
            padding-left:0px;
            padding-right:0px;
        }
    }

    @media (min-width: 1400px) and (max-width: 1599px) {
        .scrollbutton{
            width:182px;
            padding-left:0px;
            padding-right:0px;
        }
    }

    @media (min-width: 1200px) and (max-width: 1399px) {
        .scrollbutton{
            width:132px;
            padding-left:0px;
            padding-right:0px;
        }
    }

    @media (min-width: 992px) and (max-width: 1199px) {
        .scrollbutton {
             width:80px;
            padding-left:0px;
            padding-right:0px;
        }
    }

    @media (min-width: 768px) and (max-width: 991px) {
        .scrollbutton {
             width:26px;
            padding-left:0px;
            padding-right:0px;
        }
    }

    @media (max-width: 767px) {
        .scrollbutton{
            width:132px;
            padding-left:0px;
            padding-right:0px;
        }
    }

    .scrollimage{
        background-color:black;
        float:left;
    }
/*#endregion*/

/*#region Home page*/
    .startpagewell {
        height: 80px;
        text-align: center;
        font-weight: 300;
        font-size: large;
        padding-top: 26px;
    }

    /* used to set colour on the home screen options*/
    .homeOptions {
         color: #B40000;
    }
/*#endregion*/

/*#region Report Event Marking*/
.global1 {
    background-color: rgba(0, 255, 0, 0.45);
}

.global2 {
    background-color: rgba(0, 255, 0, 0.30);
}

.global3 {
    background-color: rgba(0, 255, 0, 0.15);
}

.local {
    background-color: rgba(208, 0, 208, 0.45);
}

.global1l {
    background-color: rgba(208, 100, 208, 0.45);
}

.global2l {
    background-color: rgba(208, 100, 208, 0.30);
}

.global3l {
    background-color: rgba(208, 100,208, 0.15);
}

.clearDown {
    background-color: rgba(100, 100,100, 0.45);
}

/*#endregion*/

/*#region Channel Controller */
    .tree-container
    {
	    font-family: tahoma, arial, helvetica;
	    font-size: 10pt; /* font size should not be too big */
	    white-space: nowrap;
	    /*padding: 3px;*/
	    margin: 0; /* issue 201 */
	    background-color: white;
	    border: 1px dotted gray;
	    overflow: auto;
	    height: 100%; /* issue 263 */
    }
/*#endregion*/

/*#region site details page*/
    .detailsImage {
        max-height: 400px;
        width: auto;
        display: block;
        margin-left: auto;
        margin-right: auto;
    }

    @media (min-width: 768px) {
        .imageWell {
            min-height: 460px;
        }
    }

    .detailsText {
        text-align: center;
    }
/*#endregion*/

/*#region Map control*/
/*Control the height of the map*/
    @media (min-width: 992px) {
        .map {
            min-height: 700px;
            height: 0px;
            display: block;
            position: static;
        }
    }

    @media (max-width: 991px) {
        .map {
            min-height: 460px;
            height: 0px;
            display: block;
            position: static;
        }
    }

    .mapselectbutton {
        float: right;
        margin: 2px 2px 2px 2px;
        background-color: #B40000;
        border-color: #940000;
    }

    .mapselectbutton:hover {
        color: #000000;
        background-color: #ffffff;
        border-color: #2d2d30;
    }
/*#endregion Map control*/

/*#region Bootstrap width extension*/
/*Extend bootstrap so we can make use of larger screens*/
@media (min-width: 1400px) {
    .container {
        max-width: 1370px;
    }
}

@media (min-width: 1600px) {
    .container {
        max-width: 1570px;
    }
}

@media (min-width: 1800px) {
    .container {
        max-width: 1770px;
    }
}
/*#endregion Bootstrap width extension*/

/*#region datavalues */
    .datavalues {
        position: relative;
        top: 0;
        left: 0;
        max-width: none;
    }

    @media (min-width: 992px) {
    .datavalues {
        height: 400px;
        width:900px;
    }
    }

    @media (min-width: 768px) and (max-width: 991px) {
        .datavalues {
        height: 300px;
        width: 750px;
    }
    }

    @media (min-width: 768px) and (max-width: 991px)  {
    .datavalues {
        height: 300px;
        width: 700px;
    }
    }

    @media (min-width: 540px) and (max-width: 767px)  {
    .datavalues {
        height: 300px;
        width: 500px;
    }
    }

    @media (max-width: 539px)  {
    .datavalues {
        height: 300px;
        width: 400px;
    }
    }

    .datavaluesselection{
        background-color: yellow;
        float: left;
        opacity:.6;
        position: absolute;top:2px; left:0;
        pointer-events: none; /*make the object not click throughable*/
        max-width: none;
    }

    .orangewell{
         background-color:#DD8C8C;
         border-top-width: 0;
         padding:9px;
         border-radius: 0px;
         margin-bottom: 0px;
    }

    .hideconfig{
        display:none;
    }

    /* Values used by the config selection on the data values screen */
    .nav-tabs > li.active > a{
        background-color:#DD8C8C !important;
        color:black !important;
    }



    @media (min-width: 768px){
        .configlistrow{
            padding-left:70px;
            padding-top: 5px;
            padding-bottom: 5px;
        }
    }

    .configlist{
        max-width: 830px;
        font-family: Montserrat, sans-serif;
        margin-bottom: 0;
        background-color: #2d2d30;
        border: 0;
        font-size: 11px !important;
        letter-spacing: 2px;
        opacity: 0.9;
        min-width:280px;
        padding-right:0px;
        padding-left:0px;
        padding-bottom:0px;
    }

    @media (min-width: 0px){
         .datavaluescontrols, .loadselection{
            padding-left: 70px;
            padding-top: 5px;
            padding-bottom: 5px;
         min-width:280px;
        }
    }
/*#endregion datavalues */

/*#region update spinners*/
.ReportUpdate {
    width: 40px;
    height: 40px;
    /*background-color: #0C84A3;*/
    background-size: inherit;
    background-image: url('/images/spinner40.gif');
    margin: 0px auto;
    -webkit-animation: sk-rotateplane 1.2s infinite ease-in-out;
    animation: sk-rotateplane 1.2s infinite ease-in-out;
}

@-webkit-keyframes sk-rotateplane {
    0% {
        -webkit-transform: perspective(120px)
    }

    50% {
        -webkit-transform: perspective(120px) rotateY(180deg)
    }

    100% {
        -webkit-transform: perspective(120px) rotateY(180deg) rotateX(180deg)
    }
}

@keyframes sk-rotateplane {
    0% {
        transform: perspective(120px) rotateX(0deg) rotateY(0deg);
        -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg)
    }

    50% {
        transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
        -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg)
    }

    100% {
        transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
        -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
    }
}

.SummaryUpdate {
    border: 6px solid #f3f3f3;
    border-radius: 50%;
    border-top: 6px solid #0C84A3;
    border-bottom: 6px solid #0C84A3;
    width: 24px;
    height: 24px;
    -webkit-animation: spin 2s linear infinite;
    animation: spin 2s linear infinite;
    float: right;
}

.SummaryUpdateLarge {
    border: 12px solid #f3f3f3;
    border-radius: 50%;
    border-top: 12px solid #0C84A3;
    border-bottom: 12px solid #0C84A3;
    width: 48px;
    height: 48px;
    -webkit-animation: spin 2s linear infinite;
    animation: spin 2s linear infinite;
    margin: 0 auto;
}

@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
    }
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}
/*#endregion*/

/*#region User Options*/
    /*Used by the Edit Filter to adjust the Filter Layer labels*/
    .label-adjust {
        padding-left: 15px;
        padding-top: 5px;
    }
    /*Used by the filter title*/
    .filter-label {
        padding-top: 7px;
    }

    .filter-editbox {
        max-width: 150px;
    }

    .filter-textbox {
        position: absolute;
        left: 150px;
        top: -3px;
    }
/*#endregion*/

/*#region Addt Info form*/
    /* used by summary info*/
    .summary-month-boundary {
        border-bottom: solid;
        border-bottom-width: 1px;
        border-bottom-color: rgb(222, 222, 222);
    }

    .summary-month-left {
        text-align: left;
        font-weight: bold;
    }
/*#endregion*/

/*#region Data Calendar*/
/*Data Calendar*/
.caldaysel
{
    BACKGROUND-COLOR: rgba(180,0,0,.55);
    padding: 2px 2px 2px 2px;
    cursor:pointer;
}

.caldayselpart
{
    BACKGROUND-COLOR: rgba(180,0,0,0.3);
    padding: 2px 2px 2px 2px;
    cursor:pointer;
}

/* Neutral Data Options */
.caldayselRec
{
    BACKGROUND-COLOR:rgba(220,0,0,.8);
    padding: 2px 2px 2px 2px;
    cursor:pointer;    
}

.CalendarHeader
{
	background-color: rgba(180,0,0,0.15);
     cursor:pointer;
}

.CalendarDay
{
		background-color: rgba(180,0,0,0.15);
	border-bottom: Solid 1px #000000;
    padding: 1px 2px 1px 2px;
    cursor:pointer;
    width: 16px;
}

.Calendarborderstyle
{
	border: Solid 1px #000000;
    line-height:1.1;
}

.selectedcell {
    background-color: yellow !important;
    color: black;
}

.calday
{
	background-color: white;
    padding: 2px 2px 2px 2px;
    cursor:pointer;
}

.calendar
{
    text-align: center;
    max-width: 700px;
    margin-right: auto;
    margin-left: auto;
}

/* Calendar Key*/
.keyList{
    max-width :700px;
    padding-top :20px;
    margin-right: auto;
    margin-left: auto;
    min-height:50px;
}

.keyListMarker{
    float: left; min-width: 20px;
    margin-right:5px;
    margin-top: -3px;
    border: solid 1px black;
}

.keyListItem{
    float:left;
    padding-right: 30px;
    padding-left: 5px; 
    list-style-type: none;
}
/*#endregion data calendar*/

/*#region AADT Info Section */
    .Value {
        background-color: white;
        color: black;
        text-align: right;
        border-right: 1px solid #dddddd;
    }

    .NoValue {
        background-color: orangered;
        border-right: 1px solid #dddddd;
    }

    .NotCalculated, .NotCalculated:hover {
        background-color: gray;
        border-right: 1px solid #dddddd;
    }
/*#endregion*/

/*#region Catalyst Car Park Section*/
    .cleardowns {
        text-align: right;
        max-width: 280px;
    }

    .ClearDownSpace {
        margin-left: 10px;
    }

    .carParkOccupancyGraph {
        min-width: 100%;
        margin: 5px 0;
    }

    .carParkEstimateGraph {
        min-width: 100%;
        margin: 5px 0;
    }

    .number-input {
        max-width: 65px;
    }
/*#endregion*/

/*#region admin and usage*/
    /* Admin Buttons*/
    .adminButtons{
         margin-left: 10px;
    }

    .summaryTable td:hover{
         background-color:#DD8C8C;
         cursor:pointer;
    }

    .selectedResult{
         background-color:#DD8C8C;
         cursor:pointer;
    }

    .siteTable:hover{
         background-color:#DD8C8C;
         cursor:pointer;
    }

    .activityTable tr:hover{
         background-color:#FFFFFF;
         cursor:default;
    }

    /* Data usage sections*/
    .linkEntry{
        background-color:#FFBF7F;
    }

    .IDSiteEntry{
        background-color:#7fe7ff;
    }

    .carParkEntry{
            background-color:#3aadff;
    }
/*#endregion*/

/*#region VBV Section*/
/* VBV Section*/
    .vbvSelect:hover{
         background-color:#FFA040 !important;
         cursor:pointer;
    }

    .vbvBorder{
        margin-bottom:5px;
            padding-bottom: 5px;
            border-bottom: 2px solid #e5e5e5;
    }   

    .vbvPadding{
        padding-left:5px;
        padding-right:5px;
    }
/*#endregion*/

/*#region live ANPR*/
.new_plate {
    animation: glow .8s 1 alternate;
}

@keyframes glow {
    to {
        text-shadow: 0 0 8px darkgreen;
    }
}
/*#endregion*/

/*#region Work Management*/
.filelist {
    cursor: pointer;
}

    .filelist:hover {
        background-color: #FFA040;
    }

.task {
    cursor: pointer;
}

    .task:hover {
        background-color: #FFA040;
    }

.alerts {
    font-size: 26px;
}

.change {
    padding: 5px;
    margin-bottom: 5px;
    border: 1px solid transparent;
    border-radius: 4px;
    color: #000000;
    background-color: #FFFFFF;
    border-color: #000000;
}
/*#endregion*/

/*#region system status*/
    .statusWell {
        text-align: center;
        padding: 10px;
        margin-bottom: 5px;
    }

    .canvasHover {
        margin-top: 6px;
    }

    .canvasHover:Hover {
        background-color: rgba(255, 160, 9, 0.45);
    }
/*#endregion*/

/*#region PopOver menu data editing*/
.popover {
    cursor: pointer;
}
/*#endregion*/

/*#region unknown where used*/
.permissions {
    background-color: rgba(127, 127,127, 0.15);
}
/*#endregion*/

/*#region traffic wales tweeks*/
    .navbar-toggle{

        border-color: #B40000 !important;
    }

    .icon-bar{
        background-color: #B40000 !important;
    }


    .navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus {
        background-color: #DD8C8C;
    }


    @media (min-width: 768px) {
        .trafficWalesMenu {
            width: auto;
            height: 30px;
            background-color: #B40000;
            margin-top: 85px;
        }
    }
/*    .nav-tabs>li>a {
    color: #ffffff;
    }*/
/*#endregion*/
