/************************************************************************************/
/* 6KA Softwareentwicklung und Digitalisierung                                      */
/* https://6ka-digital.com                                                          */
/* itservice.css v1.0.2 - 29.05.2026                                                */
/************************************************************************************/

@layer layout {
                                                       
    .itservice-home                                 {   padding-top: var(--header-height-large);
                                                        background: var(--primary-white); }

    .itservice-hero                                 {   background: linear-gradient(90deg,  var(--primary-grey7) 0%, 
                                                                                            var(--primary-white) 48%, 
                                                                                            var(--primary-white) 48%, 
                                                                                            var(--primary-white) 100%);
                                                        border-bottom: 1px solid var(--primary-grey8); }

    .itservice-hero__content                        {   width: 100%;
                                                        max-width: none;
                                                        margin: 0;
                                                        display: grid;
                                                        grid-template-columns: 48% 52%;
                                                        min-height: auto; }

    .itservice-hero__text                           {   padding: 5rem 4rem 2rem max(4rem, calc((100vw - 1440px) / 2 + 4rem));}

    .itservice-hero__visual                         {   color: var(--primary-white); }

    .it-services                                    {   width: 100%;
                                                        max-width: 1440px;
                                                        margin: 4rem auto 0 auto;
                                                        padding: 0 1.5rem;
                                                        display: grid;
                                                        grid-template-columns: repeat(4, minmax(0, 1fr));
                                                        background: var(--primary-white); }   
  
    .it-service-card                                {   display: flex;
                                                        flex-direction: column;
                                                        align-items: stretch;
                                                        gap: 1.25rem;
                                                        padding: 2rem 2.5rem 2rem 2.5rem;
                                                        margin: 1rem;
                                                        background: var(--primary-green6);
                                                        border: 1px solid var(--primary-grey8);
                                                        min-width: 0;
                                                        position: relative; }

    .it-service-card ul                             {   margin: 0;
                                                        padding: .5rem 0 0 0; }  
                                                        
    .it-service-card ul li                          {   padding: .4rem 0; 
                                                        font-weight: 500;
                                                        font-size: 1rem; 
                                                        color: var(--primary-black); } 

    .it-service-card .it-service-card-subli         {   font-size: .9rem;
                                                        font-weight: 400; }                                                        
                                                        
    .it-service-card ul li::marker                  {   content: "";
                                                        color: var(--primary-blue3); 
                                                        font-weight: 400; }                                                          

    .it-service-card__head                          {   display: flex;
                                                        align-items: center;
                                                        gap: 1rem;
                                                        margin: 0;
                                                        padding: 0;
                                                        text-align: left; }

    .it-service-card__head h2                       {   margin: 0;
                                                        padding: 0 0 0 1rem;
                                                        font-size: 1.3rem;
                                                        color: var(--primary-blue3); 
                                                        border-left: 3px solid var(--primary-blue3);}   

    .itservice-bottom                               {   max-width: 1424px;
                                                        margin: 4rem auto;
                                                        display: grid;
                                                        grid-template-columns: 1fr 1fr;
                                                        gap: 2rem;
                                                        padding: 2rem; }

     @media (max-width: 767.98px) {
        
        .itservice-hero__text                       {   padding: 5rem 3rem 2rem 3rem; } }
}

@layer components {

    .itservice-kicker-answer,
    .itservice-kicker-form, 
    .itservice-kicker                               {   display: flex;
                                                        align-items: center;
                                                        gap: 1rem;
                                                        color: var(--primary-green);
                                                        font-weight: 500;
                                                        font-size: 1.1rem;
                                                        letter-spacing: 0.02em; }  
                                                        
    .itservice-kicker-answer                        {   color: var(--primary-green); }                                                        

    .itservice-kicker-answer-text                   {   color: var(--primary-black);
                                                        line-height: 1.8; } 

    .itservice-kicker-form                          {   color: var(--primary-green);}                                              

    .itservice-kicker-form::before,
    .itservice-kicker::before                       {   content: "";
                                                        width: 3rem;
                                                        height: 3px;
                                                        background-color: var(--primary-green);
                                                        flex-shrink: 0; }

    .itservice-kicker-answer::before                {   content: "";
                                                        width: 3rem;
                                                        height: 3px;
                                                        background-color: var(--primary-green);
                                                        flex-shrink: 0; }                                                        

    .itservice-kicker-form::before                  {   background-color: var(--primary-green); }                            

    .itservice-hero__title                          {   font-size: clamp(2.2rem, 2.6vw + 0.5rem, 2.8rem);
                                                        line-height: 1.25;
                                                        color: var(--primary-blue3);
                                                        margin: 1.5rem 0; }

    .itservice-hero__intro                          {   max-width: 36rem;
                                                        font-size: 1.15rem;
                                                        font-weight: 500;
                                                        line-height: 1.7; }

    .itservice-hero__actions                        {   display: flex;
                                                        gap: 1.5rem;
                                                        margin-top: 2rem; }

    .itservice-button                               {   display: inline-flex;
                                                        align-items: center;
                                                        justify-content: center;
                                                        min-height: 3.25rem;
                                                        padding: .2rem 2rem;
                                                        text-decoration: none; 
                                                        text-align: center;
                                                        font-weight: 400; }

    .itservice-button--primary                      {   background: var(--primary-blue3);
                                                        color: var(--primary-white); }

    .itservice-button--secondary                    {   border: 1px solid var(--primary-blue3);
                                                        color: var(--primary-blue3);
                                                        background: var(--primary-white); }                                                

    .it-service-card__link                          {   margin-top: auto;
                                                        color: var(--primary-green);
                                                        font-weight: 700;
                                                        text-decoration: none; }

    .it-service-card__link:hover,
    .it-service-card__link:focus-visible            {   color: var(--primary-blue3);
                                                        text-decoration: underline; }

    .itservice-bottom__info                         {   background: var(--primary-white);
                                                        border: 1px solid var(--primary-grey8);
                                                        padding: 2rem 3rem 3rem 3rem; }

    .itservice-bottom__info span                    {   color: var(--primary-green); }
    
    .itservice-bottom-infolist                      {   list-style: none;
                                                        margin: 0;
                                                        padding: 0; }

    .itservice-bottom-infolist li                   {   position: relative; line-height: 1.6;
                                                        padding: 0 0 1rem 1rem; } 
                                                        
    .itservice-bottom-infolist 
        .itservice-bottom-infolist-head             {   color: var(--primary-blue3);
                                                        font-weight: 700; }                                                        

    .itservice-bottom-infolist li::before           {   content: "";
                                                        position: absolute;
                                                        left: 0;
                                                        top: .55rem;
                                                        width: .38rem;
                                                        height: .38rem;
                                                        background: var(--primary-green); }

    .itservice-contact-box                          {   background: var(--primary-green6);
                                                        color: var(--primary-green); 
                                                        padding: 2rem 3rem 3rem 3rem;}

    .itservice-contact-box 
            .itservice-contact-box-title            {   font-weight: 600; }

    .itservice-contact-box 
            .itservice-contact-box-title-answer     {   font-weight: 600;
                                                        text-transform: uppercase;
                                                        font-size: 1.2rem; }

    .itservice-layout                               {   display: grid; 
                                                        grid-template-rows: 1fr 9.5rem;
                                                        width: 100%;
                                                        height: 100%;
                                                        min-height: 100%; }

    .itservice-layout-top                           {   display: grid;
                                                        grid-template-columns: minmax(10rem, clamp(11rem, 20vw, 19rem)) 1fr;
                                                        min-height: 0; }

    .itservice-layout-bottom                        {   display: grid;
                                                        grid-template-columns: repeat(3, minmax(0, 1fr));
                                                        min-height: 9.51rem; }

    .itservice-layout-box                           {   display: flex;
                                                        align-items: center;
                                                        justify-content: center;
                                                        min-width: 0;
                                                        padding: 1rem;
                                                        color: var(--primary-green4);
                                                        font-weight: 700;
                                                        text-align: center; } 

    .itservice-layout-bottom 
    .itservice-layout-box                           {   flex-direction: column;
                                                        justify-content: flex-start;
                                                        gap: .25rem;
                                                        padding-top: 1.50rem; }

    .itservice-layout-icon                          {   width: clamp(1.75rem, 2.3vw, 2.4rem);
                                                        height: auto;
                                                        flex: 0 0 auto;
                                                        transform: scale(1.35);
                                                        transform-origin: center center; }

    .itservice-layout-text                          {   display: flex;
                                                        align-items: center;
                                                        justify-content: center;
                                                        flex: 1 1 auto;
                                                        min-height: 0;
                                                        max-width: 16rem;
                                                        overflow-wrap: normal;
                                                        word-break: normal;
                                                        font-weight: 400;
                                                        hyphens: none;
                                                        line-height: 1.35; }

    /*.itservice-layout-text a                        {   color: var(--primary-white); 
                                                        text-decoration: none; }  
                                                        
    .itservice-layout-text a:hover                  {   color: var(--primary-green4); } */                                                       

    .itservice-layout-box--one                      {   background: var(--primary-grey2);     
                                                        flex-direction: column;
                                                        align-items: flex-start;
                                                        justify-content: center;
                                                        padding: 2rem 2rem 2rem 2.5rem;
                                                        text-align: left;}

    .itservice-layout-box--two                      {   background: var(--primary-grey2); 
                                                        padding: 0;
                                                        overflow: hidden; 
                                                        position: relative; }

    .itservice-layout-box--three                    {   background: var(--primary-grey9); 
                                                        border-right: 1px solid rgb(255, 255, 255, .2); }

    .itservice-layout-box--four                     {   background: var(--primary-grey9); 
                                                        border-right: 1px solid rgb(255, 255, 255, .2); }

    .itservice-layout-box--five                     {   background: var(--primary-grey9); }

    .itservice-layout-image                         {   width: 100%;
                                                        height: 100%;
                                                        object-fit: cover;
                                                        object-position: center center; }

    .itservice-layout-image-text                    {   position: absolute;
                                                        left: 1.5rem;
                                                        right: 1.5rem;
                                                        bottom: 1.25rem;
                                                        margin: 0;
                                                        color: var(--primary-white);
                                                        font-size: clamp(1rem, 0.45vw + 0.7rem, 1.25rem);
                                                        line-height: 1.45;
                                                        font-weight: 500;
                                                        text-shadow: 0 2px 10px rgba(0,0,0,0.45);
                                                        z-index: 2; }                                                        

    .itservice-layout-kicker                        {   margin: 0;
                                                        color: var(--primary-green4);
                                                        font-size: clamp(0.75rem, 0.45vw + 0.55rem, 0.95rem);
                                                        font-weight: 700;
                                                        letter-spacing: 0.05em;
                                                        text-transform: uppercase; }

    .itservice-layout-title                         {   display: grid;
                                                        gap: 0.15rem; 
                                                        margin: 0.75rem 0 0;
                                                        color: var(--primary-white);
                                                        font-size: clamp(1rem, 0.9vw + 0.55rem, 1.55rem);
                                                        line-height: 1.35;
                                                        font-weight: 500; 
                                                        align-items: center; } 
                                                        
    .itservice-layout-title span                    {   display: block;
                                                        padding: 0 0 .8rem 0; }
      
    .itservice-contact-form                         {   display: grid;
                                                        gap: 1.15rem;
                                                        margin-top: 1.5rem; }

    .itservice-form-field-first                     {   position: absolute;
                                                        left: -10000px;
                                                        top: auto;
                                                        width: 1px;
                                                        height: 1px;
                                                        overflow: hidden; }                                                        

    .itservice-form-field                           {   display: flex;
                                                        flex-direction: column;
                                                        gap: .15rem; }

    .itservice-form-field label                     {   color: var(--primary-black);
                                                        font-size: .9rem;
                                                        font-weight: 500; }

    .itservice-form-field input,
    .itservice-form-field textarea                  {   width: 100%;
                                                        padding: .45rem .5rem;
                                                        border: 1px solid var(--primary-green5);
                                                        background: var(--primary-white-trans);
                                                        color: var(--primary-green4);
                                                        font: inherit; }

    .itservice-form-field textarea                  {   resize: vertical;
                                                        min-height: 8rem; }

    .itservice-form-field input:focus,
    .itservice-form-field textarea:focus            {   outline: 1px solid var(--primary-green4);
                                                        outline-offset: 1px;
                                                        background: var(--primary-white);
                                                        border-color: var(--primary-green); 
                                                        color: var(--primary-blue3)}

    .itservice-form-field input.has-error,
    .itservice-form-field textarea.has-error        {   border-color: var(--primary-orange);
                                                        background: #fff8ef; }

    .itservice-form-required-sign                   {   color: var(--primary-red); 
                                                        padding-left: .1rem; }                                                  

    .itservice-form-error                           {   min-height: 1rem;
                                                        color: var(--primary-red);
                                                        font-weight: 500;
                                                        font-size: .95rem; }

    .itservice-contact-form__submit                 {   width: 100%;
                                                        border: 0;
                                                        background: var(--primary-green3);
                                                        color: var(--primary-white);
                                                        cursor: pointer; }

    .itservice-contact-form__submit:hover,
    .itservice-contact-form__submit:focus-visible   {   background: var(--primary-green); }

    .itservice-form-note                            {   margin: 0;
                                                        color: var(--primary-black);
                                                        font-size: 1rem;
                                                        font-weight: 400;
                                                        line-height: 1.75;
                                                        opacity: .9; }

    .itservice-form-note a                          {   color: var(--primary-green);
                                                        text-decoration: underline; 
                                                        text-underline-offset: 0.5rem; }

    .itservice-form-note a:hover,
    .itservice-form-note a:focus-visible            {   color: var(--primary-black); }

    .phone-link                                     {   display: inline-flex;    
                                                        align-items: center;     
                                                        gap: 0.4rem;                                                                     
                                                        text-decoration: none;
                                                        white-space: nowrap; 
                                                        text-underline-offset: 0.4rem; 
                                                        text-decoration-thickness: 1px;
                                                        text-decoration-skip-ink: auto;    
                                                        color: inherit; }                                                        

    .phone-link:hover, 
    .phone-link:focus-visible                       {   color: var(--primary-green4);
                                                        text-decoration: underline;
                                                        text-decoration-thickness: 1px;
                                                        text-underline-offset: 0.5rem;
                                                        transition: color 0.3s ease, text-underline-offset 0.3s ease; } 
                                                        
    .phone-link::before                             {   content: "";
                                                        display: block;
                                                        width: 1.6rem;
                                                        height: 1.6rem;
                                                        background-image: url(icons/symbPhoneFFFFFF.svg);
                                                        background-size: contain;
                                                        background-repeat: no-repeat;
                                                        background-position: center; }

    .phone-link:hover::before,
    .phone-link:focus-visible::before               {   background-image: url(icons/symbPhoneC8DD81.svg); }


    @media (max-width: 1199.98px)                   {

        .itservice-layout                           {   grid-template-rows: 1fr auto; }

        .itservice-layout-bottom                    {   grid-template-columns: 1fr;
                                                        grid-template-rows: repeat(3, minmax(3.67rem, auto));
                                                        min-height: 11.01rem; }

        .itservice-layout-bottom
        .itservice-layout-box                       {   display: grid;
                                                        grid-template-columns: 2.5rem 1fr;
                                                        align-items: center;
                                                        justify-content: initial;
                                                        gap: 0;
                                                        min-height: 3.67rem;
                                                        max-height: none;
                                                        padding: 0 1rem;
                                                        text-align: left; }

        .itservice-layout-icon                      {   justify-self: start;
                                                        width: 1.35rem;
                                                        max-height: 1.35rem; }

        .itservice-layout-text                      {   justify-content: flex-start;
                                                        max-width: none;
                                                        width: 100%;
                                                        line-height: 1.25;
                                                        text-align: left;
                                                        white-space: normal;
                                                        overflow: visible;
                                                        text-overflow: clip; }

        .itservice-layout-top                       {   grid-template-columns: 1fr;
                                                        grid-template-rows: auto auto; }

        .itservice-layout-box--one                  {   order: 2;
                                                        padding: 1rem 1.25rem; }

        .itservice-layout-box--two                  {   order: 1; }        

        .itservice-layout-title                     {   grid-template-columns: repeat(3, minmax(0, 1fr));
                                                        gap: 1rem;
                                                        font-size: clamp(0.95rem, 1vw + 0.45rem, 1.3rem);
                                                        line-height: 1.35; }  
                                                        
        .itservice-layout-title span                {   text-align: center; }                                                        
                                                    
        .itservice-layout-box--three                {   border-right: none;
                                                        border-bottom: 1px solid rgb(255, 255, 255, .2); }

        .itservice-layout-box--four                 {   border-right: none;
                                                        border-bottom: 1px solid rgb(255, 255, 255, .2); }
                                                        
        .itservice-layout-box--five                 {   border-right: none;
                                                        border-bottom: 1px solid rgb(255, 255, 255, .2);  }                                                      
                                                    
        .itservice-layout-image                     {   object-fit: contain;
                                                        object-position: center center; } 
                                                    
        .itservice-layout-image-text                {   left: 1.5rem;
                                                        right: 1.5rem;
                                                        bottom: 0.9rem;
                                                        font-size: 1rem; } 
                                
        .it-services                                {   grid-template-columns: repeat(2, minmax(0, 1fr)); }

        .itservice-kicker-form                      {   font-size: .8rem;}
    }



    @media (max-width: 1024px)                      {
    
        .itservice-kicker                           {   font-size: .9rem;}    
    }

    @media (max-width: 900px)                       {

        .itservice-hero                             {   background: var(--primary-grey7); }

        .itservice-hero__content,
        .itservice-bottom                           {   grid-template-columns: 1fr; }

        .itservice-hero__visual                     {   background: var(--primary-grey6); }

        .itservice-hero__actions                    {   flex-direction: column; }

        .itservice-kicker-form                      {   font-size: 1rem;}
    }

    @media (max-width: 639.98px)                    {

        .it-services                                {   grid-template-columns: 1fr; }

        .itservice-kicker-form                      {   font-size: .8rem;}
    }

    @media (max-width: 419.98px)                    {

        .itservice-layout                           {   grid-template-rows: 1fr auto; }
        
        .itservice-layout-icon                      {   margin-top: 0.1rem;
                                                        width: 1.15rem;
                                                        max-height: 1.15rem; }

        .itservice-layout-text                      {   white-space: normal;
                                                        overflow: visible;
                                                        text-overflow: clip;
                                                        line-height: 1.25; }

        .itservice-layout-title                     {   grid-template-columns: repeat(2, minmax(0, 1fr)); }

        .itservice-layout-title span:nth-child(1)   {   display: none; } 

        .itservice-kicker-form                      {   font-size: .9rem;}

        .itservice-kicker-form::before              {   width: 3rem; }
        
        .itservice-contact-box 
            .itservice-contact-box-title            {   font-size: 1.8rem; }
    }

}