
/*=======================================
    Farbcodes
=========================================*/

.color-pt-blue {
	background-color:#4E97CF;
	color:#ffffff;
}
.color-pt-grey {
	background-color:#393533;
	color:#ffffff;
}
.color-pt-blue-dark{
	background-color:#2E3556;
	color:#ffffff;
}
.color-blue-one {
	background-color:#007AFF;
	color:#ffffff;
}
.color-white {
   background-color:#ffffff;
}
.color-lightgrey {
	background-color:#eee;
}

:root{
	--pt-blue:#4E97CF;
	--pt-grey:#393533;
	--blue-one:#007AFF;
	--white:#ffffff;
	--black:#000000;
}

/*=======================================
    Default
=========================================*/
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

html {
	font-family: sans-serif;
	-webkit-tap-highlight-color: transparent;
}
.text-center {
    text-align:center;
}
body { 
	margin: 0;
	background-color: #0A0C12;
	background-image: url('../img/webpage/bg_1_light.png');
	background-repeat: repeat;
	background-size: auto;
  	background-attachment: fixed;
	background-position: center;
}
#home {
    padding-top: 400px;
    padding-bottom:50px;
    color:#fff;
}
@media screen and (max-width: 1000px) {
  #home {
     padding-top: 100px;
  }
}
.head-main {
    font-size:80px ;
    font-weight:900;
}
.head-sub-main {
    font-size:40px ;
    font-weight:600;
    padding:5px 20px 10px 20px;
}
.head-last {
    font-size:20px ;
    font-weight:300;
    padding:5px 20px 20px 20px;
}
.logo{
	max-width:60%;
}

/*=======================================
    Font-Styles
=========================================*/

h1 {
	line-height:50px;
    font-weight:900;
    font-size:4vw;
    text-transform:uppercase;
}
h1:before {
	content: '';
	display: block;
	position: absolute;
	width: 120px;
	height: 1px;
	background: #fff;
	margin: auto;
	left: -150px;
	right: 0;
}
h1:after {
	content: '';
	display: block;
	position: absolute;
	width: 120px;
	height: 1px;
	background: #fff;
	margin: auto;
	left: 0;
	right: -150px;
}
h2 {
	orphans: 3;
	widows: 3;
}
h3 {
	page-break-after: avoid;
}

@media screen and (min-width: 1000px) {
  h1 {
     font-size: 40px;
  }
}

/*=======================================
    General
=========================================*/
.navline{
	height:auto;
	padding-top:20px;
	padding-bottom:10px;
	padding-right:5vw;
	padding-left: 5vw;
	width:100%;
	position:fixed;
	background-color:rgba(23, 20, 29, 0.95);
	z-index:2;
	font-size: calc(14px + 3 * ((100vw - 320px) / 680));
}

.navline div{
	display: absolute;
	color: #fff;
	vertical-align: middle;
	text-align: center!important;
}

.navline div img{
	width: calc(15px + 1vw);
	height: calc(15px + 1vw);
}

.titleline3{
	background-image: url('../img/webpage/bg_1.png');
	background-repeat: repeat;
	background-color:#2E3556;
	background-size: 50px 20px;
	color:#ffffff;
	height:auto;
	padding-top: 5px;
	padding-bottom: 3px;
	text-align: center;
    font-weight:100;
    font-size: calc(32px + 6 * ((100vw - 320px) / 680));
	font-family: Georgia;
	margin-top:5px;
	margin-bottom:5px;
	letter-spacing: 0.05em;
	-webkit-box-shadow: inset 0px 0px 50px 5px #2E3556; 
	box-shadow: inset 0px 0px 50px 5px #2E3556;
}

.titleline{
	color:#ffffff;
	background-color:#000000;
	opacity:0.8;
	height:auto;
	padding-top:8px;
	padding-bottom:6px;
	text-align:center;
    font-weight:100;
    font-size:calc(20px + 6 * ((100vw - 320px) / 680));
	font-family:Arial;
	font-style:
	margin-bottom:5px;
	margin-left:2px;
	margin-right:2px;
	border-style:solid;
	border-width:2px;
	border-color:#ffffff;
}

.link{
	color:#ffffff;
	font-style:normal;
	text-decoration: none;
}
.link:hover{
	text-decoration: underline;
}
.link:visited {
	color:#ffffff;
	font-style:normal;
	text-decoration: none;
}
.link:active {
	color:#ffffff;
	font-style:normal;
	text-decoration: none;
}

.container {
	padding-right: 15px;
	padding-left: 15px;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
}

button {
	margin: 0;
	overflow: visible;
	text-transform: none;
	-webkit-appearance: button;
	cursor: default;
	padding:0;
	border:0;
}

@media (min-width:1400px) {
	.container {
		width: 1400px
	}
}

/*=======================================
    Services
=========================================*/

.service {
	width: 500px;
	max-width: 80%;
	min-height: 420px;
	background-color: #F2F4F6;
    padding:20px;
    margin-bottom:30px;
	position: relative;
	white-space: normal;
    list-style: none;
    text-align: top;
	display: inline-block;
	vertical-align:top;
}
.service > i {
    color:#2E3556;
}

/*=======================================
    Plans
=========================================*/

.plan {
	vertical-align: top;
	white-space: normal;
	width: 300px;
	height: 450px;
    background: var(--white);
    padding: 0 0 15px 0;
    margin: 30px 2px;
    list-style: none;
    text-align: center;
	display: inline-block;
  
    -webkit-transition: all 0.1s ease;
       -moz-transition: all 0.1s ease;
         -o-transition: all 0.1s ease;
            transition: all 0.1s ease;
}
.plan:hover {
    -webkit-transform: scale(1.03);
       -moz-transform: scale(1.03);
        -ms-transform: scale(1.03);
         -o-transform: scale(1.03);
            transform: scale(1.03);
}
.plan li {
    padding: 15px 0px;
    color: var(--black);
    
}

.plan li.plan-head {
	padding: 15px 0;
	background-color: var(--white);
	color: var(--black);
	line-height: 20px;
	font-size: 20px;
	font-weight: 600;
	border: none;
}

.plan li.main-content {
	padding: 25px 0;
	background-color: #2E3556;
	color: var(--white);
	border: none;
	font-weight: 900;
	font-size: 30px;
}

/*=======================================
    Sidescroll
=========================================*/
.sscontainer {
	height: 30vh;
	width: 100%;
	overflow-x: scroll;
	overflow-y: hidden;
	white-space: nowrap;
	padding-left: 15vh;
	padding-right: 15vh;
	padding-top: 3vh;
	padding-bottom: 3vh;
	scroll-behavior: smooth;
}

.sscontainer img {
	display: inline-block;
	height: 22.5vh;
	width: 22.5vh;
	background-color: #1F243A;
	border-radius: 10px;
	box-shadow: -1rem 0 1rem rgba(0, 0, 0, 0.5);
	transition: 0.4s ease-out;
	position: relative;
	padding: 10px;
}

.sscontainer img:not(:first-child) {
    margin-left: -7.5vh;
}

.sscontainer img:hover {
	transform: translateX(-7vh);
	transition: 0.4s ease-out;
}

.scrolldots{
	width: 100%;
	height: calc(20px + 3vh);
	background-color: #fff;
	text-align: center;
}

.scrolldots span {
	display: inline-block;
	width: calc(10px + 2vh);
	height: calc(5px + 1vh);
	border-radius: 3px;
	background-color: #2E3556;
	margin-right: 1.5vw;
	cursor: pointer;
}

@media (max-width: 600px) {
	.scrolldots li {
		display: none;
	}
}


/*=======================================
    Stats
=========================================*/

.stats {
	width: 20%;
    min-width: 200px;
    min-height: 100px;
    color:#444;
	vertical-align: top;
	white-space: normal;
    list-style: none;
    text-align: center;
	display: inline-block;
}
.stats > h3 {
    font-size:60px;
    font-weight:900;
}

/*=======================================
    Contact Form
=========================================*/

.form-control {
	display: block;
	width: 95%;
	height: 36px;
	padding-top: 12px;
	padding-bottom: 12px;
	padding-left: 10px;
	margin-top: 12px;
	margin-bottom: 12px;
	font-size: 14px;
	line-height: 1.42857143;
	color: #555;
	background-color: #fff;
	background-image: none;
	border: 1px solid #ccc;
	border-radius: 1px;
}

.form-control:focus {
	border: 1px solid #ccc;
	border-radius: 1px;
	outline: 0;
}

.btn {
	width: 200px;
	height: 50px;
	margin-top: 12px;
	margin-bottom: 12px;
	font-size: 14px;
	font-weight: 400;
	line-height: 0.42857143;
	text-align: center;
	vertical-align: middle;
	cursor: pointer;
	background-image: none;
	border: 1px solid transparent;
	border-radius: 1px
}

/*=======================================
    General
=========================================*/

.btn-group-vertical>.btn-group:after, .btn-group-vertical>.btn-group:before, .container:after, .container:before, .nav:after, .nav:before, .row:after, .row:before {
	display: table;
	content: " ";
}
.btn-group-vertical>.btn-group:after, .container:after, .nav:after, .row:after {
	clear: both;
}

/*=======================================
    Clients
=========================================*/

.client {
	width: 420px;
	max-width: 80%;
	height: auto;
	background-color: #F2F4F6;
    padding:5px;
    margin-bottom:0px;
	position: relative;
	white-space: normal;
    list-style: none;
    text-align: left;
	display: inline-block;
	vertical-align:center;
}

/*=======================================
    File Transfer
=========================================*/

.upload form {
  	display: flex;
  	flex-wrap: wrap;
	width: 600px;
}
.upload form label {
  	width: 500px;
	height: 55px;
  	padding: 3px;
 	margin-top: 5px;
  	background-color: #1254b6;
  	border: 0;
  	cursor: pointer;
  	font-weight: bold;
  	color: #ffffff;
  	transition: background-color 0.2s;
	justify-content: center;
    align-items: center;
	text-align: center;
	vertical-align: middle;
}
.upload form input[type="file"] {
	display: none;
  	width: 500px;
	height: 55px;
  	padding: 15px;
 	margin-top: 20px;
  	background-color: #1254b6;
  	border: 0;
  	cursor: pointer;
  	font-weight: bold;
  	color: #ffffff;
  	transition: background-color 0.2s;
}

.upload form input[type="submit"] {
	width: 500px;
	height: 30px;
  	padding: 5px;
 	margin-top: 5px;
  	background-color: #3274d6;
  	border: 0;
  	cursor: pointer;
  	font-weight: bold;
  	color: #ffffff;
  	transition: background-color 0.2s;
	
	box-shadow: 0 0 0 0 rgba(60, 76, 232, 0.7);
	-webkit-animation: pulse 1.25s infinite cubic-bezier(0.66, 0, 0, 1);
	-moz-animation: pulse 1.25s infinite cubic-bezier(0.66, 0, 0, 1);
	-ms-animation: pulse 1.25s infinite cubic-bezier(0.66, 0, 0, 1);
	animation: pulse 1.25s infinite cubic-bezier(0.66, 0, 0, 1);
}

@-webkit-keyframes pulse {to {box-shadow: 0 0 0 20px rgba(232, 76, 61, 0);}}
@-moz-keyframes pulse {to {box-shadow: 0 0 0 20px rgba(232, 76, 61, 0);}}
@-ms-keyframes pulse {to {box-shadow: 0 0 0 20px rgba(232, 76, 61, 0);}}
@keyframes pulse {to {box-shadow: 0 0 0 20px rgba(232, 76, 61, 0);}}

.upload form input:hover {
	background-color: #2868c7;
  	transition: background-color 0.2s;
}
.upload form label:hover {
	background-color: #0244a6;
  	transition: background-color 0.2s;
}

/*=======================================
    Ordered Lists (Admin-File-Browser)
=========================================*/

.tree li {
    margin: 0px 0;
	list-style-type: none;
    position: relative;
	padding: 20px 5px 0px 0px;
	left: -13px;
}

.tree li::before {
    content: '';
	position: absolute; 
    top: 0;
	width: 1px; 
    height: 100%;
	right: auto; 
    left: -20px;
	border-left: 1px solid #ccc;
    bottom: 50px;
}

.tree li::after {
    content: '';
	position: absolute; 
    top: 30px; 
	width: 15px;
    height: 20px;
	right: auto;
    left: -20px;
	border-top: 1px solid #ccc;
}

.tree > ul > li::before, .tree > ul > li::after{
	border: 0;
}

.tree li:last-child::before{ 
      height: 30px;
}

/*=======================================
    Contact Detail Box
=========================================*/

.contactbox {
}

@media (max-width:750px) {
	.contactbox {
		display: none;
	}
}