body, html {
   min-height: 100vh;
   background-color: white;
   overflow-x: hidden;
}

body {
   font-family: "Gotham SSm A", "Gotham SSm B", Verdana, sans-serif;
}

body>main {
   overflow: auto;
}

hr {
   max-width: 50px;
   border-width: 3px;
   border-color: #F05F40;
}

main.container {
   background-color: #FFFFFF;
   min-height: 500px;
}

main.page-wrap {
   min-height: calc(100% - 134px);
   padding-bottom: 35px;
   overflow: auto;
}

main.page-wrap:after {
   content: "";
   display: block;
}

hr.light {
   border-color: #fff;
}

.top-upper {
   padding-top: 70px;
}

@media (min-width: 768px) {
   .top-upper {
      padding-top: 100px;
   }
}

nav {
   font-size: 1.0em;
}

#head-secundar a.nav-item {
   font-weight: bold;
}

a {
   color: #F05F40; /*#F05F40*/
   -webkit-transition: all 0.2s;
   -moz-transition: all 0.2s;
   transition: all 0.2s;
}

a:hover {
   color: #f05f40;
}

h1, .h1 {
   color: #337ab7;
   font-size: 1.5em;
   margin-top: 10px;
}

.h1, .h2 {
   display: block;
}

h2, .h2 {
   color: #337ab7;
   font-size: 1.4em;
}

h3, .h3 {
   color: #002c6c;
   font-size: 1.3em;
   font-weight: bold;
}

h1, h2, h3, h4, h5, h6 {
   font-family: "Gotham SSm A", "Gotham SSm B", Verdana, sans-serif;
}

.bg-primary {
   background-color: #F05F40 !important; /*#F05F40*/
}

.bg-dark {
   background-color: #002c6c !important;
}

.text-faded {
   color: rgba(255, 255, 255, 0.7);
}

section {
   padding: 3rem 0;
}

@media (min-width: 768px) {
   section {
      padding: 8rem 0;
   }
}

@media (min-width: 992px) {
   section {
      padding: 15rem 0;
   }
}

.section-heading {
   margin-top: 0;
}

::-moz-selection {
   color: #fff;
   background: #002c6c;
   text-shadow: none;
}

::selection {
   color: #fff;
   background: #002c6c;
   text-shadow: none;
}

img::selection {
   color: #fff;
   background: transparent;
}

img::-moz-selection {
   color: #fff;
   background: transparent;
}

@media ( min-width : 992px) { /*992*/
   #mainNav {
      border-color: transparent;
      background-color: transparent;
   }
   #mainNav .navbar-brand {
      color: rgba(255, 255, 255, 0.9);
   }
   #mainNav .navbar-brand:focus, #mainNav .navbar-brand:hover {
      color: #fff;
   }
   #mainNav .navbar-nav>li.nav-item>a.nav-link {
      padding: 0.5rem 1rem;
   }
   #mainNav .navbar-nav>li.nav-item>a.nav-link, #mainNav .navbar-nav>li.nav-item>a.nav-link:focus {
      color: rgba(255, 255, 255, 0.9);
   }
   #mainNav .navbar-nav>li.nav-item>a.nav-link:hover, #mainNav .navbar-nav>li.nav-item>a.nav-link:focus:hover {
      color: #fff;
   }
   #mainNav.navbar-shrink {
      border-bottom: 1px solid rgba(33, 37, 41, 0.1);
      background-color: #fff;
   }
   #mainNav.navbar-shrink .navbar-brand {
      color: #F05F40;
   }
   #mainNav.navbar-shrink .navbar-brand:focus, #mainNav.navbar-shrink .navbar-brand:hover {
      color: #f05f40;
   }
   #mainNav.navbar-shrink .navbar-nav>li.nav-item>a.nav-link, #mainNav.navbar-shrink .navbar-nav>li.nav-item>a.nav-link:focus
      {
      color: #002c6c;
   }
   #mainNav.navbar-shrink .navbar-nav>li.nav-item>a.nav-link:hover, #mainNav.navbar-shrink .navbar-nav>li.nav-item>a.nav-link:focus:hover
      {
      color: #F05F40;
   }
}

.carousel-inner {
   background: #002c6c;
}

.carousel-caption {
   opacity: 1;
}

.carousel-item {
   height: 60vh;
   min-height: 250px;
   background: no-repeat center center scroll;
   -webkit-background-size: cover;
   -moz-background-size: cover;
   -o-background-size: cover;
   background-size: cover;
}

@media (min-width: 768px) {
   .carousel-item {
      height: 100vh;
      min-height: 300px;
   }
}

.service-box {
   max-width: 400px;
}

.portfolio-box {
   position: relative;
   display: block;
   max-width: 650px;
   margin: 0 auto;
}

.portfolio-box .portfolio-box-caption {
   position: absolute;
   bottom: 0;
   display: block;
   width: 100%;
   height: 100%;
   text-align: center;
   opacity: 0;
   color: #fff;
   background: rgba(240, 95, 64, 0.9);
   -webkit-transition: all 0.2s;
   -moz-transition: all 0.2s;
   transition: all 0.2s;
}

.portfolio-box .portfolio-box-caption .portfolio-box-caption-content {
   position: absolute;
   top: 50%;
   width: 100%;
   transform: translateY(-50%);
   text-align: center;
}

.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-category, .portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-name
   {
   padding: 0 15px;
   font-family: "Gotham SSm A", "Gotham SSm B", Verdana, sans-serif;
}

.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-category {
   font-size: 14px;
   font-weight: 600;
   text-transform: uppercase;
}

.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-name {
   font-size: 18px;
}

.portfolio-box:hover .portfolio-box-caption {
   opacity: 1;
}

.portfolio-box:focus {
   outline: none;
}

@media ( min-width : 768px) {
   .portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-category {
      font-size: 16px;
   }
   .portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-name {
      font-size: 22px;
   }
}

.text-primary {
   color: #F05F40 !important;
}

.btn {
   font-weight: 700;
   text-transform: uppercase;
   border: none;
   border-radius: 5px;
   font-family: "Gotham SSm A", "Gotham SSm B", Verdana, sans-serif;
}

.btn-xl {
   padding: 1rem 2rem;
}

.top-down {
   margin-bottom: 50px;
}

.btn-primary {
   background-color: #F05F40;
   border-color: #F05F40;
}

.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
   color: #fff;
   background-color: #ee4b28 !important;
}

.btn-primary:active, .btn-primary:focus {
   box-shadow: 0 0 0 0.2rem rgba(240, 95, 64, 0.5) !important;
}

.btn-dark {
   background-color: #002c6c;
   border-color: #002c6c;
}

.shadowfilter-white {
   -webkit-filter: drop-shadow(0px 0px 10px rgba(255, 255, 255, 1));
   filter: drop-shadow(0px 0px 10px rgba(255, 255, 255, 1));
}

.service h3 {
   font-size: 18px;
   font-weight: bolder;
   color: #002c6c;
}

.service p {
   font-size: 14px;
}

.footer-link {
   color: #008dbd
}

.footer-link:hover {
   color: #F05F40;
   text-decoration: none;
}

.list-inline-item {
   display: inline;
   padding: 0 5px;
   list-style: none;
   margin-bottom: 5px;
   margin-left: 0;
   font-size: 14px;
   border-left: 1px solid #b3b3b3;
   margin-right: 0 !important;
}

.list-inline-item:first-child {
   border-left: 0px;
}

.copyright {
   font-size: 12px;
   color: #999999;
   margin-top: 6px;
}

form#fm {
   background-color: white;
}

.tableHeader {
   text-align: center;
   background: none repeat scroll 0 0 #337ab7;
   border: 1px solid #FFF;
   padding: 2px;
   color: white;
}

table tr th.tableHeader {
   vertical-align: top;
}



table .ui-state-default, table .ui-widget-content .ui-state-default, table .ui-widget-header .ui-state-default {
   border-radius: 0px;
}

table.itemMatrix {
   padding: 0px;
   font-size: 17px;
}

table.itemMatrix tbody td {
   padding: 0px;
   border: none;
}

table.itemMatrix tbody td input {
   width: 100%;
}

table.itemMatrix td.colB {
   width: 40%;
}

.ui-autocomplete.bootstrapfix {
   width: 100%;
   border: 0;
   padding: 0;
   margin: 0;
}

.table-condensed td[role=gridcell].col-gln, .table-condensed .col-gln {
   width: 10em;
   height: 1px;
   vertical-align: middle;
}

.table-condensed td[role=gridcell].col-adresa {
   width: 20em;
   white-space: normal;
}

.table-condensed td[role=gridcell].col-email {
   width: 15em;
}

.col-action {
   width: 2em;
}

.col-n-c {
   width: 2em;
   text-align: center;
}

.table-condensed td[role=gridcell].col-nume, .col-nume {
   width: 25em;
   white-space: normal;
   text-align: left;
}

.drop-header {
   display: block;
}



.table-condensed td a.link-action {
   margin: 3px;
}

.table-condensed td a.link-action:ACTIVE {
   text-decoration: none;
}

.table-condensed td[role=gridcell] {
   padding: 2px;
   margin: 0;
}


@MEDIA ( min-width :768px) {
   /* Ordinea dimensiunilor este importanta sa fie crescator*/
   span.index_thumbnail {
      min-height: 330px;
   }
   table thead tr .ui-state-default[role="columnheader"] {
      background: #337ab7;
      color: white;
      text-shadow: none;
      vertical-align: top;
   }
   body {
      font-size: 14px;
   }
}

@MEDIA ( min-width :992px) {
   /* Ordinea dimensiunilor este importanta sa fie crescator*/
   span.index_thumbnail {
      min-height: 345px;
   }
   table thead tr .ui-state-default[role="columnheader"] {
      background: #337ab7;
      color: white;
      text-shadow: none;
      vertical-align: top;
   }
   body {
      font-size: 14px;
   }
}

@MEDIA ( min-width :1200px) {
   /* Ordinea dimensiunilor este importanta sa fie crescator*/
   span.index_thumbnail {
      min-height: 305px;
   }
   table thead tr .ui-state-default[role="columnheader"] {
      background: #337ab7;
      color: white;
      text-shadow: none;
      vertical-align: top;
   }
   body {
      font-size: 14px;
   }
}

#mainNav {
   background-color: #f4f4f4;
   box-shadow: 0 0 3px 0 #888;
   border-bottom: 1px solid rgba(33, 37, 41, 0.1);
   font-family: "Gotham SSm A", "Gotham SSm B", Verdana, sans-serif;
   -webkit-transition: all 0.2s;
   -moz-transition: all 0.2s;
   transition: all 0.2s;
}

#mainNav .navbar-brand {
   font-weight: 700;
   text-transform: uppercase;
   color: #F05F40;
   font-family: "Gotham SSm A", "Gotham SSm B", Verdana, sans-serif;
}

#mainNav .navbar-brand:focus, #mainNav .navbar-brand:hover {
   color: #f05f40;
}

#mainNav .navbar-nav>li.nav-item>a.nav-link, #mainNav .navbar-nav>li.nav-item>a.nav-link:focus {
   font-size: .9rem;
   font-weight: 700;
   text-transform: uppercase;
   color: #002c6c;
}

#mainNav .navbar-nav>li.nav-item>a.nav-link:hover, #mainNav .navbar-nav>li.nav-item>a.nav-link:focus:hover {
   color: #F05F40;
}

#mainNav .navbar-nav>li.nav-item>a.nav-link.active, #mainNav .navbar-nav>li.nav-item>a.nav-link:focus.active {
   color: #F05F40 !important;
   background-color: transparent;
}

#mainNav .navbar-nav>li.nav-item>a.nav-link.active:hover, #mainNav .navbar-nav>li.nav-item>a.nav-link:focus.active:hover
   {
   background-color: transparent;
}

a.inner-link {
   color: white;
}

a.inner-link:hover {
   color: white;
}

:disabled {
   pointer-events: none;
}

:focus {
   outline: none;
}

:root {
    /* --container--small: 808px; */
    --container--medium: 1016px;
    --container--large: 1224px;
    --viewport--width: calc(100vw - var(
    --scrollbar--width));
}

button {
   border: 0;
   color: inherit;
   cursor: pointer;
   font: inherit;
   text-transform: inherit;
}

input[type="submit"] {
   border: 0;
   color: inherit;
   cursor: pointer;
   font: inherit;
   text-transform: inherit;
}


.ui-state-focus {
   box-shadow: none !important
}

input[type="checkbox"] {
   left: 0;
   opacity: 0;
   position: absolute;
   top: 0;
}

h1, h2, h3, h4 {
   line-height: 140%;
}

label {
   cursor: pointer;
}

p {
   line-height: 170%;
}

path[stroke-linecap] {
   stroke: currentColor;
}

svg {
   display: block;
   pointer-events: none;
}

svg:not([fill]) {
   fill: currentColor;
}

ul {
   line-height: 170%;
}

.site-container.size-large {
   margin: 0 auto;
   max-width: var(- -container--large);
}

.site-container.size-medium {
   margin: 0 auto;
   max-width: var(- -container--medium);
}

.site-button[type="submit"], .site-button {
   background-color: #F47A53;
   border-radius: 8px;
   color: #FFF;
   font-family: "Gotham SSm A", "Gotham SSm B", Verdana, sans-serif;
   font-weight: 700;
   padding: 15px 48px 13px;
}

.alink, #frm2\:renunta {
   color: #FFF !important;
   font-family: "Gotham SSm A", "Gotham SSm B", Verdana, sans-serif;
   display: block;
   text-align: center
}

.alink:hover {
   text-decoration: none !important
}

.site-button.width-full {
   width: 100%;
}

.site-button.text-uppercase {
   text-transform: uppercase;
}

.site-heading {
   font-family: "Gotham SSm A", "Gotham SSm B", Verdana, sans-serif;
}

.site-heading.size-small {
   font-size: 24px;
}

.site-heading.size-medium {
   font-size: 32px;
}

.page-costs .tvai {
   font-size: 20px;
}

.site-heading.size-large {
   font-size: 48px;
}

.tvai {
   font-size: 40px
}

.site-heading.weight-normal {
   font-weight: 400;
}

.site-heading.align-center {
   text-align: center;
}

.site-description.size-large {
   font-size: 22px;
}

.site-description.align-center {
   text-align: center;
}

.site-description.color-grey {
   color: #000000B3;
}

.site-media {
   overflow: hidden;
   position: relative;
}

.site-media.aspect-ratio-1 {
   padding-top: calc(100vh - 142px);
}

.site-media.aspect-ratio-2 {
   padding-top: 50%;
}

.site-media img {
   height: 100%;
   left: 0;
   object-fit: cover;
   position: absolute;
   top: 0;
   width: 100%;
}

.page-header.white {
   color: #FFF;
}

.page-header.blue {
   color: #002C6C;
}

.page-header {
   color: #FFF;
   font-family: "Gotham SSm A", "Gotham SSm B", Verdana, sans-serif;
   position: relative;
   z-index: 1;
}

.page-header .container {
   align-items: center;
   display: flex;
   height: 84px;
   justify-content: space-between;
}

.page-header ul {
   display: flex;
   list-style-type: none;
   margin: 0;
   padding: 0;
}

.page-header li:first-child {
   font-weight: 700;
}

.page-header li:not(:last-child) {
   margin-right: 48px;
}

.page-header button {
   background-color: transparent;
   padding: 0;
}

.page-banner {
   margin: -84px 0 80px;
}

.page-banner .content {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
}

.page-banner .text {
   display: flex;
   flex-direction: column;
   justify-content: center;
   padding: 84px 64px 0 0;
}

.page-banner h1 {
   margin: 0 0 28px;
}

.page-banner p {
   margin: 0;
}

.page-banner .media {
   margin-right: calc(-1 * (( var(- -viewport--width)- var(- -container--large))/2));
   width: calc(var(- -viewport--width)/2);
}

.page-banner ul {
   background-color: #FFF;
   border-radius: 8px;
   color: #FFF;
   display: grid;
   grid-template-columns: repeat(4, 1fr);
   list-style-type: none;
   margin: -24px 0 0;
   overflow: hidden;
   padding: 0;
   position: relative;
   text-align: center;
}

.page-banner li {
   padding: 24px 16px;
}

.page-banner li:first-child {
   background-color: #002C6C;
}

.page-banner li:nth-child(2) {
   background-color: #002C6CB3;
}

.page-banner li:nth-child(3) {
   background-color: #002C6C;
}

.page-banner li:last-child {
   background-color: #002C6CB3;
}

.page-banner span {
   display: block;
}

.page-banner span:first-child {
   font-weight: 700;
   margin-bottom: 16px;
}

.page-banner span:last-child {
   font-size: 20px;
}

.page-about {
   margin-bottom: 64px;
}

.page-about h2 {
   margin: 0 0 32px;
}

.page-about p {
   margin: 0;
}

.page-steps {
   margin-bottom: 80px;
}

.page-steps h2 {
   margin: 0 0 48px;
}

.page-steps p {
   margin: 0;
}

.page-steps ul {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   font-weight: 500;
   list-style-type: none;
   margin: 0;
   padding: 0;
}

.page-steps li {
   align-items: center;
   display: flex;
   flex-direction: column;
}

.page-steps svg {
   color: #002C6C;
   margin-bottom: 16px;
}

.page-steps li:nth-child(2) path:first-child {
   fill: currentColor;
}

.page-steps li:nth-child(2) circle {
   fill: currentColor;
}

#s2a {
   display: flex;
   align-items: center;
   padding-top: 40px
}

.mt_10 {
   margin-top: 10px
}

.mt_20 {
   margin-top: 20px
}

.pt_20 {
   padding-top: 20px
}

.mt_40 {
   margin-top: 40px
}

.mb_20 {
   margin-bottom: 20px
}

.page-faq {
   margin-bottom: 80px;
   padding-top: 80px;
}

.page-faq h2 {
   margin: 0 0 32px;
}

.page-faq section {
   border-radius: 8px;
   overflow: hidden;
}

.page-faq section:not(:last-child) {
   margin-bottom: 32px;
}

.page-faq section[__active] {
   background-color: #002C6C1A;
}

.page-faq section[__active] button {
   background-color: transparent;
   color: #002C6C;
}

.page-faq section[__active] button svg {
   transform: rotate(180deg);
}

.page-faq section[__active] div:nth-child(2) {
   display: block;
}

.page-faq h3 {
   margin: 0;
}

.page-faq button {
   align-items: center;
   background-color: #002C6CB3;
   color: #FFF;
   display: flex;
   height: 96px;
   justify-content: space-between;
   padding: 6px 26px 0 32px;
   text-align: left;
   width: 100%;
}

.page-faq div:nth-child(2) {
   display: none;
}

.page-faq div div {
   padding: 0 20px 32px 32px;
}

.page-faq div div :first-child {
   margin-top: 0;
}

.page-faq div div :last-child {
   margin-bottom: 0;
}

.page-faq div div>* {
   margin: 20px 0;
}

.page-faq ul {
   margin: 0;
   padding: 0 0 0 16px;
}

.page-section-box {
   margin: 0 auto 64px;
   max-width: var(- -container--small);
   padding-top: 144px;
}

.font-slider {
   font-size: 1.8em;
   background-color: #ee6144c9;
   background-size: 50%;
   color: white;
}

.fa-r {
   align-content: right;
}

.carousel-item.gradient-overlay:before {
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: rgb(0, 44, 108);
   background: linear-gradient(0deg, rgba(0, 44, 108, 0.2721463585434174) 0%, rgba(0, 44, 108, 0.7231267507002801) 100%);
   z-index: 1;
}

.text-slide {
   font-size: 1.2em;
   color: #F05F40;
   font-weight: normal;
   text-shadow: 0px 4px 6px rgba(255, 255, 255, 0.85);
}

@media (min-width: 768px) {
   .text-slide {
      font-size: 2.5em;
   }
}

.image-container {
   width: 150px;
   height: 150px;
   background-size: cover;
   background-position: center;
}

@media (min-width: 768px) {
   .image-container {
      width: 200px;
      height: 200px;
   }
}

.image-container.icons {
   width: 80px;
   height: 80px;
   background-size: cover;
   margin-left: auto;
   margin-right: auto;
}

.image-container.icons.image-center {
   display: flex;
   justify-content: center;
   align-items: center;
}

.carousel-caption.pozition-text-carusel {
   position: absolute;
   right: 15%;
   bottom: 50px;
   left: 15%;
   z-index: 10;
   padding-top: 20px;
   padding-bottom: 20px;
   color: #fff;
   text-align: center;
   font-family: "Gotham SSm A", "Gotham SSm B", Verdana, sans-serif;
}

.font.slide {
   font-family: "Gotham SSm A", "Gotham SSm B", Verdana, sans-serif;
   text-shadow: 0px 4px 6px rgba(255, 255, 255, 0.85);
}

.color-background {
   background-color: #f2f2f2;
}

.text-color {
   color: #f05f40;
}

.top-botoom-extra.services {
   padding-bottom: 0px;
}

.image-container.cerc {
   width: 150px;
   height: 150px;
   border-radius: 50%;
   overflow: hidden;
   margin: 0 auto;
}

@media (min-width: 768px) {
   .image-container.cerc {
      width: 200px;
      height: 200px;
   }
}

.image-container.cerc img {
   width: 100%;
   height: 100%;
   object-fit: cover;
}

.punct {
   color: #f05f40;
   font-size: 1.5em;
}

.sageata {
   position: absolute;
   right: 15%;
   bottom: -100px;
   left: 15%;
   z-index: 10;
   padding-top: 20px;
   padding-bottom: 20px;
   text-shadow: 0px 4px 6px rgba(255, 255, 255, 0.85);
}

.v {
   max-width: 1140px;
   padding-top: 50px;
   padding-bottom: 50px;
}

/* ========= Bootstrap replacement utilities ========= */

/* Container */
.container {
   width: 100%;
   max-width: 1140px;
   margin-left: auto;
   margin-right: auto;
   padding-left: 15px;
   padding-right: 15px;
   box-sizing: border-box;
}

/* Grid */
.row {
   display: flex;
   flex-wrap: wrap;
   margin-left: -15px;
   margin-right: -15px;
}

.row > [class*="col-"] {
   padding-left: 15px;
   padding-right: 15px;
   box-sizing: border-box;
}

.col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-12 {
   flex: 0 0 100%; max-width: 100%;
}

@media (min-width: 576px) {
   .col-sm-2 { flex: 0 0 16.666%; max-width: 16.666%; }
   .col-sm-3 { flex: 0 0 25%; max-width: 25%; }
   .col-sm-4 { flex: 0 0 33.333%; max-width: 33.333%; }
   .col-sm-5 { flex: 0 0 41.666%; max-width: 41.666%; }
   .col-sm-6 { flex: 0 0 50%; max-width: 50%; }
   .col-sm-7 { flex: 0 0 58.333%; max-width: 58.333%; }
   .col-sm-8 { flex: 0 0 66.666%; max-width: 66.666%; }
   .col-sm-12 { flex: 0 0 100%; max-width: 100%; }
   .offset-sm-7 { margin-left: 58.333%; }
   .ml-sm-5 { margin-left: 3rem; }
}

.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-6 {
   flex: 0 0 100%; max-width: 100%;
}

@media (min-width: 768px) {
   .col-md-1 { flex: 0 0 8.333%; max-width: 8.333%; }
   .col-md-2 { flex: 0 0 16.666%; max-width: 16.666%; }
   .col-md-3 { flex: 0 0 25%; max-width: 25%; }
   .col-md-4 { flex: 0 0 33.333%; max-width: 33.333%; }
   .col-md-6 { flex: 0 0 50%; max-width: 50%; }
}

.col-lg-8, .col-lg-12 {
   flex: 0 0 100%; max-width: 100%;
}

@media (min-width: 992px) {
   .col-lg-8 { flex: 0 0 66.666%; max-width: 66.666%; }
   .col-lg-12 { flex: 0 0 100%; max-width: 100%; }
}

.pl_3px { padding-left: 3px; }

/* Text */
.text-muted { color: #6c757d; }
.text-white { color: #fff; }
.text-danger { color: #dc3545; }
.bold { font-weight: bold; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }

/* Display */
.d-block { display: block; }
.d-none { display: none; }
.float-right { float: right; }

/* Navbar */
.navbar {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   padding: 0.5rem 1rem;
}

.navbar-brand {
   display: inline-flex;
   align-items: center;
   text-decoration: none;
}

.navbar-nav {
   display: flex;
   list-style: none;
   margin: 0;
   padding: 0;
}

.nav-item {
   list-style: none;
}

.nav-link {
   display: block;
   padding: 0.5rem 1rem;
   text-decoration: none;
}

.navbar-collapse {
   display: flex;
   flex-grow: 1;
   align-items: center;
}

.navbar-toggler {
   display: none;
   padding: 0.25rem 0.75rem;
   font-size: 1.25rem;
   background: transparent;
   border: 1px solid rgba(0,0,0,0.1);
   border-radius: 0.25rem;
   cursor: pointer;
}

.navbar-toggler-icon {
   display: inline-block;
   width: 1.5em;
   height: 1.5em;
   vertical-align: middle;
   background: no-repeat center center;
   background-size: 100% 100%;
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

@media (max-width: 991px) {
   .navbar-toggler { display: block; }
   .navbar-collapse { display: none; flex-basis: 100%; }
   .navbar-collapse.show { display: flex; flex-direction: column; }
   .navbar-nav { flex-direction: column; }
}

.fixed-top {
   position: fixed;
   top: 0;
   left: 0;
   right: 0;
   z-index: 1030;
}

/* Badge */
.badge {
   display: inline-block;
   padding: 0.25em 0.5em;
   font-size: 0.85em;
   font-weight: 600;
   border-radius: 4px;
   line-height: 1;
}

.badge-success { background: #28a745; color: #fff; }
.badge-danger { background: #dc3545; color: #fff; }
.badge-warning { background: #ffc107; color: #333; }
.badge-info { background: #17a2b8; color: #fff; }

/* Alert */
.alert {
   padding: 0.75rem 1rem;
   border-radius: 4px;
   margin-bottom: 1rem;
}

.alert-warning { background: #fff3cd; color: #856404; border: 1px solid #ffeeba; }
.alert-info { background: #d1ecf1; color: #0c5460; border: 1px solid #bee5eb; }

/* Form utilities */
.form-group {
   margin-bottom: 1rem;
}

.form-row {
   display: flex;
   flex-wrap: wrap;
   margin-left: -5px;
   margin-right: -5px;
}

.form-row > [class*="col-"] {
   padding-left: 5px;
   padding-right: 5px;
}

/* Carousel (Bootstrap replacement) */
.carousel {
   position: relative;
   overflow: hidden;
}

.carousel-inner {
   position: relative;
   width: 100%;
   overflow: hidden;
}

.carousel-item {
   display: none;
   position: relative;
   width: 100%;
   transition: opacity 0.6s ease-in-out;
}

.carousel-item.active {
   display: block;
}

.carousel-control-prev, .carousel-control-next {
   position: absolute;
   top: 0;
   bottom: 0;
   z-index: 10;
   display: flex;
   align-items: center;
   justify-content: center;
   width: 15%;
   color: #fff;
   text-decoration: none;
   opacity: 0.5;
   transition: opacity 0.15s ease;
}

.carousel-control-prev { left: 0; }
.carousel-control-next { right: 0; }
.carousel-control-prev:hover, .carousel-control-next:hover { opacity: 0.9; }

.carousel-control-prev-icon, .carousel-control-next-icon {
   display: inline-block;
   width: 20px;
   height: 20px;
   background: no-repeat center center;
   background-size: 100% 100%;
}

.carousel-control-prev-icon {
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e");
}

.carousel-control-next-icon {
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e");
}

/* Misc Bootstrap replacements */
.border-top { border-top: 1px solid #dee2e6; }
.bg-light { background-color: #f8f9fa; }
.list-inline { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; }

/* PanelGrid form alignment */
.ui-panelgrid-blank .ui-panelgrid-cell {
   padding: 0.4rem 0.5rem;
}
.ui-panelgrid .ui-outputlabel {
   font-weight: 600;
}