Auto commit by GitHub Actions Workflow

This commit is contained in:
MooseBotter
2025-12-21 14:42:13 +00:00
parent 40387d0614
commit b07220b1f8
187 changed files with 23885 additions and 2570 deletions
+626 -13
View File
@@ -1340,6 +1340,17 @@
</div>
<div class="w3-container w3-padding w3-white picturebox" style="word-break:break-word;"><p>
<p><strong>Ops</strong> - Commander of Airwings, Brigades and Fleets.</p>
</p></div>
</div>
</div>
<div class="w3-col s12 m6 l4">
<div class="w3-card-4 w3-white w3-margin-16">
<div class="w3-display-container w3-text-white w3-text-shadow">
<img src= "../Images/AI_Air_To_Ground_Dispatching.JPG" alt="Image">
<div class="w3-display-bottommiddle" style="word-break:break-word;"><h2><strong><a href="Ops.EasyAG.html">Ops.EasyAG</a></strong></h2></div>
</div>
<div class="w3-container w3-padding w3-white picturebox" style="word-break:break-word;"><p>
<p><strong>Ops</strong> - Create your A2G Defenses.</p>
</p></div>
</div>
</div>
@@ -1350,15 +1361,7 @@
<div class="w3-display-bottommiddle" style="word-break:break-word;"><h2><strong><a href="Ops.EasyGCICAP.html">Ops.EasyGCICAP</a></strong></h2></div>
</div>
<div class="w3-container w3-padding w3-white picturebox" style="word-break:break-word;"><p>
<h2>Easy CAP/GCI Class, based on OPS classes</h2>
<h2>Documentation:</h2>
<p>https://flightcontrol-master.github.io/MOOSE_DOCS_DEVELOP/Documentation/Ops.EasyGCICAP.html</p>
<h2>Example Missions:</h2>
<p>Demo missions can be found on <a href="https://github.com/FlightControl-Master/MOOSE_MISSIONS/tree/develop/Ops/EasyGCICAP">github</a>.</p>
<p><strong>Ops</strong> - Create your A2A Defenses.</p>
</p></div>
</div>
</div>
@@ -2300,6 +2303,12 @@ end
<td class="name w3-half w3-container" style="word-wrap: break-word"><p><a href="##(INTEL).AddContactToCluster">INTEL:AddContactToCluster(contact, cluster)</a></p></td>
<td class="summary w3-half w3-container" style="word-wrap: break-word">
<p>Add a contact to the cluster.</p>
</td>
</tr>
<tr class="w3-border">
<td class="name w3-half w3-container" style="word-wrap: break-word"><p><a href="##(INTEL).AddCorridorZone">INTEL:AddCorridorZone(CorridorZone)</a></p></td>
<td class="summary w3-half w3-container" style="word-wrap: break-word">
<p>Add a corrdidor zone.</p>
</td>
</tr>
<tr class="w3-border">
@@ -2720,6 +2729,12 @@ end
<td class="name w3-half w3-container" style="word-wrap: break-word"><p><a href="##(INTEL).RemoveContactFromCluster">INTEL:RemoveContactFromCluster(contact, cluster)</a></p></td>
<td class="summary w3-half w3-container" style="word-wrap: break-word">
<p>Remove a contact from a cluster.</p>
</td>
</tr>
<tr class="w3-border">
<td class="name w3-half w3-container" style="word-wrap: break-word"><p><a href="##(INTEL).RemoveCorridorZone">INTEL:RemoveCorridorZone(CorridorZone)</a></p></td>
<td class="summary w3-half w3-container" style="word-wrap: break-word">
<p>Remove a corrdidor zone from the corrdidor zone set.</p>
</td>
</tr>
<tr class="w3-border">
@@ -2768,6 +2783,24 @@ end
<td class="name w3-half w3-container" style="word-wrap: break-word"><p><a href="##(INTEL).SetConflictZones">INTEL:SetConflictZones(ConflictZoneSet)</a></p></td>
<td class="summary w3-half w3-container" style="word-wrap: break-word">
<p>Set conflict zones.</p>
</td>
</tr>
<tr class="w3-border">
<td class="name w3-half w3-container" style="word-wrap: break-word"><p><a href="##(INTEL).SetCorridorLimits">INTEL:SetCorridorLimits(Floor, Ceiling)</a></p></td>
<td class="summary w3-half w3-container" style="word-wrap: break-word">
<p>[Air] Add corrdidor zone floor and height.</p>
</td>
</tr>
<tr class="w3-border">
<td class="name w3-half w3-container" style="word-wrap: break-word"><p><a href="##(INTEL).SetCorridorLimitsFeet">INTEL:SetCorridorLimitsFeet(Floor, Ceiling)</a></p></td>
<td class="summary w3-half w3-container" style="word-wrap: break-word">
<p>[Air] Add corrdidor zone floor and height.</p>
</td>
</tr>
<tr class="w3-border">
<td class="name w3-half w3-container" style="word-wrap: break-word"><p><a href="##(INTEL).SetCorridorZones">INTEL:SetCorridorZones(CorridorZoneSet)</a></p></td>
<td class="summary w3-half w3-container" style="word-wrap: break-word">
<p>Set corrdidor zones.</p>
</td>
</tr>
<tr class="w3-border">
@@ -2791,7 +2824,7 @@ end
<tr class="w3-border">
<td class="name w3-half w3-container" style="word-wrap: break-word"><p><a href="##(INTEL).SetForgetTime">INTEL:SetForgetTime(TimeInterval)</a></p></td>
<td class="summary w3-half w3-container" style="word-wrap: break-word">
<p><strong>OBSOLETE, will be removed in next version!</strong> Set forget contacts time interval.</p>
<p><strong>OBSOLETE, not functional!</strong> Set forget contacts time interval.</p>
</td>
</tr>
<tr class="w3-border">
@@ -2845,7 +2878,7 @@ end
<tr class="w3-border">
<td class="name w3-half w3-container" style="word-wrap: break-word"><p><a href="##(INTEL)._CheckClusterCoordinateChanged">INTEL:_CheckClusterCoordinateChanged(Cluster, Threshold, Coordinate)</a></p></td>
<td class="summary w3-half w3-container" style="word-wrap: break-word">
<p>Check if the coorindate of the cluster changed.</p>
<p>Check if the coordindate of the cluster changed.</p>
</td>
</tr>
<tr class="w3-border">
@@ -2972,6 +3005,24 @@ end
<td class="name w3-half w3-container" style="word-wrap: break-word"><p><a href="##(INTEL).conflictzoneset">INTEL.conflictzoneset</a></p></td>
<td class="summary w3-half w3-container" style="word-wrap: break-word">
<p>Set of conflict zones. Contacts in these zones are considered, even if they are not in accept zones or if they are in reject zones.</p>
</td>
</tr>
<tr class="w3-border">
<td class="name w3-half w3-container" style="word-wrap: break-word"><p><a href="##(INTEL).corridorceiling">INTEL.corridorceiling</a></p></td>
<td class="summary w3-half w3-container" style="word-wrap: break-word">
<p>[Air] Contacts above this height (ASL!) are considered, even if they are in a corridor zone.</p>
</td>
</tr>
<tr class="w3-border">
<td class="name w3-half w3-container" style="word-wrap: break-word"><p><a href="##(INTEL).corridorfloor">INTEL.corridorfloor</a></p></td>
<td class="summary w3-half w3-container" style="word-wrap: break-word">
<p>[Air] Contacts below this height (ASL!) are considered, even if they are in a corridor zone.</p>
</td>
</tr>
<tr class="w3-border">
<td class="name w3-half w3-container" style="word-wrap: break-word"><p><a href="##(INTEL).corridorzoneset">INTEL.corridorzoneset</a></p></td>
<td class="summary w3-half w3-container" style="word-wrap: break-word">
<p>Set of corridor zones. Contacts in these zones are never considered. Also see corridorfloorheight and corridorfloorceiling.</p>
</td>
</tr>
<tr class="w3-border">
@@ -5425,6 +5476,72 @@ When Moose is loaded statically, (as one file), tracing is switched off by defau
<p>Types of units we can detect accousticly. Defaults to {Unit.Category.HELICOPTER}</p>
</div>
</div>
<div>
<div class="w3-card-2 w3-padding-small w3-margin-top">
#boolean
<a id="#(INTEL).DetectDLINK" ><strong>INTEL.DetectDLINK</strong></a>
</div>
</div>
<div>
<div class="w3-card-2 w3-padding-small w3-margin-top">
#boolean
<a id="#(INTEL).DetectIRST" ><strong>INTEL.DetectIRST</strong></a>
</div>
</div>
<div>
<div class="w3-card-2 w3-padding-small w3-margin-top">
#boolean
<a id="#(INTEL).DetectOptical" ><strong>INTEL.DetectOptical</strong></a>
</div>
</div>
<div>
<div class="w3-card-2 w3-padding-small w3-margin-top">
#boolean
<a id="#(INTEL).DetectRWR" ><strong>INTEL.DetectRWR</strong></a>
</div>
</div>
<div>
<div class="w3-card-2 w3-padding-small w3-margin-top">
#boolean
<a id="#(INTEL).DetectRadar" ><strong>INTEL.DetectRadar</strong></a>
</div>
</div>
<div>
<div class="w3-card-2 w3-padding-small w3-margin-top">
#boolean
<a id="#(INTEL).DetectVisual" ><strong>INTEL.DetectVisual</strong></a>
</div>
</div>
@@ -5548,6 +5665,39 @@ When Moose is loaded statically, (as one file), tracing is switched off by defau
</div>
</div>
<div>
<div class="w3-card-2 w3-padding-small w3-margin-top">
#number
<a id="#(INTEL).corridorceiling" ><strong>INTEL.corridorceiling</strong></a>
<p>[Air] Contacts above this height (ASL!) are considered, even if they are in a corridor zone.</p>
</div>
</div>
<div>
<div class="w3-card-2 w3-padding-small w3-margin-top">
#number
<a id="#(INTEL).corridorfloor" ><strong>INTEL.corridorfloor</strong></a>
<p>[Air] Contacts below this height (ASL!) are considered, even if they are in a corridor zone.</p>
</div>
</div>
<div>
<div class="w3-card-2 w3-padding-small w3-margin-top">
<a href="Core.Set.html##(SET_ZONE)">Core.Set#SET_ZONE</a>
<a id="#(INTEL).corridorzoneset" ><strong>INTEL.corridorzoneset</strong></a>
<p>Set of corridor zones. Contacts in these zones are never considered. Also see corridorfloorheight and corridorfloorceiling.</p>
</div>
</div>
<div>
<div class="w3-card-2 w3-padding-small w3-margin-top">
@@ -5899,6 +6049,54 @@ Note that conflict zones overrule all other zones, i.e. if a unit is outside of
</div>
</div>
</div>
</div>
<div class="w3-card-2 w3-padding-small w3-margin-top">
<div class="w3-theme-l2">
<h2><a id="#(INTEL).AddCorridorZone" ><strong>INTEL:AddCorridorZone(CorridorZone)</strong></a></h2>
</div>
<p>Add a corrdidor zone.</p>
<p>Contacts detected in this zone are corrdidored and not reported by the detection.
Note that corrdidor zones overrule all other zones, for exceptions see corridor floor and corridor ceiling heights.</p>
<div id= "#Functions##AddCorridorZone" class="w3-show w3-white">
<div class="w3-container w3-white" id="functiontype">
<h2><strong>Defined in:</strong></h2>
<div class="w3-margin-left">
<p>INTEL</p>
</div>
<h2><strong>Parameter:</strong></h2>
<div class="w3-row w3-margin-left w3-border-bottom w3-border-l2">
<div class="w3-half">
<p>
<a href="Core.Zone.html##(ZONE)">Core.Zone#ZONE</a>
<strong><strong>CorridorZone</strong></strong>
</p>
</div>
<div class="w3-half">
<p>Add a zone to the corrdidor zone set.</p>
</div>
</div>
<h2><strong>Return value:</strong></h2>
<div class="w3-row w3-border-bottom w3-margin-left">
<div class="w3-half">
<p><a href="##(INTEL)">#INTEL</a>:</p>
</div>
<div class="w3-half">
<p>self</p>
</div>
</div>
</div>
</div>
</div>
@@ -8354,6 +8552,53 @@ If no detection method is given, the detection will use all the available method
</div>
</div>
</div>
</div>
<div class="w3-card-2 w3-padding-small w3-margin-top">
<div class="w3-theme-l2">
<h2><a id="#(INTEL).RemoveCorridorZone" ><strong>INTEL:RemoveCorridorZone(CorridorZone)</strong></a></h2>
</div>
<p>Remove a corrdidor zone from the corrdidor zone set.</p>
<p>Note that corrdidor zones overrule all other zones, for exceptions see corridor floor and corridor ceiling heights.</p>
<div id= "#Functions##RemoveCorridorZone" class="w3-show w3-white">
<div class="w3-container w3-white" id="functiontype">
<h2><strong>Defined in:</strong></h2>
<div class="w3-margin-left">
<p>INTEL</p>
</div>
<h2><strong>Parameter:</strong></h2>
<div class="w3-row w3-margin-left w3-border-bottom w3-border-l2">
<div class="w3-half">
<p>
<a href="Core.Zone.html##(ZONE)">Core.Zone#ZONE</a>
<strong><strong>CorridorZone</strong></strong>
</p>
</div>
<div class="w3-half">
<p>Remove a zone from the corrdidor zone set.</p>
</div>
</div>
<h2><strong>Return value:</strong></h2>
<div class="w3-row w3-border-bottom w3-margin-left">
<div class="w3-half">
<p><a href="##(INTEL)">#INTEL</a>:</p>
</div>
<div class="w3-half">
<p>self</p>
</div>
</div>
</div>
</div>
</div>
@@ -8744,6 +8989,176 @@ Note that conflict zones overrule all other zones, i.e. if a unit is outside of
</div>
</div>
</div>
</div>
<div class="w3-card-2 w3-padding-small w3-margin-top">
<div class="w3-theme-l2">
<h2><a id="#(INTEL).SetCorridorLimits" ><strong>INTEL:SetCorridorLimits(Floor, Ceiling)</strong></a></h2>
</div>
<p>[Air] Add corrdidor zone floor and height.</p>
<p>Are considered as ASL (above sea level or barometric) values.
Overrides corridor exception for objects flying outside this limitations.</p>
<div id= "#Functions##SetCorridorLimits" class="w3-show w3-white">
<div class="w3-container w3-white" id="functiontype">
<h2><strong>Defined in:</strong></h2>
<div class="w3-margin-left">
<p>INTEL</p>
</div>
<h2><strong>Parameters:</strong></h2>
<div class="w3-row w3-margin-left w3-border-bottom w3-border-l2">
<div class="w3-half">
<p>
#number
<strong><strong>Floor</strong></strong>
</p>
</div>
<div class="w3-half">
<p>Floor altitude in meters.</p>
</div>
</div>
<div class="w3-row w3-margin-left w3-border-bottom w3-border-l2">
<div class="w3-half">
<p>
#number
<strong><strong>Ceiling</strong></strong>
</p>
</div>
<div class="w3-half">
<p>Ceiling altitude in meters.</p>
</div>
</div>
<h2><strong>Return value:</strong></h2>
<div class="w3-row w3-border-bottom w3-margin-left">
<div class="w3-half">
<p><a href="##(INTEL)">#INTEL</a>:</p>
</div>
<div class="w3-half">
<p>self</p>
</div>
</div>
</div>
</div>
</div>
<div class="w3-card-2 w3-padding-small w3-margin-top">
<div class="w3-theme-l2">
<h2><a id="#(INTEL).SetCorridorLimitsFeet" ><strong>INTEL:SetCorridorLimitsFeet(Floor, Ceiling)</strong></a></h2>
</div>
<p>[Air] Add corrdidor zone floor and height.</p>
<p>Are considered as ASL (above sea level or barometric) values.
Overrides corridor exception for objects flying outside this limitations.</p>
<div id= "#Functions##SetCorridorLimitsFeet" class="w3-show w3-white">
<div class="w3-container w3-white" id="functiontype">
<h2><strong>Defined in:</strong></h2>
<div class="w3-margin-left">
<p>INTEL</p>
</div>
<h2><strong>Parameters:</strong></h2>
<div class="w3-row w3-margin-left w3-border-bottom w3-border-l2">
<div class="w3-half">
<p>
#number
<strong><strong>Floor</strong></strong>
</p>
</div>
<div class="w3-half">
<p>Floor altitude in feet.</p>
</div>
</div>
<div class="w3-row w3-margin-left w3-border-bottom w3-border-l2">
<div class="w3-half">
<p>
#number
<strong><strong>Ceiling</strong></strong>
</p>
</div>
<div class="w3-half">
<p>Ceiling altitude in feet.</p>
</div>
</div>
<h2><strong>Return value:</strong></h2>
<div class="w3-row w3-border-bottom w3-margin-left">
<div class="w3-half">
<p><a href="##(INTEL)">#INTEL</a>:</p>
</div>
<div class="w3-half">
<p>self</p>
</div>
</div>
</div>
</div>
</div>
<div class="w3-card-2 w3-padding-small w3-margin-top">
<div class="w3-theme-l2">
<h2><a id="#(INTEL).SetCorridorZones" ><strong>INTEL:SetCorridorZones(CorridorZoneSet)</strong></a></h2>
</div>
<p>Set corrdidor zones.</p>
<p>Contacts detected in this/these zone(s) are never reported by the detection.
Note that corrdidor zones overrule all other zones, for exceptions see corridor floor and corridor ceiling heights.</p>
<div id= "#Functions##SetCorridorZones" class="w3-show w3-white">
<div class="w3-container w3-white" id="functiontype">
<h2><strong>Defined in:</strong></h2>
<div class="w3-margin-left">
<p>INTEL</p>
</div>
<h2><strong>Parameter:</strong></h2>
<div class="w3-row w3-margin-left w3-border-bottom w3-border-l2">
<div class="w3-half">
<p>
<a href="Core.Set.html##(SET_ZONE)">Core.Set#SET_ZONE</a>
<strong><strong>CorridorZoneSet</strong></strong>
</p>
</div>
<div class="w3-half">
<p>Set of corrdidor zone(s).</p>
</div>
</div>
<h2><strong>Return value:</strong></h2>
<div class="w3-row w3-border-bottom w3-margin-left">
<div class="w3-half">
<p><a href="##(INTEL)">#INTEL</a>:</p>
</div>
<div class="w3-half">
<p>self</p>
</div>
</div>
</div>
</div>
</div>
@@ -8961,7 +9376,7 @@ Note that conflict zones overrule all other zones, i.e. if a unit is outside of
<h2><a id="#(INTEL).SetForgetTime" ><strong>INTEL:SetForgetTime(TimeInterval)</strong></a></h2>
</div>
<p><strong>OBSOLETE, will be removed in next version!</strong> Set forget contacts time interval.</p>
<p><strong>OBSOLETE, not functional!</strong> Set forget contacts time interval.</p>
<p>Previously known contacts that are not detected any more, are "lost" after this time.
@@ -9324,7 +9739,7 @@ Note that reject zones overrule accept zones, i.e. if a unit is inside an accept
<h2><a id="#(INTEL)._CheckClusterCoordinateChanged" ><strong>INTEL:_CheckClusterCoordinateChanged(Cluster, Threshold, Coordinate)</strong></a></h2>
</div>
<p>Check if the coorindate of the cluster changed.</p>
<p>Check if the coordindate of the cluster changed.</p>
<div id= "#Functions##_CheckClusterCoordinateChanged" class="w3-show w3-white">
<div class="w3-container w3-white" id="functiontype">
@@ -10411,6 +10826,72 @@ Note that reject zones overrule accept zones, i.e. if a unit is inside an accept
<p>Types of units we can detect accousticly. Defaults to {Unit.Category.HELICOPTER}</p>
</div>
</div>
<div>
<div class="w3-card-2 w3-padding-small w3-margin-top">
#boolean
<a id="#(INTEL).DetectDLINK" ><strong>INTEL.DetectDLINK</strong></a>
</div>
</div>
<div>
<div class="w3-card-2 w3-padding-small w3-margin-top">
#boolean
<a id="#(INTEL).DetectIRST" ><strong>INTEL.DetectIRST</strong></a>
</div>
</div>
<div>
<div class="w3-card-2 w3-padding-small w3-margin-top">
#boolean
<a id="#(INTEL).DetectOptical" ><strong>INTEL.DetectOptical</strong></a>
</div>
</div>
<div>
<div class="w3-card-2 w3-padding-small w3-margin-top">
#boolean
<a id="#(INTEL).DetectRWR" ><strong>INTEL.DetectRWR</strong></a>
</div>
</div>
<div>
<div class="w3-card-2 w3-padding-small w3-margin-top">
#boolean
<a id="#(INTEL).DetectRadar" ><strong>INTEL.DetectRadar</strong></a>
</div>
</div>
<div>
<div class="w3-card-2 w3-padding-small w3-margin-top">
#boolean
<a id="#(INTEL).DetectVisual" ><strong>INTEL.DetectVisual</strong></a>
</div>
</div>
@@ -10534,6 +11015,39 @@ Note that reject zones overrule accept zones, i.e. if a unit is inside an accept
</div>
</div>
<div>
<div class="w3-card-2 w3-padding-small w3-margin-top">
#number
<a id="#(INTEL).corridorceiling" ><strong>INTEL.corridorceiling</strong></a>
<p>[Air] Contacts above this height (ASL!) are considered, even if they are in a corridor zone.</p>
</div>
</div>
<div>
<div class="w3-card-2 w3-padding-small w3-margin-top">
#number
<a id="#(INTEL).corridorfloor" ><strong>INTEL.corridorfloor</strong></a>
<p>[Air] Contacts below this height (ASL!) are considered, even if they are in a corridor zone.</p>
</div>
</div>
<div>
<div class="w3-card-2 w3-padding-small w3-margin-top">
<a href="Core.Set.html##(SET_ZONE)">Core.Set#SET_ZONE</a>
<a id="#(INTEL).corridorzoneset" ><strong>INTEL.corridorzoneset</strong></a>
<p>Set of corridor zones. Contacts in these zones are never considered. Also see corridorfloorheight and corridorfloorceiling.</p>
</div>
</div>
<div>
<div class="w3-card-2 w3-padding-small w3-margin-top">
@@ -12197,6 +12711,72 @@ Note that reject zones overrule accept zones, i.e. if a unit is inside an accept
<p>Types of units we can detect accousticly. Defaults to {Unit.Category.HELICOPTER}</p>
</div>
</div>
<div>
<div class="w3-card-2 w3-padding-small w3-margin-top">
#boolean
<a id="#(INTEL).DetectDLINK" ><strong>INTEL.DetectDLINK</strong></a>
</div>
</div>
<div>
<div class="w3-card-2 w3-padding-small w3-margin-top">
#boolean
<a id="#(INTEL).DetectIRST" ><strong>INTEL.DetectIRST</strong></a>
</div>
</div>
<div>
<div class="w3-card-2 w3-padding-small w3-margin-top">
#boolean
<a id="#(INTEL).DetectOptical" ><strong>INTEL.DetectOptical</strong></a>
</div>
</div>
<div>
<div class="w3-card-2 w3-padding-small w3-margin-top">
#boolean
<a id="#(INTEL).DetectRWR" ><strong>INTEL.DetectRWR</strong></a>
</div>
</div>
<div>
<div class="w3-card-2 w3-padding-small w3-margin-top">
#boolean
<a id="#(INTEL).DetectRadar" ><strong>INTEL.DetectRadar</strong></a>
</div>
</div>
<div>
<div class="w3-card-2 w3-padding-small w3-margin-top">
#boolean
<a id="#(INTEL).DetectVisual" ><strong>INTEL.DetectVisual</strong></a>
</div>
</div>
@@ -12320,6 +12900,39 @@ Note that reject zones overrule accept zones, i.e. if a unit is inside an accept
</div>
</div>
<div>
<div class="w3-card-2 w3-padding-small w3-margin-top">
#number
<a id="#(INTEL).corridorceiling" ><strong>INTEL.corridorceiling</strong></a>
<p>[Air] Contacts above this height (ASL!) are considered, even if they are in a corridor zone.</p>
</div>
</div>
<div>
<div class="w3-card-2 w3-padding-small w3-margin-top">
#number
<a id="#(INTEL).corridorfloor" ><strong>INTEL.corridorfloor</strong></a>
<p>[Air] Contacts below this height (ASL!) are considered, even if they are in a corridor zone.</p>
</div>
</div>
<div>
<div class="w3-card-2 w3-padding-small w3-margin-top">
<a href="Core.Set.html##(SET_ZONE)">Core.Set#SET_ZONE</a>
<a id="#(INTEL).corridorzoneset" ><strong>INTEL.corridorzoneset</strong></a>
<p>Set of corridor zones. Contacts in these zones are never considered. Also see corridorfloorheight and corridorfloorceiling.</p>
</div>
</div>
<div>
<div class="w3-card-2 w3-padding-small w3-margin-top">