* {
  box-sizing: border-box;
  outline: none;
}

html {
  width: 100%;
  height: 100%;
  font-family: 'Roboto', sans-serif;
  background-size: cover;
  background-position: center;
  color: #333;
}

a {
  text-decoration: none;
}

.group:after {
  content: '';
  display: table;
  clear: both;
}

html.homepage {
  background-image: url('../img/homepage-small.jpg');
}

html.services {
  background-image: url('../img/services-small.jpg');
}

html.technology {
  background-image: url('../img/technology.jpg');
}

html.clients {
  background-image: url('../img/clients.jpg');
}

html.about {
  background-image: url('../img/about-small.jpg');
}

h2 {
  width: 100%;
  margin: 50px 0 50px;
  font-family: Dosis;
  font-size: 52px;
  line-height: 1.5;
  font-weight: 300;
  text-align: center;
  color: #333;
}

h2.small {
  margin: 80px 0 0;
}

html.contact h2.small {
  margin: 40px 0;
  font-size: 40px;
}

header {
  width: 100%;
  height: 68px;
  position: fixed;
  z-index: 1000;
  background-color: rgba(0, 0, 0, 0.65);
}

footer {
  width: 100%;
  margin-top: 100px;
  padding: 50px 0;
  color: #fff;
  background-color: #464342;
}

html.contact footer {
  margin-top: 0;
}

/*html:not(.homepage) header {
    background-color: rgba(0, 0, 0, 0.65);
}*/

.logo {
  position: absolute;
  top: 23px;
  left: 50%;
  transform: translateX(-50%);
}

.logo > img {
  width: 172px;
  height: 21px;
}

nav {
  width: 1280px;
  margin: 0 auto;
  padding: 0 40px;
}

.nav-btn {
  display: none;
  float: left;
}

.nav-left {
  float: left;
}

.nav-right {
  float: right;
}
.nav-item {
  position: relative;
  display: block;
  float: left;
  margin: 0 20px 0 0;
  padding: 26px 0 27px;
  font-size: 16px;
  line-height: 16px;
  color: #fff;
  transition: opacity 0.15s ease-in-out;
}

.nav-item::after {
  content: '';
  position: absolute;
  bottom: 20px;
  left: 0;
  width: 0px;
  height: 1px;
  background: #fff;
  transition: width 0.25s ease-in-out;
}

.nav-item:hover::after {
  width: 100%;
}
.side-nav {
  width: 280px;
  height: 100%;
  position: fixed;
  top: 0;
  left: -300px;
  z-index: 100001;
  background-color: rgba(0, 0, 0, 0.9);
  transition: left 0.25s ease-in-out;
}

.side-nav.show {
  left: 0;
}

.side-nav .nav-item {
  width: 100%;
  margin: 0;
  padding: 24px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.side-nav-overlay {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100000;
  display: none;
  background-color: transparent;
}

footer .nav-item {
  clear: left;
  margin: 0;
  padding: 0;
  line-height: 35px;
}

footer .nav-item:after {
  display: none;
}

html.homepage footer {
  display: none;
}

.nav-careers {
  width: 250px;
}

.nav-icon {
  width: 19px;
  height: 19px;
  position: relative;
  top: 24px;
  text-indent: -9999px;
}

.nav-icon:after {
  display: none;
}

.nav-facebook {
  margin-right: 8px;
  background: url('../img/facebook-white.png') no-repeat;
}

.nav-linkedin {
  margin-right: 0;
  background: url('../img/linkedin-white.png') no-repeat;
}

.nav-item:hover {
  cursor: pointer;
  opacity: 0.75;
}

.social-nav {
  float: left;
  margin-right: 60px;
}

.social-nav > a {
  width: 37px;
  height: 37px;
  float: left;
  clear: left;
  margin-bottom: 12px;
  transition: opacity 0.25s ease-in-out;
}

.social-nav > a:hover {
  opacity: 0.75;
}

.homepage-motto {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: 'Roboto', sans-serif;;
  font-size: 40px;
  font-weight: 300;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  color: #fff;
}

.homepage-motto:after {
  width: 75%;
  position: absolute;
  left: 0;
  top: 40px;
  content: '';
  margin: 20px 0 0 12.5%;
  border-bottom: 2px solid #fff;
}

.motto {
  position: absolute;
  top: 92px;
  left: 50%;
  transform: translateX(-50%);
  font-family: 'Roboto', sans-serif;;
  font-size: 52px;
  font-weight: 300;
  text-transform: uppercase;
  white-space: nowrap;
  color: #333;
}

.motto.white {
  color: #fff;
}

.hero {
  width: 100%;
  height: 1000px;
  background-size: cover;
  background-position: center;
}

.container {
  width: 1200px;
  margin: 0 auto;
}

.info {
  padding: 100px 0;
  font-family: 'Roboto', sans-serif;;
  font-size: 26px;
  line-height: 1.5;
  font-weight: 300;
  text-align: center;
}

.sep {
  width: 100%;
  height: 1px;
  position: relative;
  margin-bottom: 88px;
  border-bottom: 1px solid #464342;
}

.sep:after {
  width: 114px;
  height: 57px;
  position: absolute;
  top: -28px;
  left: 50%;
  margin-left: -57px;
  content: '';
  background-color: #fff;
  background-image: url('../img/sep-icon.png');
  background-position: center center;
  background-repeat: no-repeat;
}

.technologies .tech-item,
.clients .client-item {
  width: 25%;
  height: 200px;
  float: left;
  opacity: 1;
  background-repeat: no-repeat;
  background-position: center center;
  transition: all 0.25s ease-in-out;
}

.container.group .clients {
  display: flex;
  justify-content: center;
  gap: 10px;
}

.technologies .tech-item:hover {
  opacity: 0.75;
}

.technologies .tech-item.dotnet {
  background-image: url('../img/dotnet-color.png');
}

.technologies .tech-item.dotnet:hover {
  background-image: url('../img/dotnet-color.png');
}

.technologies .tech-item.swift {
  background-image: url('../img/swift-color.png');
}

.technologies .tech-item.swift:hover {
  background-image: url('../img/swift-color.png');
}

.technologies .tech-item.java {
  background-image: url('../img/java-color.png');
}

.technologies .tech-item.java:hover {
  background-image: url('../img/java-color.png');
}

.technologies .tech-item.android {
  background-image: url('../img/android-color.png');
}

.technologies .tech-item.android:hover {
  background-image: url('../img/android-color.png');
}

.technologies .tech-item.wordpress {
  margin-left: 12.5%;
  background-image: url('../img/wordpress-color.png');
}

.technologies .tech-item.wordpress:hover {
  background-image: url('../img/wordpress-color.png');
}

.technologies .tech-item.php {
  background-image: url('../img/php-color.png');
}

.technologies .tech-item.php:hover {
  background-image: url('../img/php-color.png');
}

.technologies .tech-item.umbraco {
  background-image: url('../img/umbraco-color.png');
}

.technologies .tech-item.umbraco:hover {
  background-image: url('../img/umbraco-color.png');
}

.clients .client-item.geographica {
  background-image: url('../img/geographica.png');
}

.clients .client-item.geographica:hover {
  background-color: #464342;
  background-image: url('../img/geographica-white.png');
}

.clients .client-item.hakolal {
  background-image: url('../img/hakolal.png');
}

.clients .client-item.hakolal:hover {
  background-color: #000;
  background-image: url('../img/hakolal-white.png');
}

.clients .client-item.twu {
  background-image: url('../img/twu.png');
}

.clients .client-item.tickets {
  background-image: url('../img/Mrtickets.svg');
}

.clients .client-item.twu:hover {
  background-color: #000;
  background-image: url('../img/twu-white.png');
}

.clients .client-item.logican {
  background-image: url('../img/logican.png');
}

.clients .client-item.logican:hover {
  background-color: #000;
  background-image: url('../img/logican-black.png');
}

.clients .client-item.sport123 {
  background-image: url('../img/sport123.png');
}

.clients .client-item.sport123:hover {
  background-color: #000;
  background-image: url('../img/sport123-black.png');
}

.clients .client-item.gv {
  background-image: url('../img/logo_groupvery.png');
}

.clients .client-item.cheile-rametului {
  background-image: url('../img/cheile-rametului.png');
}

.clients .client-item.legis {
  background-image: url('../img/icon-legi.png');
}

.clients .client-item.cheile-rametului:hover {
  background-color: #464342;
  background-image: url('../img/cheile-rametului-white.png');
}

.half-item {
  width: 50%;
  float: left;
  padding: 24px 78px;
  border-right: 1px solid rgba(0, 0, 0, 0.5);
}

.half-item.right {
  float: right;
}

.half-item.no-sep,
.half-item:nth-child(even) {
  border: 0;
}

.half-item.with-sep {
  border-right: 1px solid rgba(0, 0, 0, 0.5);
}

.career-title {
  margin-bottom: 28px;
  font-family: 'Roboto', sans-serif;;
  font-size: 42px;
  font-weight: 300;
  color: #333;
}

.btn-send:hover {
  background-color: #000;
  color: #fff;
}

.btn-apply,
.btn-send {
  float: left;
  display: block;
  padding: 16px 28px;
  font-family: 'Roboto', sans-serif;;
  font-size: 18px;
  color: #333;
  border: 1px solid #777;
  border-radius: 4px;
  transition: all 0.25s ease-in-out;
}

.btn-apply:hover {
  color: #fff;
  background-color: #333;
  border: 1px solid #333;
}

.contact-details {
  padding-top: 180px;
}

.contact-section {
  width: 100%;
  margin-bottom: 24px;
  font-size: 18px;
  line-height: 1.5;
}

.contact-section:last-child {
  margin: 0;
}

.contact-section .icon {
  width: 21px;
  height: 19px;
  float: left;
  padding-top: 2px;
}

.contact-section .heading {
  font-size: 26px;
  margin-top: -5px;
}

.contact-section .text {
  padding-left: 50px;
}

::-webkit-input-placeholder {
  color: #fff;
}

:-moz-placeholder {
  /* Firefox 18- */
  color: #fff;
}

::-moz-placeholder {
  /* Firefox 19+ */
  color: #fff;
}

:-ms-input-placeholder {
  color: #fff;
}

.contact-form {
  width: 100%;
  color: #fff;
  padding: 20px 0 40px;
}

.contact-form-column-container {
  position: relative;
  display: inline-block;
  width: 100%;
  padding: 20px;
  border-radius: 6px;
  background-color: rgba(125, 125, 125, 0.4);
}

.contact-form-column-container-inner {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 10px;
}

.contact-form-column {
  flex: 1;
}

.form-item {
  margin-top: 20px;
}

.contact-form input[type='text'],
.contact-form textarea {
  width: 100%;
  padding: 12px 5px;
  font-family: 'Roboto', sans-serif;;
  font-size: 18px;
  color: #fff;
  background: rgba(0, 0, 0, 0.5);
  border: 0;
  border-bottom: 1px solid #fff;
  transition: padding 0.15s ease-in-out;
}

.contact-form input[type='text']:focus,
.contact-form textarea:focus {
  padding-left: 12px;
  background: rgba(0, 0, 0, 0.4);
}

.captcha-container {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  background-color: wheat;
}

.captcha-container > input:first-child {
  min-width: 120px;
}

.captcha-container > input:nth-child(2) {
  width: 100%;
  height: 47px;
}

input[name='captcha_generated'] {
  background-color: wheat;
  font-size: 20px;
  text-align: center;
  border: none;
}

.contact-form textarea {
  height: 187px;
}

.btn-send {
  color: #000;
  border-color: #fff;
  cursor: pointer;
}

.send-error {
  color: red;
}

.errorInput {
  border-bottom: 1px solid red !important;
}

.service-item {
  margin-bottom: 6px;
}

.image-box {
  width: 597px;
  height: 597px;
}

.image-box.left {
  float: left;
  padding: 184px 0 0 102px;
}

.image-box.right {
  float: right;
  padding: 184px 102px 0 0;
}

.image-box h2 {
  width: auto;
  margin: 0 0 40px 0;
  font-family: 'Roboto', sans-serif;;
  font-size: 52px;
  color: #fff;
}

.image-box p {
  width: 375px;
  font-family: 'Roboto', sans-serif;;
  font-size: 18px;
  line-height: 1.5;
  color: #fff;
}

.image-box.left h2,
.image-box.left p {
  float: left;
  text-align: left;
}

.image-box.right h2,
.image-box.right p {
  float: right;
  text-align: right;
}

.image-box.mobile.left {
  background-image: url('../img/services/mobile-left.jpg');
}

.image-box.mobile.right {
  background-image: url('../img/services/mobile-right.jpg');
}

.image-box.web.left {
  background-image: url('../img/services/web-left.jpg');
}

.image-box.web.right {
  background-image: url('../img/services/web-right.jpg');
}

.image-box.testing.left {
  background-image: url('../img/services/testing-left.jpg');
}

.image-box.testing.right {
  background-image: url('../img/services/testing-right.jpg');
}

.image-box.design.left {
  background-image: url('../img/services/design-left.jpg');
}

.image-box.design.right {
  background-image: url('../img/services/design-right.jpg');
}

.contact-wrapper {
  background-image: url('../img/contact-bg-small.jpg');
  background-size: cover;
  background-position: center center;
}

.apply-form {
  width: 100%;
}

@media (max-width: 1279px) {
  nav,
  footer,
  .container {
    width: 100%;
    margin: 0;
  }

  footer {
    margin-top: 30px;
  }

  .container {
    padding: 40px;
  }

  .image-box {
    width: 100%;
    display: none;
    float: left;
    padding: 184px 0 0 102px !important;
    margin-bottom: 6px;
    text-align: left;
    background-size: cover;
    background-position: center center;
    text-shadow: 0 0 25px rgba(0, 0, 0, 0.75);
  }

  .image-box.has-text {
    display: block;
  }

  .image-box h2 {
    width: 100%;
  }

  .image-box h2,
  .image-box p {
    float: left !important;
    text-align: left !important;
  }
}

@media (max-width: 960px) {
  .nav-btn {
    display: block;
  }

  header .nav-left,
  header .nav-right > a:not(.nav-icon) {
    display: none;
  }
}

@media (max-width: 768px) {
  nav,
  .container {
    padding: 0 20px;
  }

  .homepage-motto {
    font-size: 30px;
  }

  .homepage-motto:after {
    top: 24px;
  }

  .technologies .tech-item {
    height: 150px;
    background-size: 65%;
  }

  .clients .client-item {
    width: 50%;
    height: 150px;
    margin: 0 !important;
  }

  .half-item {
    padding: 28px 48px;
  }

  .contact-details .half-item {
    width: 100%;
    padding: 28px 0;
  }

  .contact-details .half-item.with-sep {
    border-right: 0;
    border-top: 1px solid rgba(0, 0, 0, 0.5);
  }

  html.contact h2.small {
    margin-bottom: 40px;
  }

  .career-title {
    font-size: 30px;
  }

  .btn-apply {
    padding: 10px 16px;
  }

  .contact-form-column-container-inner {
    flex-direction: column !important;
  }

  .contact-form-column {
    width: 100%;
    padding: 0;
  }

  .feedback-type {
    display: none;
  }

  .info {
    padding: 75px 0;
    font-size: 16px;
  }

  .image-box {
    padding: 184px 102px 0 102px !important;
  }

  .image-box h2,
  .image-box p {
    width: 100%;
  }

  .nav-item:hover::after {
    width: 0 !important;
  }
}

@media (max-width: 533px) {
  .homepage-motto:after {
    top: 18px;
  }

  .motto {
    font-size: 42px;
  }

  .clients .client-item {
    width: 100%;
  }

  html.about h2 {
    margin-bottom: 0;
    font-size: 42px;
  }

  html.about .half-item {
    width: 100%;
    padding: 32px 0;
    border: 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.5);
  }

  .info {
    padding: 50px 0;
    font-size: 15px;
  }

  .image-box {
    height: 400px;
  }

  .image-box {
    padding: 50px 50px 0 50px !important;
  }

  .social-nav {
    float: left;
    margin-right: 60px;
    margin-bottom: 30px;
  }

  .social-nav > a {
    clear: none;
    margin: 0 12px 0 0;
  }

  footer .nav-left,
  footer .nav-right {
    float: left;
    clear: left;
    display: block;
  }

  footer .nav-right {
    margin-top: 30px;
  }

  .captcha-container {
    flex-direction: column !important;
    flex-wrap: wrap;
  }
}

@media (max-width: 450px) {
  .homepage-motto {
    top: 55%;
  }

  .half-item {
    padding: 32px 18px;
  }

  .btn-apply {
    font-size: 14px;
  }

  html.contact h2.small {
    margin-bottom: 20px;
    font-size: 32px;
  }

  .contact-section {
    font-size: 16px;
  }
}

@media (max-width: 400px) {
  .image-box {
    height: 370px;
  }

  .image-box h2 {
    font-size: 36px;
  }

  .image-box p {
    font-size: 16px;
  }
}

@media (max-width: 380px) {
  .nav-left,
  .nav-right {
    display: none;
  }
}

.general-message {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  background-color: rgba(255, 255, 255, 0.5);
}

.general-message.success {
  color: #69ca42
}

.general-message.error {
  color: #F80000;
  
}

.contact-form-button-container {
  margin-top: 10px;
}

.apply-form > .contact-form {
  padding-left: 20px !important;
  padding-right: 20px !important;
}

.avatar-wrap-new{
  position:relative;
  width: 220px;   /* set to your frame size */
  height:220px;
}

.avatar-new{
  width:100%;
  height:100%;
  object-fit: cover;     /* fills nicely */
  border-radius: 50%;    /* remove if square frame */
  display:block;
}

.frame-new{
  position:absolute;
  inset:0;               /* top/right/bottom/left: 0 */
  pointer-events:none;   /* clicks go “through” frame */
  display:block;
}