/* PARAMS */

:root {
  --joomlacolour: #cd5b00;
  --hoverblue: #1567ef;
  --lightgrey: #707070;
  --whitespace: 40px;
  --whitespacemain: 60px;
  --bodyfont: 16px;
  --bodyfontsmaller: 15px;
  --h1font: 25px;
  --h2font: 1.17em;
}

@media (min-width: 1350px) {
  :root {
    --whitespace: 60px;
    --whitespacemain: 120px;
    --bodyfont: 18px;
    --bodyfontsmaller: 16px;
    --h1font: 28px;
    --h2font: 1.27em;
  }
}


/* RESET */
html,
body,
p,
ol,
ul,
li,
dl,
dt,
dd,
blockquote,
figure,
fieldset,
legend,
textarea,
pre,
iframe,
hr,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
}

p {
  margin: 1em 0;
}

ul,li {
  list-style: none;
}

button,
input,
select {
  margin: 0;
}

html {
  box-sizing: border-box;
}

*, *::before, *::after {
  box-sizing: inherit;
}

img {
  height: auto;
  width: auto;
  max-width: 100%;
}



/* BOILERPLATE */

body,html{
  margin:0;
  font-size: 1em;
  line-height: 1.4;
}

body,
html,
button,
input,
select,
textarea {
    color: #000000;
    font-family: "Lato", Arial, Helvetica, sans-serif;
}


h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

h2 {
    font-size: 1.5em;
    margin: 0.83em 0;
}

#rightbox_form h2,
article h2,
h3 {
  font-size: var(--h2font);
  margin: 1em 0;
}

a {
  color: #ab2d9f;
}

a:hover {
  color: var(--hoverblue);
}

.container {
    max-width: 990px;
    margin:auto;
    overflow: hidden;
}


main aside {
    flex: 1;
}

h1,
h2 {
    color:#ab2d9f;
    font-size: var(--h1font);
}

#rightbox_form h2,
article h2,
h3 {
    color:#ab2d9f;
    margin:25px 0 15px 0;
    clear: both;
}


.col1 {
    display: none;
}

@media (min-width: 1350px) {
  .container {
      max-width: 1190px;
  }

  main aside {
      flex: 1.1;
  }

  h2 {
      font-size: 20px;
  }

}

@media (max-width: 1050px) {
  .col1 {
      display: inline;
  }

  .container {
      max-width: none;
      margin-left: 16px;
      margin-right: 16px;
  }

  .container aside {
      display: none;
  }


  .deskonly {
      display: none;
  }

  main h1 {
      font-size: 23px;
  }

  h2 {
      font-size: 18px;
  }

}




/* LOGO */

#logo {
    background: #000;
    text-align: center;
    color: #fff;
    padding-top: 16px;
    padding-bottom: 20px;
    font-size: 0;
}

#logo img{
    max-width: 365px;
}

#logo a {
  text-decoration: none;
}

#logo span#logosubtitle {
    display: block;
    font-size: 13px;
    letter-spacing: 2px;
    color:#fff;
    line-height: 16px;
    margin-top: 5px;
}

#logosprite {
    background:url(../img/logo.webp) left top no-repeat;
    width:101px;
    height:92px;
    display: inline-block;
    color:#fff;
    overflow: hidden;
    text-indent: -400px;
    margin: 0;
    padding: 0;
}

#logo a #logosprite:hover {
    background-position: 0 -95px;
}

#logo span,#logo img{
    cursor: pointer;
}

@media (max-width: 1050px) {
  #logo span {
      font-size: 0;
  }

  #logosprite {

      background-size: 70px auto;
      width:70px;
      height:64px;
      display: inline-block;
      color:#fff;
      overflow: hidden;
      text-indent: -400px;
      margin: 0;
      padding: 0;
  }


  #logo a #logosprite:hover  {
      background-position: 0 0px;
  }

  #logo img {
      max-width: 205px;
  }
}


/* NAVIGATION */



nav  {
    margin: auto;
    overflow: hidden;
    border-top:2px solid #fff;
    z-index: 100000;
    border-bottom: 2px solid #fff;
    font-size: 0;
}

nav ul {
    overflow: hidden;
    margin: 0 0 0 0;
    padding: 0;
    display: flex;
    gap: 2px;
}

nav ul li{
    flex: 1;
    font-size: var(--bodyfont);
    background: #000;
    box-sizing:border-box;
    text-align: center;
    color: #fff;
    font-weight: bold;
    transition:.3s;
}

nav ul li:hover{
    background:#ab2d9f;
}

nav ul li a{
    padding:8px 0 9px 0;
    color: #fff;
    display: block;
    text-decoration: none;
}

nav ul li a:hover{
    color: #fff;
}


@media (max-width: 1050px) {

  nav ul li {
      font-size: 15px;
  }

  nav ul {
     margin-top:0px;
  }

  nav ul li,.webdlink {
      width:33.333%;
  }

  nav ul li span{
      display: none;
  }

}


/* ARTICLE */

main {
  margin-top: var(--whitespace);
}

article p {
    font-size: var(--bodyfont);
    color:#000;
}

main h1 {
  margin-top: 0;
}


main {
  display: flex;
  gap: var(--whitespacemain);
}

main article {
    flex: 2;
}


@media (max-width: 1050px) {
  main {
    display: block;
  }
  article {
    max-width: 650px;
    margin-left: auto;
    margin-right: auto;
  }
}


/* FOOTER */

footer {
    background: #000;
    color:#fff;
    font-size: var(--bodyfontsmaller);
    width:100%;
    text-align: center;
    padding: 11px 0;
    font-weight: bold;
    margin-top: var(--whitespace);
}

footer a{
    color:#fff;
    text-decoration: none;
}

footer a:hover{
    color: var(--hoverblue);
}

@media (max-width: 1050px) {
    footer span{
        display: none;
    }
}


/* TAG CLOUD */



#tagcloud {
    font-size:14px;
    line-height: 23px;
    text-align: center;
    font-weight: bold;
    color: var(--lightgrey);
    padding:0px 25px 0px 20px;
    margin: var(--whitespace) 0;
}

#tagcloud a{
    text-decoration: none;
    color: var(--lightgrey);
}

#tagcloud a:hover,
#tagcloud .tagmedium a:hover,
#tagcloud .tagbig a:hover{
    color: var(--hoverblue);
}

#tagcloud .tagmedium {
    font-size:17px;
    color:#333333;
}

#tagcloud .tagmedium a{
    color:#333333;
}

#tagcloud .tagbig {
    font-size:18px;
    color:#ab2d9f;
}

#tagcloud .tagbig a{
    color: var(--hoverblue);
}




/* WORDPRESS JOOMLA AND MAGENTO LINKS */

#footerlinks {
    clear: both;
    margin: var(--whitespace) auto 0 auto;
    text-align: center;
    font-size: 0;
    overflow: hidden;
}


#footerlinks span.outerf{
    display: inline-block;
    width:33%;
    text-align: center;
}

#footerlinks .line {
    width:50%;
    background: #000;
    height: 2px;
    float: none;
    display: inline-block;
    margin: auto;
    max-width: 200px;
}

#footerlinks a:hover .line {
    background: var(--hoverblue);
}

#footerlinks .ftext {
    display: block;
    color: #000;
    font-size: 21px;
    text-decoration: none;
    font-weight: bold;
    padding-top: 13px;
}

#footerlinks a:hover .ftext {
    color: var(--hoverblue);
}

#footerlinks a {
    text-decoration: none;
}

#footerlinks .wordpress,
#tagcloud a.wordpress:hover,
main a.wordpress:hover{
    color:#2c73a1;
}

#footerlinks .magento,
#tagcloud a.magento:hover,
main a.magento:hover{
    color:#ee362a;
}

#footerlinks .joomla,
#tagcloud a.joomla:hover,
main a.joomla:hover {
    color: var(--joomlacolour);
}

#footerlinks a:hover,
#footerlinks a:hover .wordpress,
#footerlinks a:hover .magento,
#footerlinks a:hover .joomla{
    color: var(--hoverblue);
}

@media (max-width: 1050px) {


    #footerlinks span.outerf {
        width: 100%;
        float: none;
        margin-top: 20px;
    }


      #footerlinks .ftext {
          font-size: 22px;
      }

}



/* FOOTER LOGOS */

#logos {
  margin-top: var(--whitespace);
}

#logos ul li {
    float: left;
    list-style: none;
    line-height: 40px;
    text-align: center;
    width:20%;
}

#logos ul li img{
    max-height: 40px;
    filter: grayscale(100%);
}

#logos ul li a:hover img{
    filter: none;
}

#logos ul {
    margin: auto;
    width:50%;
    padding: 0;
}

@media (max-width: 1050px) {

    #logos {
      max-width: 600px;
      margin-left: auto;
      margin-right: auto;
    }

    #logos ul {
        width: 95%;
    }

    #logos {
        padding-left:40px;
        padding-right: 40px;
    }

    #logos ul li {
        width:33%;
    }


}



/* PORTFOLIO SCROLLER */


#portfolio2 {
  margin: var(--whitespace) auto;
  clear: both;
  max-height: 320px;
  overflow: hidden;
}

.portfoliotiny {
  text-align: center;
  font-size: 14px;
}

.portfoliotiny_name {
  margin-top: 15px;
  display: block;
}

.portfoliotiny_url {
  color: var(--lightgrey);
  display: block;
}

@media (max-width: 900px) {
  /* pagespeed insights fix */
  .portfoliotiny_name,
  .portfoliotiny_url {
    display: none;
  }

  #portfolio2 {
    max-height: 430px;
  }

  #tns1-item1 .portfoliotiny_name,
  #tns1-item1 .portfoliotiny_url,
  #tns1-item0 .portfoliotiny_name,
  #tns1-item0 .portfoliotiny_url {
    display: block;
  }

  .touched .portfoliotiny_name,
  .touched .portfoliotiny_url {
    display: block;
  }
}

/* Tinyslider styles http://ganlanyuan.github.io/tiny-slider/ */
.tns-outer{padding:0 !important}.tns-outer [hidden]{display:none !important}.tns-outer [aria-controls],.tns-outer [data-action]{cursor:pointer}.tns-slider{-webkit-transition:all 0s;-moz-transition:all 0s;transition:all 0s}.tns-slider>.tns-item{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.tns-horizontal.tns-subpixel{white-space:nowrap}.tns-horizontal.tns-subpixel>.tns-item{display:inline-block;vertical-align:top;white-space:normal}.tns-horizontal.tns-no-subpixel:after{content:'';display:table;clear:both}.tns-horizontal.tns-no-subpixel>.tns-item{float:left}.tns-horizontal.tns-carousel.tns-no-subpixel>.tns-item{margin-right:-100%}.tns-no-calc{position:relative;left:0}.tns-gallery{position:relative;left:0;min-height:1px}.tns-gallery>.tns-item{position:absolute;left:-100%;-webkit-transition:transform 0s, opacity 0s;-moz-transition:transform 0s, opacity 0s;transition:transform 0s, opacity 0s}.tns-gallery>.tns-slide-active{position:relative;left:auto !important}.tns-gallery>.tns-moving{-webkit-transition:all 0.25s;-moz-transition:all 0.25s;transition:all 0.25s}.tns-autowidth{display:inline-block}.tns-lazy-img{-webkit-transition:opacity 0.6s;-moz-transition:opacity 0.6s;transition:opacity 0.6s;opacity:0.6}.tns-lazy-img.tns-complete{opacity:1}.tns-ah{-webkit-transition:height 0s;-moz-transition:height 0s;transition:height 0s}.tns-ovh{overflow:hidden}.tns-visually-hidden{position:absolute;left:-10000em}.tns-transparent{opacity:0;visibility:hidden}.tns-fadeIn{opacity:1;filter:alpha(opacity=100);z-index:0}.tns-normal,.tns-fadeOut{opacity:0;filter:alpha(opacity=0);z-index:-1}.tns-vpfix{white-space:nowrap}.tns-vpfix>div,.tns-vpfix>li{display:inline-block}.tns-t-subp2{margin:0 auto;width:310px;position:relative;height:10px;overflow:hidden}.tns-t-ct{width:2333.3333333%;width:-webkit-calc(100% * 70 / 3);width:-moz-calc(100% * 70 / 3);width:calc(100% * 70 / 3);position:absolute;right:0}.tns-t-ct:after{content:'';display:table;clear:both}.tns-t-ct>div{width:1.4285714%;width:-webkit-calc(100% / 70);width:-moz-calc(100% / 70);width:calc(100% / 70);height:10px;float:left}



/* SIDE FORM */

#contform label {
    display: none;
    color:#fff;
}

#rightbox_form {
    background: #fff;
    border:1px solid var(--lightgrey);
    padding:24px 16px 12px 16px;
    margin: 58px 20px var(--whitespace) 20px;
}

#rightbox_form p {
  font-size: var(--bodyfont);
  text-align: center;
}

#rightbox_form input,
#rightbox_form textarea{
    width: 100%;
    box-sizing: border-box;
    margin:7px 0;
    font-size:  var(--bodyfont);
    border:1px solid #000;
    padding:5px;
}

#rightbox_form textarea{
    min-height: 130px;
}

#submitbutton {
    background: #000;
    border:0;
    font-size: var(--bodyfont);
    font-weight: bold;
    color: #fff;
    margin-top: 20px;
    text-transform: uppercase;
    transition:.3s;
    line-height: 30px;
    border:1px solid #000;
    padding: 0;
    cursor: pointer;
}

#rightbox_form input#submitbutton {
    padding: 0;
}

#submitbutton:hover {
    background: #ab2d9f;
}

#rightbox_form h2 {
    margin: 0px;
    text-align: center;
}




/* PROFILE BOXES */

#profileboxes {
    overflow: hidden;
    margin: var(--whitespace) 0 0 0;
    display: flex;
    gap: var(--whitespace);

}

.profilebox {
    flex: 1;
    box-sizing: border-box;
    display: inline-block;
}

.profilebox h2 {
  margin-top: 0;
  font-size: var(--h2font);
}


.profilebox p {
  font-size: var(--bodyfontsmaller);
}



.profilebox img{
    width:85px;
    margin:0 0px 0px 30px;
    float:right;
    border-radius: 5px;
    border:0px solid #ab2d9f;
}


@media (max-width: 1050px) {

  #profileboxes {
    display: block;
  }

  .profilebox {
      padding: 0px 0px 0px 0px;
      box-sizing: border-box;
      display: block;
      float: none;
      text-align: left;

  }

  #dombox {
    margin-top: var(--whitespace);
  }

  .profilebox img{
      width:90px;
      margin:-10px 0px 20px 20px;
  }
}
