/* + + + + + + + + + + + + + + + + + + + + + + + +
  DOCUMENTATION
+ + + + + + + + + + + + + + + + + + + + + + + +  */
/* - -  - -  - -  - -  - -  - -  - -  - -  - -  - -
COLORS
  - $body-color:      #000000
  - $primary-color:   #006CA5 // blau
  - $secondary-color:   #EFEFEF // grau
- -  - -  - -  - -  - -  - -  - -  - -  - -  - - */


/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  BASICS
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */

/*
// DEFAULT
// -----------------------------------------------*/


/* montserrat-300 - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 300;
  src: local(''),
       url('../fonts/montserrat-v23-latin-300.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/montserrat-v23-latin-300.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* montserrat-regular - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: local(''),
       url('../fonts/montserrat-v23-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/montserrat-v23-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* montserrat-700 - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: local(''),
       url('../fonts/montserrat-v23-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/montserrat-v23-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}


body {
  -webkit-hyphens: auto;
      -ms-hyphens: auto;
          hyphens: auto;

  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 300;
  color: #000000;
}

*:focus { outline: none !important; }
::selection { background: #006CA5; color: white; }
::-moz-selection { background: #006CA5; color: white; }

a, a:hover {
  color: #006CA5;
  text-decoration: none;
}


h1 {
  line-height: 1rem;
  font-size: 1.875rem;
  padding: 0;
  margin: 0;
}

h1 .subtitle {
  font-size: 0.875rem;
  margin-top: 14px;
}

h3 {
  color: #006CA5;
  font-size: 2.3rem;
}

h4 {
  font-size: 0.875rem;
  letter-spacing: .2rem;
  text-transform: uppercase;
}


h5 {
  font-size: 0.875rem;
  letter-spacing: .2rem;
}

table.table-sm td {
  padding: .1rem 0 .1rem .6rem;
}

#approach td {
  padding: .6rem 0 .6rem .6rem;
}

.table-sm td:first-child {
  padding-left: 0;
}

article {
  /*font-size: 0.875rem;*/
  font-size: .9rem;
}

.btn-klemen {
  background-color: #006CA5;
  border-radius: 10%;
  color: white;
}


/*
// Navigation
// -----------------------------------------------*/


#top_bar {
  background-color: white;
}

#top_bar .nav-logo {
  display: inline-block;
}

#top_bar .nav-company {
  display: inline-block;
  vertical-align: middle;
}

#navbar ul li a {
  text-transform: uppercase;
  color: #000000;
  font-size: 0.875rem;
  padding: 0 6px 5px 6px;

  border-bottom: 1px solid #fff;
}

.nav-link {
  text-transform: uppercase;
  color: #000000;
  font-size: 0.875rem;
  padding: 0 6px 0 6px;

  border-bottom: 1px solid #fff;
}

@media (min-width: 576px) {
  #navbar ul li a {
    margin-left: 2rem;
  }
}

#navbar ul li:first-child a {
  margin-left: 0rem;
}

#navbar ul li:hover a,
#navbar ul li a.active {
  border-bottom: 1px solid #000000;
}

.navbar-brand-text {
  display: inline-block;
}

.navbar {
  padding: 0 0;
}


/*
// Öffnungszeiten
// -----------------------------------------------*/

#opening {
  background-color: #EFEFEF;
  font-size: 0.875rem;
  margin-top: 108px;
}

@media (min-width: 768px) {
  #opening {
    margin-top: 92px;
  }
}

#opening h2, #opening .our {
  font-size: 1.5rem;
}

#opening .icon {
  color: #006CA5;
  font-size: 1.2rem;
}

.gallery-practice img {
  border-right: 1px solid white;
}

.gallery-practice:last-child {
  border-right: none;
}

/*
// Leistungen
// -----------------------------------------------*/

#services p {
  margin-top: 1rem;
  margin-bottom: 1.2rem;
}

#services h4 {
  margin-top: 1rem;
}


.bar {
  background-color: #006CA5;
  color: white;
  width: 100%;
  padding: 4px 12px;
  margin-top: 0.3rem;
}

.arrow-collapse {
  display: inline-block;
  margin-top: -5px;
}

.arrow-up {
  margin-top: 7px;
}

.service {
  margin-top: 2.5rem;
}


/*
// GALLERY
// -----------------------------------------------*/


#photogallery .overlay-text {
    font-size: 1.5rem;
    font-weight: 700;
    color: white;
}

/*
// PORTRAIT
// -----------------------------------------------*/

#portrait .team-title, #portrait .team-name {
  font-size: 0.625rem;
  letter-spacing: .2rem;
}

#portrait .team-title {
  padding-top: .5rem;
  text-transform: uppercase;
}


/*
// FOOTER
// -----------------------------------------------*/

footer {
  background-color: #EFEFEF;
  font-size: 0.875rem;
}

footer .opening {
  background-color: #006CA5;
  color: white;
  padding: 0.5rem;
}

footer .opening-title {
  font-size: 0.625rem;
  letter-spacing: .2rem;
  text-transform: uppercase;
}

footer .opening-name {
  font-size: 1rem;
}

@media (min-width: 992px) {
  footer .opening table td {
    font-size: 0.75rem;
  }
}

/*
// MODAL
// -----------------------------------------------*/

.modal h5 {
  color: #006CA5;
}
