﻿

/* ************************************
          _
 ___  ___| | ___
/ __|/ __| |/ __|  
\__ \ (__| | (__ 
|___/\___|_|\___|


Descrizione: CTA+.  
Autore: Sergio Di Cosimo
Versione: 1.0 del 23/12/2022

************************************ */

/* ************************************
 RESET
************************************ */

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 1rem;
	font: inherit;
	vertical-align: baseline;
	outline: none
}

/* --- HTML5 display-role reset for older browsers --- */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}


/* ====================================
  GENERAL
==================================== */

:root {
  --text-gray-500: #adb5bd;
  --text-gray-600: #6c757d;
  --text-gray-700: #495057;
  --body-color: #212529;
  --text-color-primary: #2a65af;
  --text-color-info: #0dcaf0;
  --text-font: Roboto,sans-serif;
  --bg-primary: #2a65af;
  --bg-secondary: #6c757d;
  --bg-light: rgba(238, 238, 238, 0.5);
  --bg-info: #0dcaf0;
  --body-bg: #f8f9fa;
  --body-bg-white: #fff;
  --general-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --bar-gradient: linear-gradient(90deg, #2a65af 0%, #025aa5 100%);
  --body-font-size: 1rem;
  --body-font-weight: 400;
  --body-line-height: 1.5;
}

body,
html {
    height: 100%;
    font-size: 1rem;
    line-height: 1.3rem; 
}
body {
  background: url('../images/webp/cherenkov-telescope-array.webp') no-repeat; 
  background-size: cover;
  background-clip: padding-box;
  background-attachment: fixed;
    font-family: "Roboto", sans-serif;
    color: var(--body-color);
    height: 100vh;
    transition: all 2s ease-in-out;
}

/* ====================================
  TYPOGRAPHY
==================================== */

a.email-link { color: var(--bg-primary) !important; }
a.email-link:hover, a.email-link:focus { color: #025aa5 !important; outline: none;}

.clear{ padding: 5px 0; width:100%; clear: both; }

figure { 
box-shadow: 0 10px 6px -6px #777;
}

.cursor-pointer {
cursor: pointer;
}

/* === HEADERS === */

h1, h2, h3, h4, h5 {font-family: 'Roboto', sans-serif;}

h1 {
    font-size: calc(28px + (34 - 28) * ((100vw - 300px) / (1600 - 300)));
    line-height: calc(28px + (32 - 28) * ((100vw - 300px) / (1600 - 300))); 
}
h2 {
    font-size: calc(26px + (30 - 26) * ((100vw - 300px) / (1600 - 300)));
    line-height: calc(26px + (30 - 26) * ((100vw - 300px) / (1600 - 300))); 
}
h3 {
    font-size: calc(24px + (28 - 24) * ((100vw - 300px) / (1600 - 300)));
    line-height: calc(24px + (28 - 24) * ((100vw - 300px) / (1600 - 300))); 
}
h4 {
    font-size: calc(18px + (22 - 18) * ((100vw - 300px) / (1600 - 300)));
    line-height: calc(18px + (22 - 18) * ((100vw - 300px) / (1600 - 300))); 
}
h5 {
    font-size: calc(16px + (20 - 16) * ((100vw - 300px) / (1600 - 300)));
    line-height: calc(16px + (20 - 16) * ((100vw - 300px) / (1600 - 300))); 
}

h1 {
  border-bottom: 1px #ddd solid;
  margin-top: 2.5rem;
  margin-bottom: 1.3rem;
}
h3, h4, h5 {
  border-bottom: 1px #ddd solid;
  margin-top: 1.8rem;
  margin-bottom: 1.3rem;
  font-weight: 600;
}

/* ====================================
  HEADER
==================================== */

.top-header {
position:fixed;
width: 100vw;
top: 0;
left:0;
background: #fff;
z-index: 111;
}

/* --- Scroll Indicator --- */
.scroll-indicator {
  position: fixed;
  top: 0;
  z-index: 111;
  width: 100%;
  background-color: #f1f1f1;
}
.progress-container {
  width: auto;
  height: 5px;
  background: #ccc;
}
.progress-bar {
  height: 5px;
  width: 0%;
  background: var(bar-gradient);
}

/* --- Header-Logo-CTA --- */

.header-logo {
  margin: 0.2rem 0 0 0;
  width: 100%;
  display: block;
}
.header-logo img {
  width: calc(1280px + (1920 - 1280) * ((100vw - 300px) / (1600 - 300)));
  box-shadow: 0 3px 4px 0 rgba(0,0,0,.14),
  0 3px 3px -2px rgba(0,0,0,.2),
  0 1px 8px 0 rgba(0,0,0,.12)
}

/* --- / End Header-Logo-CTA --- */

/* --- Menu --- */

.navbar-light .navbar-nav .nav-link {
  margin: 0rem 1rem 0rem 1rem;
}
.navbar-light .navbar-nav .nav-link {
  color: var(--body-color); !important;
}
.navbar-light .navbar-nav .nav-link.active, .navbar-light .navbar-nav .show>.nav-link {
  color: var(--body-color); !important;
}
.navbar-light .navbar-nav {
  display: flex;
  justify-content:center;
  width: 100%;
}
.dropdown-menu li.nav-item {
  border-bottom: 1 #ddd solid;
}
li a.nav-link::before {
  content: "";
  display: block;
  position: relative;
  width: 120%;
  height: 2px;
  top: 1.5rem;
  left: -10%;
  background-color: var(--text-color-primary);
  transform: scaleX(0);
  transition: transform 0.3s ease;
}
li a.nav-link:hover::before {
  transform: scaleX(1);
}
.nav-link.active, .nav-link:hover {
  font-size: 1.2rem;
}
.navbar-expand-lg { 
  width: 100%; 
  top:0; 
  left: 0;
  text-align: center;
}
.logo-CTA { 
  display: none;
  text-align: start !important;
  margin-top: 0.7rem;
  margin-left: 3rem;
  color: var(--text-color-primary);
  font-size: calc(34px + (64 - 34) * ((100vw - 300px) / (1600 - 300)));
  font-weight: 700;
  }
.logo-CTA-collapsed { 
    display: none;
}
ul.icon-list {
  min-width: 10%;
  margin: 0rem 3rem 0 0;
}
ul.icon-list li:first-child {
  border-left: 1px rgba(0,0,0,.55) solid;
  padding-left: 2rem;
}
ul.icon-list svg {
  color: var(--body-color);
  box-shadow: 0 1px 3px rgb(33 37 41 / 36%), 0 1px 2px rgb(33 37 41 / 72%);
  border-radius: 50%;
  padding: 8px;
  height: 46px;
  width: 46px;
}
ul.icon-list svg:hover, ul.icon-list .active {
  color: var(--text-gray-500);
  font-size: 1.2rem;
}

@media only screen and (min-width: 992px) {
li .nav-link.active::before {
  transform: scaleX(1);
}
ul.icon-list-php {
  min-width: 3rem;
  margin-left: 10rem;
  margin-right: 0rem;
}
}
@media only screen and (max-width: 991px) {
  #main_nav {
    margin-top: 4rem;
    background-color: #fff;
  }
#CTA { 
    display: none;
}
  
.logo-CTA-collapsed { 
  display: inline;
  text-align: start !important;
  margin-top: 0.7rem;
  margin-left: 2rem;
    color: var(--text-color-primary);
    font-size: calc(36px + (64 - 36) * ((100vw - 300px) / (1600 - 300)));
    font-weight: 700;
    transition: all 1s linear;
}
.navbar-expand-lg {
    max-height: 5rem !important;
}
button.navbar-toggler {
  position: absolute;
  right: 3rem;
  top: 0.2rem
}
ul.navbar-nav li { 
  border-bottom: 1px rgba(0,0,0,.55) solid;
}  
ul.icon-list {
  min-width: 3rem;
  margin-left: 0rem;
  display: flex !important;
  flex-direction: row !important;
  justify-content: flex-start !important;
  align-items: center !important;
}
ul.icon-list li:first-child { 
  margin-top: 1rem;
  margin-left: 0;
  border: none;
}
ul.icon-list-php {
  min-width: 3rem;
  margin-left: 0rem;
  display: flex !important;
  flex-direction: row !important;
  justify-content: flex-start !important;
  align-items: center !important;
}
ul.icon-list-php li:first-child {
  margin-top: 1rem;
  margin-left: 0;
  border: none;
}  
}   

/* ====================================
  MAIN BOX
==================================== */

.main-box {
  width: 88vw;
  margin: 13rem  5vw 5rem 5vw !important; 
  box-shadow: 0 1px 3px rgb(0 0 0 / 12%), 0 1px 2px rgb(0 0 0 / 24%);
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}
.main-box-table {
  width: 100%;
  margin: 9rem  -0.1rem 5rem -0.1rem !important; 
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}

@media only screen and (max-width: 992px) {
    .main-box {
      margin: 9rem  2rem 2rem 2rem !important; 
    }
    .box-content {
      padding: 3rem 2rem 3rem 2rem;
    }
}
@media only screen and (max-width: 768px) {
  .main-box {
    margin: 9rem  1rem 2rem 1rem !important; 
    }
  .box-content {
     padding: 2rem 1rem 2rem 1rem;
  }
}
.highlighted-text {
  font-size: 1.3rem !important;
  font-weight: 300;
  font-family: var(--text-font);
  line-height: 1.7rem !important;
}
.box-title {
  background-color: #ffffff;
  color: var(--body-color);
  padding: 1rem 2rem -1rem 2rem !important;
  margin-bottom: 3rem;
  font-weight: 600;
  text-transform: uppercase;
}
.box-sub-title {
  background-color: #ffffff;
  color: var(--body-color);
  padding: 0;
  margin: 1rem 0 0 0;
  text-align: center;
  font-size: 1.5rem !important;
  font-weight: 400;
  border-bottom: 1px solid #ddd;
}
.box-content {
	background-color: #ffffff;
  color: inherit;
  font-size: 1rem;
  line-height: 1.3rem;
  padding: 3rem 3rem 3rem 3rem;
  }
.box-table-content {
    background-color: #ffffff;
    color: inherit;
    font-size: 1rem;
    line-height: 1.3rem;
    padding: 3rem 0rem 3rem 0rem;
}
.box-content p {
  margin-bottom: 1rem;
  font-size: 1rem;
  line-height: 1.3rem;
}
.box-content h4 {
  margin-bottom: 1rem;
  margin-top: 1.5rem;
  color: #2b2e33;
  font-size: 1.2rem;
  line-height: 1.5rem;
  font-weight: 600; 
  border-bottom: 1px #e7eaec solid;
}
.box-content h5 {
  margin-bottom: 1rem;
  margin-top: 1.5rem;
  color: #2b2e33;
  font-size: 1.1rem;
  line-height: 1.3rem;
  font-weight: 600; 
  border-bottom: 1px #e7eaec solid;
}

/* ====================================
  CARDS
==================================== */

.table-card {
  background-color: #fff;
  margin-top: 2rem;
  border-radius: 8px;
  padding: 1rem;
}
.table-card h5 {
  border-bottom: none !important;
  text-decoration: none;
  margin: 0.2rem 0rem !important;
  color: var(--body-color);
  font-size: calc(16px + (18 - 16) * ((100vw - 300px) / (1600 - 300)));
  line-height: calc(16px + (18 - 16) * ((100vw - 300px) / (1600 - 300))); 
  font-weight: 400;
} 
.table-card p {
  margin: 0.5rem 0rem 0.5rem 0rem!important;
}

/* ====================================
  ASIDE BOXES
==================================== */

.aside-panel-content {
  padding: 0rem 0.8rem 0.8rem 0.8rem;
  background-color: #fff; 
  color: var(--body-color);    
  border-radius: 3px;
  margin-bottom: 3rem;
  margin-top: -1.2rem;
  height: auto;
}
.aside-panel-button {
  padding: 1rem;
  background-color: #e2e3e5; 
  border-radius: 3px;
  margin-bottom: 2rem;
}
.aside-list li {
  margin-bottom: 1.5rem;
  padding: 0.8rem 0.5rem;
  border-left: 3px #0d6efd solid;
  border-radius: 3px; 
  box-shadow: 
  0 1px 3px rgba(0,0,0, 0.12),
  0 1px 2px rgba(0,0,0, 0.24);    
}
.aside-list li a {
  text-decoration: none;
}
.aside-list li a::before {
  content: "";
  display: block;
  position: relative;
  width: 100%;
  height: 2px;
  top: 1.5rem;
  left: 0;
  background-color: var(--text-color-primary);
  transform: scaleX(0);
  transition: transform 0.3s ease;
}
.aside-list li a:hover::before {
  transform: scaleX(1);
}

/* ====================================
  FOOTER
==================================== */

.footer {
	  left: 0;
    bottom: 0;
    width: 100%;
    height: 2.5rem;
    background: #fff;
    position: fixed;
    z-index: 111;
    font-size: 1rem;
    font-weight: 300;
    border-top: 1px solid #ddd;
}
.footer span {
    display: flex;
    justify-content: center;
    align-items: center;
    color:i var(--body-color);
}
.footer img {
  max-height: 1.7rem;
  margin: 0.8rem 1.5rem;
  vertical-align: middle;
}

/* ====================================
  BACK TO TOP
==================================== */

#back-to-top {
  font-size: 18px;
  line-height: 40px;
  width: 44px
}
#back-to-top {
 bottom: 2.5rem;
 right: 1rem;
 color: #fff;
 cursor: pointer;
 line-height: 50px;
position: fixed;
display: none;
 text-align: center;
 width: 50px;
 z-index: 131;
 background: #000;
 border-radius: 5px;
}
#back-to-top svg {
 position: relative;
 top: -0.1rem
}

/* ====================================
  TABLE 
==================================== */

.table-basic {
  width: 100%;
  margin-bottom: 1rem;
  color: #212529;
  vertical-align: middle;
  border-color: #dee2e6;
}
.table-basic thead tr {
  color: #212529;
  font-weight: 600;
  vertical-align: middle;
  text-align: center;
  border-bottom: 1px #212529 solid;
  border-top: 1px #212529 solid;
}
.table-basic tbody tr {
  color: #212529;
  font-weight: 300;
  vertical-align: middle;
  border-bottom: 1px #dee2e6 solid;
}

.table-spese {
  width: 100%;
  margin-bottom: 1rem;
  color: #212529;
  vertical-align: middle;
  border: 1px #0dcaf0 solid;
}
.table-spese tr th {
  color: #212529;
  background: #b6effa;
  font-size: 0.6rem;
  line-height: 0.6rem;
  font-weight: 600;
  padding-top: 0.2rem;
  padding-bottom: 0.2rem;
  vertical-align: middle;
  text-align: center;
  border: 1px #025aa5 solid;
}
#td-vs-th {
  color: #212529 !important;
  background: #b6effa !important;
  font-size: 0.6rem  !important;
  line-height: 0.6rem  !important;
  font-weight: 600 !important;
  padding-top: 0.2rem !important;
  padding-bottom: 0.2rem !important;
  vertical-align: middle;
  text-align: center;
  border: 1px #025aa5 solid;
}
#td-vs-th-first-line {
  color: #212529 !important;
  background: #b6effa !important;
  font-size: 0.6rem  !important;
  line-height: 0.6rem  !important;
  font-weight: 600 !important;
  padding-top: 0.2rem !important;
  padding-bottom: 0.2rem !important;
  vertical-align: middle;
  text-align: center;
  border-top: 3px #025aa5 solid;
  border-bottom: 1px #025aa5 solid;
  border-left: 1px #025aa5 solid;
  border-right: 1px #025aa5 solid;
}
#td-vs-th-vincitore {
  color: #212529 !important;
  background: #b6fae3 !important;
  font-size: 0.6rem  !important;
  line-height: 0.6rem  !important;
  font-weight: 600 !important;
  padding-top: 0.2rem !important;
  padding-bottom: 0.2rem !important;
  vertical-align: middle;
  text-align: center;
  border: 1px #025aa5 solid;
}
.table-spese tr:first-child > th {
  font-size: 0.6rem !important;
  line-height: 0.6rem !important;
  font-weight: 600;
  padding-top: 0.2rem !important;
  padding-bottom: 0.2rem !important;
}
.table-spese td {
  color: #212529;
  font-size: 0.8rem;
  line-height: 0.8rem;
  font-weight: 300;
  vertical-align: middle;
  border: 1px #0dcaf0 solid;
}
tbody tr.thick-line {
  border-top: 3px #0dcaf0 solid;
  border-bottom: 1px #0dcaf0 solid;
  border-left: 1px #0dcaf0 solid;
  border-right: 1px #0dcaf0 solid;
}
.table-spese tbody tr {
  color: #212529;
  font-weight: 300;
  vertical-align: middle;
}
.table-spese th.importo-totale {
  background-color: #025aa5;
  color:#fff;
}
.table-spese td.totale-importo {
  background-color: #eee;
}

th.right-border-dark {
  border-right: 1px #212529 solid;
}
td.right-border-light {
  border-right: 1px #dee2e6 solid;
}

table.table-list thead th {
  border-top: 2px #5cc3d7 solid;
  border-left: 1px #5cc3d7 solid;
  border-right: 1px #5cc3d7 solid;
  border-bottom: 0px #5cc3d7 solid;
  background-color: #025aa5;
  color: #5cc3d7;
  font-size: 1rem;
  line-height: 2rem;
  font-weight: 500;
  text-align: center;
  vertical-align: middle;
}
table.table-list tbody td {
  border-top: 1px #5cc3d7 solid;
  border-left: 1px #5cc3d7 solid;
  border-right: 1px #5cc3d7 solid;
  border-bottom: 2px #5cc3d7 solid;
  background-color: #fff;
  font-size: 1rem;
  vertical-align: middle;
  transition: all 500ms;
}
table.table-list tbody tr:hover td {
  box-shadow: 0 2px 2px 0 rgba(92, 195, 215, .44), 
  0 3px 1px -2px rgba(92, 195, 215, .5), 
  0 1px 5px 0 rgba(92, 195, 215, .42);
  background-color: #f4f4f4;
}

#cercaProcedura {
  width: 13rem;
  position: relative;
  font-size: 1rem;
  border-radius: 5px;
  padding: 0.5rem;
  border: 1px solid #ddd;
  margin-bottom: 0.7rem;
}

/* ====================================
  BUTTONS
==================================== */

.btn.btn-registrazione {
	display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
	padding: 0 24px;
	width: 100%;
	margin: 30px 0px 0px 0px;
	text-decoration:none;	 
    -webkit-border-radius: 10px;	
	border-radius: 10px;
	border: 2px solid #1c84c6;
  background-color: #1c84c6;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
	box-shadow: none;
	cursor:pointer;
}
.btn.btn-registrazione div {
	color: #fff;
	font-weight: bold;
	font-size: 1.25rem;
}
.btn.btn-registrazione div svg {
	font-size: 1.5rem;
}
.btn.btn-sm {
	font-weight: bold;
	font-size: 0.6rem;
}
@media (max-width:600px) {
  .btn.btn-registrazione {
    font-size: 1.1rem;
    line-height: 1.4rem;
    padding: 0
}
}

.btn-export {
  height: 2.6rem;
  color:#fff
}
.btn-export-excel {
  border-bottom:1px #ddd solid; 
  cursor:pointer
}
.btn-export-pdf {
  margin-top: 0.5rem; 
  border-bottom:1px #ddd solid; 
  cursor:pointer
}

/* ************************************
 RIPPLE EFFECT
************************************ */

.ripple {
  position: relative;
  overflow: hidden;
  transform: translate3d(0, 0, 0);
}
.ripple:after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  pointer-events: none;
  background-image: radial-gradient(circle, #0d6efd 10%, transparent 10.01%);
  background-repeat: no-repeat;
  background-position: 50%;
  transform: scale(0, 0);
  opacity: .2;
  transition: 0;
}
.ripple:hover:after, .ripple:focus:after {
  transform: scale(10, 10);
  opacity: 0;
  transition: transform .5s, opacity 1s;
}

/* ************************************
 FORM
************************************ */

fieldset.CTAplus {
	padding: 20px;
	border-radius: 8px;
	margin: 2rem auto;
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .14), 
    			0 3px 1px -2px rgba(0, 0, 0, .2), 
    			0 1px 5px 0 rgba(0, 0, 0, .12);
}
fieldset.CTAplus legend {
	display:block;
	font-weight: 600;
	font-size: 1.8rem;
	width: auto;
	color: #444 !important;
	padding: 0.5rem 2rem;
  border-radius: 5px;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .14), 
  0 3px 1px -2px rgba(0, 0, 0, .2), 
  0 1px 5px 0 rgba(0, 0, 0, .12);
	margin-top:-40px;
	background-color: #fff;
  text-transform: uppercase;
}
legend.CTAplus {
	display:block;
	font-weight: 600;
	font-size: 1.5rem;
	width: auto;
	color: #444 !important;
	padding: 0.5rem 2rem;
  border-radius: 5px;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .14), 
  0 3px 1px -2px rgba(0, 0, 0, .2), 
  0 1px 5px 0 rgba(0, 0, 0, .12);
	margin-top: -2.5rem;
  margin-left: 1rem;
	background-color: #fff;
  text-transform: uppercase;
}
#SezioneComune, #ReclutamentoPersonale, #SezioneAcquisizioni {
	padding: 1.5rem;
  margin: 1.5rem 1rem;
}
.campiobbligatori {
  color: #ff0000; 
}  
legend {
	float:left;
	margin-top:-20px;
	font-weight: 500;
	color: #3E5B98 !important;
}
legend + * {
	clear:both;
}
.input-group #show-password {
background-color:#1c84c6; 
color: #fff; 
cursor:pointer"
}
.input-group #show-password svg {
  width: 2.5rem;
  margin: 0.4rem auto 0.4rem;
}
h3.registration-success {
    font-size: 1.3rem;
    font-weight: 400;
	color: #73AF55
}
input::placeholder {
  font-size: 1.1rem;
  font-family: 'Lato', sans-serif;
  font-style:italic;
}
h3.registration-error {
    font-size: 1.3rem;
    font-weight: 400;
	color: #D06079
}

/* ************************************
 CHECKBOX
************************************ */

.form-check {
    display: block;
    min-height: 1.5rem;
    padding-left: 1.5em;
    margin-bottom: .125rem;
}
.form-check-input.is-valid, .was-validated .form-check-input:valid {
    border-color: #198754;
}
.form-check .form-check-input {
    float: left;
    margin-left: -1.5em;
}
.form-check-input {
    width: 1em;
    height: 1em;
    margin-top: .25em;
    vertical-align: top;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    border: 1px solid rgba(0,0,0,.25);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    transition: background-color .15s ease-in-out,background-position .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
.form-check-input label {
    display: inline-block;
}
/** =======================
 SVG
 ===========================*/
 
.CTAplus svg {
  width: 100px;
  display: block;
  margin: 20px auto 20px;
}
.CTAplus .path {
  stroke-dasharray: 1000;
  stroke-dashoffset: 0;
}
.CTAplus .path.circle {
  -webkit-animation: dash 0.9s ease-in-out;
  animation: dash 0.9s ease-in-out;
  animation-delay: 550ms;
}
.CTAplus .path.line {
  stroke-dashoffset: 1000;
  -webkit-animation: dash 0.9s 0.35s ease-in-out forwards;
  animation: dash 0.9s 0.35s ease-in-out forwards;
  animation-delay: 500ms;
}
.CTAplus .path.check {
  stroke-dashoffset: -100;
  -webkit-animation: dash-check 0.9s 0.35s ease-in-out forwards;
  animation: dash-check 0.9s 0.35s ease-in-out forwards;
  animation-delay: 500ms;
}
.CTAplus p.success {
  color: #73AF55;
}
.CTAplus p.error {
  color: #D06079;
}
@-webkit-keyframes dash {
  0% {
    stroke-dashoffset: 1000;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
@keyframes dash {
  0% {
    stroke-dashoffset: 1000;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
@-webkit-keyframes dash-check {
  0% {
    stroke-dashoffset: -100;
  }
  100% {
    stroke-dashoffset: 900;
  }
}
@keyframes dash-check {
  0% {
    stroke-dashoffset: -100;
  }
  100% {
    stroke-dashoffset: 900;
  }
}

/* ************************************
 TABS
************************************ */

.nav-tabs.nav-tabs-ar {
    font-family: "Roboto", sans-serif;
    background-color: #fafafa;
   box-shadow: 
  		0 1px 3px rgba(0,0,0, 0.12),
    	0 1px 2px rgba(0,0,0, 0.24);      
}
.nav {
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
}
@media (min-width: 370px) {
.nav-tabs.nav-tabs-ar li a:hover, .nav-tabs.nav-tabs-ar li.active a, .nav-tabs.nav-tabs-ar li.active a:hover, .nav-tabs.nav-tabs-ar li.active a:focus {
    padding-right: 10px;
    padding-left: 10px;
}
}

.nav-tabs.nav-tabs-ar li.active a {
    position: relative;
    z-index: 2;
}
.nav-tabs.nav-tabs-ar li a:hover, .nav-tabs.nav-tabs-ar li a.active, .nav-tabs.nav-tabs-ar li a.active:hover, .nav-tabs.nav-tabs-ar li a.active:focus {
    border-bottom: solid 3px #0099da;
    background-color: #efefef;
    color: #0099da;
    padding-right: 20px;
    padding-left: 20px;
    font-size: 1rem;
    font-weight: 500;
}
@media (min-width: 370px) {
.nav-tabs.nav-tabs-ar li a {
    padding-right: 10px;
    padding-left: 10px;
}
}
.nav-tabs.nav-tabs-ar li a {
    margin-top: -3px;
    margin-right: 0;
    margin-left: 0;
    border-radius: 0;
    color: #555;
    transition: padding 0.2s, border-bottom 0.2s;
    -moz-transition: padding 0.2s, border-bottom 0.2s;
    -webkit-transition: padding 0.2s, border-bottom 0.2s;
    padding-right: 20px;
    padding-left: 20px;
    background-color: #fafafa;
    margin-left: -1px;
    border: 0;
}
.nav-tabs>li.active>a, .nav-tabs>li.active>a:focus, .nav-tabs>li.active>a:hover {
    color: #555;
    cursor: default;
    background-color: #fff;
    border-bottom-color: transparent;
}
.nav-tabs li a {
    border-radius: 2px;
}
.nav-tabs>li>a {
    margin-right: 2px;
    line-height: 1.42857143;
    border-radius: 4px 4px 0 0;
}
.nav>li>a {
    position: relative;
    display: block;
    padding: 10px 20px;
}
.tab-pane
 {
	margin-left: calc(10px + (50 - 10) * ((100vw - 300px) / (1600 - 300)));
	margin-right: calc(10px + (50 - 10) * ((100vw - 300px) / (1600 - 300)));
}

/* ************************************
 RESPONSIVE
************************************ */

/* Extra small devices (phones, 600px and down) */
@media only screen and (max-width: 600px) {}

/* Small devices (portrait tablets and large phones, 600px and up) */
@media only screen and (min-width: 600px) {}

/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 768px) {}

/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {}

/* ************************************
          _
 ___  ___| | ___
/ __|/ __| |/ __|  
\__ \ (__| | (__ 
|___/\___|_|\___|


Descrizione: Classes.  
Autore: Sergio Di Cosimo
Versione: 1.0 del 15/12/2019

************************************ */

/* ----------------------------------
    03. Padding
------------------------------------- */

.p-0 {
    padding: 0px }

.p-5 {
    padding: 5px }

.p-10 {
    padding: 10px }

.p-15 {
    padding: 15px }

.p-20 {
    padding: 20px }

.p-25 {
    padding: 25px }

.p-30 {
    padding: 30px }

.p-35 {
    padding: 35px }

.p-40 {
    padding: 40px }

.p-45 {
    padding: 45px }

.p-50 {
    padding: 50px }

.p-lr-0 {
    padding-left: 0;
    padding-right: 0; }

.p-lr-5 {
    padding-left: 5px;
    padding-right: 5px; }

.p-lr-10 {
    padding-left: 10px;
    padding-right: 10px; }

.p-lr-15 {
    padding-left: 15px;
    padding-right: 15px; }

.p-lr-20 {
    padding-left: 20px;
    padding-right: 20px; }

.p-lr-25 {
    padding-left: 25px;
    padding-right: 25px; }

.p-lr-30 {
    padding-left: 30px;
    padding-right: 30px; }

.p-lr-35 {
    padding-left: 35px;
    padding-right: 35px; }

.p-lr-40 {
    padding-left: 40px;
    padding-right: 40px; }

.p-lr-45 {
    padding-left: 45px;
    padding-right: 45px; }

.p-lr-50 {
    padding-left: 50px;
    padding-right: 50px; }

.p-tb-0 {
    padding-top: 0;
    padding-bottom: 0; }

.p-tb-5 {
    padding-top: 5px;
    padding-bottom: 5px; }

.p-tb-10 {
    padding-top: 10px;
    padding-bottom: 10px; }

.p-tb-15 {
    padding-top: 15px;
    padding-bottom: 15px; }

.p-tb-20 {
    padding-top: 20px;
    padding-bottom: 20px; }

.p-tb-25 {
    padding-top: 25px;
    padding-bottom: 25px; }

.p-tb-30 {
    padding-top: 30px;
    padding-bottom: 30px; }

.p-tb-35 {
    padding-top: 35px;
    padding-bottom: 35px; }

.p-tb-40 {
    padding-top: 40px;
    padding-bottom: 40px; }

.p-tb-45 {
    padding-top: 45px;
    padding-bottom: 45px; }

.p-tb-50 {
    padding-top: 50px;
    padding-bottom: 50px; }

.p-t-0 {
    padding-top: 0 }

.p-t-5 {
    padding-top: 5px }

.p-t-10 {
    padding-top: 10px }

.p-t-15 {
    padding-top: 15px }

.p-t-20 {
    padding-top: 20px }

.p-t-25 {
    padding-top: 25px }

.p-t-30 {
    padding-top: 30px }

.p-t-35 {
    padding-top: 35px }

.p-t-40 {
    padding-top: 40px }

.p-t-45 {
    padding-top: 45px }

.p-t-50 {
    padding-top: 50px }

.p-b-0 {
    padding-bottom: 0 }

.p-b-5 {
    padding-bottom: 5px }

.p-b-10 {
    padding-bottom: 10px }

.p-b-15 {
    padding-bottom: 15px }

.p-b-20 {
    padding-bottom: 20px }

.p-b-25 {
    padding-bottom: 25px }

.p-b-30 {
    padding-bottom: 30px }

.p-b-35 {
    padding-bottom: 35px }

.p-b-40 {
    padding-bottom: 40px }

.p-b-45 {
    padding-bottom: 45px }

.p-b-50 {
    padding-bottom: 50px }

.p-l-0 {
    padding-left: 0 }

.p-l-5 {
    padding-left: 5px }

.p-l-10 {
    padding-left: 10px }

.p-l-15 {
    padding-left: 15px }

.p-l-20 {
    padding-left: 20px }

.p-l-25 {
    padding-left: 25px }

.p-l-30 {
    padding-left: 30px }

.p-l-35 {
    padding-left: 35px }

.p-l-40 {
    padding-left: 40px }

.p-l-45 {
    padding-left: 45px }

.p-l-50 {
    padding-left: 50px }

.p-r-0 {
    padding-right: 0 }

.p-r-5 {
    padding-right: 5px }

.p-r-10 {
    padding-right: 10px }

.p-r-15 {
    padding-right: 15px }

.p-r-20 {
    padding-right: 20px }

.p-r-25 {
    padding-right: 25px }

.p-r-30 {
    padding-right: 30px }

.p-r-35 {
    padding-right: 35px }

.p-r-40 {
    padding-right: 40px }

.p-r-45 {
    padding-right: 45px }

.p-r-50 {
    padding-right: 50px }

/* ----------------------------------
    04. Margin
------------------------------------- */

.m-0 {
    margin: 0
}

.m-5 {
    margin: 5px
}

.m-10 {
    margin: 10px
}

.m-15 {
    margin: 15px
}

.m-20 {
    margin: 20px
}

.m-25 {
    margin: 25px
}

.m-30 {
    margin: 30px
}

.m-35 {
    margin: 35px
}

.m-40 {
    margin: 40px
}

.m-45 {
    margin: 45px
}

.m-50 {
    margin: 50px
}

.m-t-0 {
    margin-top: 0
}

.m-t-5 {
    margin-top: 5px
}

.m-t-10 {
    margin-top: 10px
}

.m-t-15 {
    margin-top: 15px
}

.m-t-20 {
    margin-top: 20px
}

.m-t-25 {
    margin-top: 25px
}

.m-t-30 {
    margin-top: 30px
}

.m-t-35 {
    margin-top: 35px
}

.m-t-40 {
    margin-top: 40px
}

.m-t-45 {
    margin-top: 45px
}

.m-t-50 {
    margin-top: 50px
}

.m-t-60 {
    margin-top: 60px
}

.m-t-70 {
    margin-top: 70px
}

.m-t-80 {
    margin-top: 80px
}

.m-t-90 {
    margin-top: 90px
}

.m-t-100 {
    margin-top: 100px
}

.m-b-0 {
    margin-bottom: 0
}

.m-b-5 {
    margin-bottom: 5px
}

.m-b-10 {
    margin-bottom: 10px
}

.m-b-15 {
    margin-bottom: 15px
}

.m-b-20 {
    margin-bottom: 20px
}

.m-b-25 {
    margin-bottom: 25px
}

.m-b-30 {
    margin-bottom: 30px
}

.m-b-35 {
    margin-bottom: 35px
}

.m-b-40 {
    margin-bottom: 40px }

.m-b-45 {
    margin-bottom: 45px }

.m-b-50 {
    margin-bottom: 50px }

.m-b-60 {
    margin-bottom: 60px }

.m-b-70 {
    margin-bottom: 70px }
    
.m-b-80 {
    margin-bottom: 80px }
    
.m-b-90 {
    margin-bottom: 90px }
    
.m-b-100 {
    margin-bottom: 100px }

.m-l-0 {
    margin-left: 0
}

.m-l-5 {
    margin-left: 5px
}

.m-l-10 {
    margin-left: 10px
}

.m-l-15 {
    margin-left: 15px
}

.m-l-20 {
    margin-left: 20px
}

.m-l-25 {
    margin-left: 25px
}

.m-l-30 {
    margin-left: 30px
}

.m-l-35 {
    margin-left: 35px
}

.m-l-40 {
    margin-left: 40px
}

.m-l-45 {
    margin-left: 45px
}
.m-l-50 {
    margin-left: 50px
}
.m-r-0 {
    margin-right: 0
}
.m-r-a {
    margin-right: auto
}
.m-r-5 {
    margin-right: 5px
}
.m-r-10 {
    margin-right: 10px
}
.m-r-15 {
    margin-right: 0.9375
}
.m-r-20 {
    margin-right: 1.25rem
}
.m-r-25 {
    margin-right: 1.5625rem
}
.m-r-30 {
    margin-right: 1.875rem
}
.m-r-35 {
    margin-right: 2.1875rem
}
.m-r-40 {
    margin-right: 2.5rem
}
.m-r-45 {
    margin-right: 2.8125rem
}
.m-r-50 {
    margin-right: 3.125rem
}

/* ----------------------------------
    6. Position
------------------------------------- */

.position-inherit {
  position: inherit !important; }

/* top */
.top-auto {
  top: auto; }

.top-inherit {
  top: inherit !important; }

.top-0 {
  top: 0 !important; }

.top-1 {
  top: 1px; }

.top-2 {
  top: 2px; }

.top-3 {
  top: 3px; }

.top-4 {
  top: 4px; }

.top-5 {
  top: 5px; }

.top-6 {
  top: 6px; }

.top-7 {
  top: 7px; }

.top-8 {
  top: 8px; }

.top-9 {
  top: 9px; }

.top-10 {
  top: 10px; }

.top-15 {
  top: 15px; }

.top-20 {
  top: 20px; }

.top-25 {
  top: 25px; }

.top-30 {
  top: 30px; }

.top-35 {
  top: 35px; }

.top-40 {
  top: 40px; }

.top-45 {
  top: 45px; }

.top-50 {
  top: 50px; }

.top-minus1 {
  top: -1px; }

.top-minus2 {
  top: -2px; }

.top-minus3 {
  top: -3px; }

.top-minus4 {
  top: -4px; }

.top-minus5 {
  top: -5px; }

.top-minus6 {
  top: -6px; }

.top-minus7 {
  top: -7px; }

.top-minus8 {
  top: -8px; }

.top-minus9 {
  top: -9px; }

.top-minus10 {
  top: -10px; }

.top-minus15 {
  top: -15px; }

.top-minus20 {
  top: -20px; }

.top-minus25 {
  top: -25px; }

.top-minus30 {
  top: -30px; }

.top-minus35 {
  top: -35px; }

.top-minus40 {
  top: -40px; }

/* bottom */
.bottom-auto {
  bottom: auto; }

.bottom-0 {
  bottom: 0; }

.bottom-1 {
  bottom: 1px; }

.bottom-2 {
  bottom: 2px; }

.bottom-3 {
  bottom: 3px; }

.bottom-4 {
  bottom: 4px; }

.bottom-5 {
  bottom: 5px; }

.bottom-6 {
  bottom: 6px; }

.bottom-7 {
  bottom: 7px; }

.bottom-8 {
  bottom: 8px; }

.bottom-9 {
  bottom: 9px; }

.bottom-10 {
  bottom: 10px; }

.bottom-15 {
  bottom: 15px; }

.bottom-20 {
  bottom: 20px; }

.bottom-25 {
  bottom: 25px; }

.bottom-30 {
  bottom: 30px; }

.bottom-35 {
  bottom: 35px; }

.bottom-40 {
  bottom: 40px; }

.bottom-45 {
  bottom: 45px; }

.bottom-50 {
  bottom: 50px; }

/* left */
.left-auto {
  left: auto; }

.left-0 {
  left: 0; }

.left-1 {
  left: 1px; }

.left-2 {
  left: 2px; }

.left-3 {
  left: 3px; }

.left-4 {
  left: 4px; }

.left-5 {
  left: 5px; }

.left-6 {
  left: 6px; }

.left-7 {
  left: 7px; }

.left-8 {
  left: 8px; }

.left-9 {
  left: 9px; }

.left-10 {
  left: 10px; }

.left-15 {
  left: 15px; }

.left-20 {
  left: 20px; }

.left-25 {
  left: 25px; }

.left-30 {
  left: 30px; }

.left-35 {
  left: 35px; }

.left-40 {
  left: 40px; }

.left-45 {
  left: 45px; }

.left-50 {
  left: 50px; }

/* right */
.right-auto {
  right: auto; }

.right-0 {
  right: 0; }

.right-1 {
  right: 1px; }

.right-2 {
  right: 2px; }

.right-3 {
  right: 3px; }

.right-4 {
  right: 4px; }

.right-5 {
  right: 5px; }

.right-6 {
  right: 6px; }

.right-7 {
  right: 7px; }

.right-8 {
  right: 8px; }

.right-9 {
  right: 9px; }

.right-10 {
  right: 10px; }

/* ----------------------------------
    07. Width
------------------------------------- */

.w-10 {
  width: 10px; }

.w-15 {
  width: 15px; }

.w-20 {
  width: 20px; }

.w-25 {
  width: 25px; }

.w-30 {
  width: 30px; }

.w-35 {
  width: 35px; }

.w-40 {
  width: 40px; }

.w-45 {
  width: 45px; }

.w-50 {
  width: 50px; }

.w-55 {
  width: 55px; }

.w-60 {
  width: 60px; }

.w-65 {
  width: 65px; }

.w-70 {
  width: 70px; }

.w-75 {
  width: 75px; }

.w-80 {
  width: 80px; }

.w-85 {
  width: 85px; }

.w-90 {
  width: 90px; }

.w-100 {
  width: 100px; }

.w-120 {
  width: 120px; }

.w-130 {
  width: 130px; }

.w-150 {
  width: 150px; }

.w-180 {
  width: 180px; }

.w-200 {
  width: 200px; }

.w-250 {
  width: 250px; }

.w-300 {
  width: 300px; }

.w-350 {
  width: 350px; }

.w-400 {
  width: 400px; }

.w-450 {
  width: 450px; }

.w-500 {
  width: 500px; }

.w-550 {
  width: 550px; }

.w-600 {
  width: 600px; }

.w-650 {
  width: 650px; }

.w-700 {
  width: 700px; }

.w-750 {
  width: 750px; }

.w-800 {
  width: 800px; }

.w-850 {
  width: 850px; }

.w-900 {
  width: 900px; }

.w-950 {
  width: 950px; }

.w-1000 {
  width: 1000px; }

.w-10-p {
  width: 10%; }

.w-12-p {
  width: 12%; }

.w-15-p {
  width: 15%; }

.w-20-p {
  width: 20%; }

.w-25-p {
  width: 25%; }

.w-30-p {
  width: 30%; }

.w-35-p {
  width: 35%; }

.w-40-p {
  width: 40%; }

.w-45-p {
  width: 45%; }

.w-50-p {
  width: 50%; }

.w-55-p {
  width: 55%; }

.w-60-p {
  width: 60%; }

.w-65-p {
  width: 65%; }

.w-70-p {
  width: 70%; }

.w-75-p {
  width: 75%; }

.w-80-p {
  width: 80%; }

.w-85-p {
  width: 85%; }

.w-90-p {
  width: 90%; }

.w-95-p {
  width: 95%; }

.w-100-p {
  width: 100%; }

.w-auto {
  width: auto; }

/* -------------------------------
    07. Height
------------------------------------- */

.h-10-p {
  height: 10%; }

.h-12-p {
  height: 12%; }

.h-15-p {
  height: 15%; }

.h-20-p {
  height: 20%; }

.h-25-p {
  height: 25%; }

.h-30-p {
  height: 30%; }

.h-35-p {
  height: 35%; }

.h-40-p {
  height: 40%; }

.h-45-p {
  height: 45%; }

.h-50-p {
  height: 50%; }

.h-55-p {
  height: 55%; }

.h-60-p {
  height: 60%; }

.h-65-p {
  height: 65%; }

.h-70-p {
  height: 70%; }

.h-75-p {
  height: 75%; }

.h-80-p {
  height: 80%; }

.h-85-p {
  height: 85%; }

.h-90-p {
  height: 90%; }

.h-95-p {
  height: 95%; }

.h-100-p {
  height: 100%; }

.h-10 {
  height: 10px; }

.h-15 {
  height: 15px; }

.h-20 {
  height: 20px; }

.h-25 {
  height: 25px; }

.h-30 {
  height: 30px; }

.h-35 {
  height: 35px; }

.h-40 {
  height: 40px; }

.h-45 {
  height: 45px; }

.h-50 {
  height: 50px; }

.h-60 {
  height: 60px; }

.h-70 {
  height: 70px; }

.h-80 {
  height: 80px; }

.h-90 {
  height: 90px; }

.h-100 {
  height: 100px; }

.h-130 {
  height: 130px; }

.h-150 {
  height: 150px; }

.h-200 {
  height: 200px; }

.h-250 {
  height: 250px; }

.h-270 {
  height: 270px; }

.h-300 {
  height: 300px; }

.h-350 {
  height: 350px; }

.h-400 {
  height: 400px; }

.h-450 {
  height: 450px; }

.h-500 {
  height: 500px; }

.h-550 {
  height: 550px; }

.h-600 {
  height: 600px; }

.h-650 {
  height: 650px; }

.h-700 {
  height: 700px; }

.h-800 {
  height: 800px; }

.h-900 {
  height: 900px; }

.h-1000 {
  height: 1000px; }

.h-auto {
  height: auto !important; }

/* ----------------------------------
    09. Line Height
------------------------------------- */

.l-h-10 {
  line-height: 10px; }

.l-h-13 {
  line-height: 13px; }

.l-h-18 {
  line-height: 18px; }

.l-h-20 {
  line-height: 20px; }

.l-h-24 {
  line-height: 24px; }

.l-h-22 {
  line-height: 22px; }

.l-h-26 {
  line-height: 26px; }

.l-h-28 {
  line-height: 28px; }

.l-h-30 {
  line-height: 30px; }

.l-h-35 {
  line-height: 35px; }

.l-h-40 {
  line-height: 40px; }

.l-h-45 {
  line-height: 45px; }

.l-h-50 {
  line-height: 50px; }

.l-h-55 {
  line-height: 55px; }

.l-h-60 {
  line-height: 60px; }

.l-h-65 {
  line-height: 65px; }

.l-h-70 {
  line-height: 70px; }

.l-h-75 {
  line-height: 75px; }

.l-h-80 {
  line-height: 80px; }

.l-h-85 {
  line-height: 85px; }

.l-h-90 {
  line-height: 90px; }

.l-h-95 {
  line-height: 95px; }

.l-h-100 {
  line-height: 100px; }

.l-h-110 {
  line-height: 110px; }

.l-h-120 {
  line-height: 120px; }

/* ----------------------------------
    12. Borders
------------------------------------- */

/* border radius */
.b-r-1 {
  border-radius: 1px; }

.b-r-2 {
  border-radius: 2px; }

.b-r-3 {
  border-radius: 3px; }

.b-r-4 {
  border-radius: 4px; }

.b-r-5 {
  border-radius: 5px; }

.b-r-6 {
  border-radius: 6px; }

.b-r-7 {
  border-radius: 7px; }

.b-r-8 {
  border-radius: 8px; }

.b-r-9 {
  border-radius: 9px; }

.b-r-10 {
  border-radius: 10px; }

.b-r-20 {
  border-radius: 20px; }

.b-r-30 {
  border-radius: 30px; }

.b-r-50 {
  border-radius: 50%; }

.b-r-100 {
  border-radius: 100%; }

.b-r-none {
  border-radius: 0; }

/* boder width */
.b-w-all {
  border: 1px solid #ededed; }

/* boder width */
.b-w-1 {
  border-width: 1px !important; }

.b-w-2 {
  border-width: 2px !important; }

.b-w-3 {
  border-width: 3px !important; }

.b-w-4 {
  border-width: 4px !important; }

.b-w-5 {
  border-width: 5px !important; }

.b-w-6 {
  border-width: 6px !important; }

.b-w-7 {
  border-width: 7px !important; }

.b-w-8 {
  border-width: 8px !important; }

.b-w-9 {
  border-width: 9px !important; }

.b-w-10 {
  border-width: 10px !important; }

.b-w-20 {
  border-width: 20px !important; }

.b-top {
  border-top: 1px solid; }

.b-bottom {
  border-bottom: 1px solid; }

.b-left {
  border-left: 1px solid; }

.b-right {
  border-right: 1px solid; }

.b-lr {
  border-left: 1px solid;
  border-right: 1px solid; }

.b-tb {
  border-top: 1px solid;
  border-bottom: 1px solid; }

/* border color */
.b-c-white {
  border-color: #fff; }

.b-c-black {
  border-color: #222; }

.b-c-dark {
  border-color: #232323; }

.b-c-light {
  border-color: #ededed; }

.b-c-base {
  border-color: #444; }

/* boder style */
.b-dotted {
  border-style: dotted !important; }

.b-dashed {
  border-style: dashed !important; }

.b-solid {
  border-style: solid !important; }

.b-double {
  border-style: double !important; }

.b-groove {
  border-style: groove !important; }

.b-ridge {
  border-style: ridge !important; }

.b-inset {
  border-style: inset !important; }

.b-outset {
  border-style: outset !important; }

.b-none {
  border-style: none !important; }

.b-hidden {
  border-style: hidden !important; }

.b-transperent {
  border-color: transparent !important; }

.b-top-0 {
  border-top: 0 !important; }

.b-bottom.0 {
  border-bottom: 0 !important; }

.b-right-0 {
  border-right: 0 !important; }

.b-left-0 {
  border-left: 0 !important; }

/* transparent border */
.b-black-light {
  border-color: rgba(0, 0, 0, 0.1) !important; }

.b-white-light {
  border-color: rgba(255, 255, 255, 0.1) !important; }

/* ----------------------------------
    13. Font Size
------------------------------------- */

.f-10 {
    font-size: 10px }

.f-12 {
    font-size: 12px }

.f-14 {
    font-size: 14px }

.f-16 {
    font-size: 16px }

.f-18 {
    font-size: 18px }

.f-19 {
    font-size: 19px }

.f-20 {
    font-size: 20px }

.f-22 {
    font-size: 22px }

.f-24 {
    font-size: 24px }

.f-26 {
    font-size: 26px }

.f-28 {
    font-size: 28px }

.f-30 {
    font-size: 30px }

.f-32 {
    font-size: 32px }

.f-34 {
    font-size: 34px }

.f-36 {
    font-size: 36px }

.f-38 {
    font-size: 38px }

.f-40 {
    font-size: 40px }

.f-42 {
    font-size: 42px }

.f-44 {
    font-size: 44px }

.f-46 {
    font-size: 46px }

.f-48 {
    font-size: 48px }

.f-50 {
    font-size: 50px }

.f-52 {
    font-size: 52px }

.f-54 {
    font-size: 54px }

.f-56 {
    font-size: 56px }

.f-58 {
    font-size: 58px }

.f-60 {
    font-size: 60px }

.f-62 {
    font-size: 62px }

.f-64 {
    font-size: 64px }

.f-66 {
    font-size: 66px }

.f-68 {
    font-size: 68px }

.f-70 {
    font-size: 70px }

.f-72 {
    font-size: 72px }

.f-74 {
    font-size: 74px }

.f-76 {
    font-size: 76px }

.f-78 {
    font-size: 78px }

.f-80 {
    font-size: 80px }

.t-extra-small {
  font-size: 11px;
  line-height: 14px; }

.t-small {
  font-size: 12px;
  line-height: 20px; }

.t-medium {
  font-size: 16px;
  line-height: 23px; }

.t-large {
  font-size: 18px;
  line-height: 26px; }

.t-medium-large {
  font-size: 24px;
  line-height: 28px; }

.t-extra-large {
  font-size: 42px;
  line-height: 44px; }

.title-large {
  font-size: 100px;
  line-height: 95px; }

.title-extra-large {
  font-size: 130px;
  line-height: 120px; }

/* ----------------------------------
    14. Text Space
------------------------------------- */

.no-letter-spacing {
  letter-spacing: 0px; }

.l-sp-1 {
  letter-spacing: 1px; }

.l-sp-2 {
  letter-spacing: 2px; }

.l-sp-3 {
  letter-spacing: 3px; }

.l-sp-4 {
  letter-spacing: 4px; }

.l-sp-5 {
  letter-spacing: 5px; }

.l-sp-6 {
  letter-spacing: 6px; }

.l-sp-7 {
  letter-spacing: 7px; }

.l-sp-8 {
  letter-spacing: 8px; }

.l-sp-9 {
  letter-spacing: 9px; }

.l-sp-10 {
  letter-spacing: 10px; }

.l-sp-m-1 {
  letter-spacing: -1px; }

.l-sp-m-2 {
  letter-spacing: -2px; }

.l-sp-m-3 {
  letter-spacing: -3px; }

.l-sp-m-4 {
  letter-spacing: -4px; }

.l-sp-m-5 {
  letter-spacing: -5px; }

.l-sp-m-6 {
  letter-spacing: -6px; }

.l-sp-m-7 {
  letter-spacing: -7px; }

.l-sp-m-8 {
  letter-spacing: -8px; }

.l-sp-m-9 {
  letter-spacing: -9px; }

.l-sp-m-10 {
  letter-spacing: -10px; }


/* ----------------------------------
    15. Font Weight
------------------------------------- */

.f-w-3 {
    font-weight: 300 }

.f-w-4 {
    font-weight: 400 }

.f-w-5 { 
    font-weight: 500 }

.f-w-6 {
    font-weight: 600 }

.f-w-7 {
    font-weight: 700 }

.f-w-8 { 
    font-weight: 800 }

.f-w-9 {
    font-weight: 900 }

/* ----------------------------------
    16. Font Style
------------------------------------- */

.f-s-normal {
    font-style: normal }

.f-s-italic {
    font-style: italic }

.f-s-oblique {
    font-style: oblique }

.f-s-initial {
    font-style: initial }

.f-s-inherit {
    font-style: inherit }

/* ----------------------------------
    17. Text 
------------------------------------- */

.t-center {
    text-align: center }

.t-left {
    text-align: left }

.t-right {
    text-align: right }

.t-capitalize {
    text-transform: capitalize }

.t-uppercase {
    text-transform: uppercase }

.t-lowercase {
    text-transform: lowercase }

.t-overline {
    text-decoration: overline }

.t-line-through {
    text-decoration: line-through }

.t-underline {
    text-decoration: underline }
.t-dec-none {
    text-decoration: none }

code.t-highlight {
	background-color: #eee;
	padding: 2px 4px;
	border-radius: 2px;
	font-family:"Courier New", Courier, monospace;
	font-size: 14px;
	font-weight: 600
}
code.t-courier {
	background-color: #eee;
	font-family:"Courier New", Courier, monospace;
	font-size: 14px;
	padding: 2px 4px;
	border-radius: 2px;
	color: #6f6f6f;
	font-weight: 600
}
/* ----------------------------------
    18. Alignement
------------------------------------- */

.baseline {
    vertical-align: baseline }

.sub {
    vertical-align: sub }

.super {
    vertical-align: super }

.top {
    vertical-align: top }

.middle {
    vertical-align: middle }

.bottom {
    vertical-align: bottom }

.initial {
    vertical-align: initial }

.inherit {
    vertical-align: inherit }

/* ----------------------------------
    19. Position
------------------------------------- */

.p-static {
    position: static }

.p-absolute {
    position: absolute }

.p-fixed {
    position: fixed }

.p-relative {
    position: relative }

.p-initial {
    position: initial }

.p-inherit {
    position: inherit }

.fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030; }
  
.fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030; }

/* ----------------------------------
    21. Overflow
------------------------------------- */

.o-hidden {
    overflow: hidden }

.o-visible {
    overflow: visible }

.o-auto {
    overflow: auto }

/* ----------------------------------
    22. Opacity
------------------------------------- */

.o-light {
  position: absolute;
  height: 100%;
  width: 100%;
  opacity: 0.3;
  top: 0;
  left: 0; }

.o-medium {
  position: absolute;
  height: 100%;
  width: 100%;
  opacity: 0.75;
  top: 0;
  left: 0; }

.o-full {
  position: absolute;
  height: 100%;
  width: 100%;
  opacity: 0.8;
  top: 0;
  left: 0; }

.o-1 {
  opacity: .1; }

.o-2 {
  opacity: .2; }

.o-3 {
  opacity: .3; }

.o-4 {
  opacity: .4; }

.o-5 {
  opacity: .5; }

.o-6 {
  opacity: .6; }

.o-7 {
  opacity: .7; }

.o-8 {
  opacity: .8; }

.o-9 {
  opacity: .9; }

/* ----------------------------------
    23. Box Shadow
------------------------------------- */

.box-s-0 {
	box-shadow: 0 3px 4px 0 rgba(0,0,0,.14),
				0 3px 3px -2px rgba(0,0,0,.2),
				0 1px 8px 0 rgba(0,0,0,.12)
}
.box-s-1 {
   box-shadow: 
  		0 1px 3px rgba(13, 202, 240, 0.12),
    	0 1px 2px rgba(13, 202, 240, 0.24);      
}
.box-s-2 {
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .14), 
    			0 3px 1px -2px rgba(0, 0, 0, .2), 
    			0 1px 5px 0 rgba(0, 0, 0, .12);
}

/* ----------------------------------
    24. Z-index
------------------------------------- */

.z-index-1111 {
  z-index: 1111; }

.z-index-111 {
  z-index: 111; }

.z-index-1 {
  z-index: 1; }

.z-index-2 {
  z-index: 2; }

.z-index-3 {
  z-index: 3; }

.z-index-4 {
  z-index: 4; }

.z-index-5 {
  z-index: 5; }

.z-index-0 {
  z-index: 0; }

.z-index-minus2 {
  z-index: -2; }

/* ===========  Others  =========== */

ul.orange-colored-list, ul.info-colored-list {
	text-indent: -1.5rem
}
ul.orange-colored-list > li:before {
   content: "•";
   margin: 0 1rem 0 0;
   vertical-align:middle;
   color: red;
   font-size: 24px;
}
ul.info-colored-list > li:before {
   content: "•";
   margin: 0 1rem 0 0;
   vertical-align:middle;
   color: #1c84c6;
   font-size: 24px	
}
ol.orange-numbered-list {
  list-style: none;
  counter-reset: item;
  margin-left: 56px;
  font-weight: 300;
}
ol.orange-numbered-list li {
  counter-increment: item;
}
ol.orange-numbered-list li::before {
  content: counter(item)'.';
  margin-right: 0.5rem;
  margin-left: -1.7rem;
  background: transparent;
  color: red;
  width: 1.2em;
  height: 1.2em;
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  line-height: 1.2em;
}
ol.orange-numbered-list ol li::before {
  list-style: none;
  background: transparent;
}
ol.info-numbered-list {
  list-style: none;
  counter-reset: item;
  margin-left: 56px;
}
ol.info-numbered-list li {
  counter-increment: item;
}
ol.info-numbered-list li::before {
  content: counter(item)'.';
  margin-right: 0.5rem;
  margin-left: -1.7rem;
  background: transparent;
  color: #1c84c6;
  width: 1.2em;
  height: 1.2em;
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  line-height: 1.2em;
  font-weight: 500;
}
ol.info-numbered-list ol li::before {
  list-style: none;
  background: #1c84c6;
}
.dash-orange-numbered-list li::before, .dash-orange-colored-list li::before {
content: "□";
margin: 0 1rem 0 0;
vertical-align:middle;
color: red;
font-size: calc(14px + (24 - 14) * ((100vw - 300px) / (1600 - 300)));
}
.dash-info-numbered-list li::before, .dash-info-colored-list li::before {
  content: "□";
  margin: 0 1rem 0 0;
  vertical-align:middle;
  color: #1c84c6;
  font-size: calc(14px + (24 - 14) * ((100vw - 300px) / (1600 - 300)));
  }

ul.start { counter-reset: mycounter; }

.v-middle {
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  position: absolute;
  top: 50%;
  left: 0;
  right: 0; }

.clear-both {
  clear: both; }

.line-break {
  display: block; }

.no-transition *, .parallax, .rev-slider * {
  transition-timing-function: none;
  -moz-transition-timing-function: none;
  -webkit-transition-timing-function: none;
  -o-transition-timing-function: none;
  -ms-transition-timing-function: none;
  transition-duration: 0s;
  -moz-transition-duration: 0s;
  -webkit-transition-duration: 0s;
  -o-transition-duration: 0s;
  -ms-transition-duration: 0s; }

.absolute-middle-center {
  left: 50%;
  top: 50%;
  position: absolute;
  -ms-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  -o-transform: translateX(-50%) translateY(-50%); }

.relative-middle-center {
  left: 50%;
  top: 50%;
  position: relative;
  -ms-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  -o-transform: translateX(-50%) translateY(-50%); }
